海龟作图

  • 1.海龟移动和绘制
  • 2.获取海龟的状态
  • 3.设置与度量单位
  • 4.画笔绘图状态
  • 5.画笔颜色控制
  • 6.填充
  • 7.更多绘图控制
  • 8.海龟可见性
  • 9.海龟外观
  • 10.使用事件
  • 11.特殊海龟方法

1.海龟移动和绘制

forward(distance) 前进
backward(distance) 后退
right(degree)右转
默认为角度
left(degree) 左转
默认为角度
goto(newX,newY) | setpos(newX,newY) | setposition(newX,newY) 前往/定位
不设置penup()时,会产生画迹
setx(newX) 设置x坐标
相当于goto(newX,formerY),不设置penup()时,会产生画迹
sety() 设置y坐标
相当于goto(newX,formerY),不设置penup()时,会产生画迹
setheading(to_angel) 设置朝向
0-东;90-北;180-西;270-南
相当于left(degree),因为海龟默认初始指向东
home() 返回原点并改海龟朝向为初始朝向
相当于goto(0,0) 和setheading(0)的合作用 ,不设置penup()时,会产生画迹
circle(radius, extent=None, steps=None) 画圆周/正多边形
radius是半径,也就是圆心位于海龟的左边,距离海龟radius【注意海龟朝向】
extent是所绘制圆周的圆心角大小,单位为°,缺省为360°
steps:用来画正多边形,缺省会拟合为圆
dot(size=None, *color) 画点
在海龟所处位置画点
size是点的大小,为整型;缺省为默认值
*color是点的颜色的英文单词,为字符串类型
stamp() 印章
在海龟当前位置绘制一个海龟形状【需要提前设置海龟形状,缺省为箭头形状】,并返回该印章的id【需要print(t.stamp())或及时赋值给其他变量stamp_id=t.stamp()】
clearstamp(stamp_id) 清除印章
参数必须是stamp()函数返回
clearstamps(n) 清除多个印章
n缺省为清除全部印章
n为正数是清除前几个印章
n为负数是清除后几个印章【前后次序以印章出现顺序为准】
undo() 撤消
没有参数。撤消 (或连续撤消) 最近的一个 (或多个) 海龟动作。可撤消的次数由撤消缓冲区的大小决定。
speed(Vnum) 速度
Vnum取值为0-10。1-10速度逐渐加快;0为最快【此时没有转向的动画效果,前后移动变为跳跃】
或Vnum取为"fastest"对应0,"fast"对应10,"normal"对应6,"slow"对应3,slowest"对应1

2.获取海龟的状态

position() | pos() 获取海龟位置
返回一个元组,代表此时海龟位置
towards(x, y) 、
由海龟所在位置和初始夹角按所处模式的要求旋转,直到海龟指向参数传入的位置,返回旋转的角度。

计算角度要看模式:
“标准”<向右,东,逆时针>
“logo”<向上,北,顺时针>.

(x,y)是目标位置;或x是目标位置,y缺省;或x是海龟实例,y缺省。
xcor() 返回海龟所在位置的x坐标
ycor() 返回海龟所在位置的y坐标
heading()返回海龟朝向【角度】
计算角度要看模式:
“标准”<向右,东,逆时针>
“logo”<向上,北,顺时针>.
distance(x, y) 返回海龟与参数点的距离
(x,y)是目标位置;或x是目标位置,y缺省;或x是海龟实例,y缺省。

3.设置与度量单位

degrees(CircleDegree) 自行设置一个圆周的度数
radians() 修改角度的度量单位为弧度
math.pi

4.画笔绘图状态

pendown() | pd() | down() 画笔落下
penup() | pu() | up() 画笔抬起
pensize(num) | width(num) 画笔粗细
pen(pen,pendict) 画笔
pen – 一个包含部分或全部下列键的字典
pendict – 一个或多个以下列键为关键字的关键字参数
返回或设置画笔的属性,以一个包含以下键值对的 “画笔字典” 表示:

  1. “shown”: True/False
  2. “pendown”: True/False
  3. “pencolor”: 颜色字符串或颜色元组
  4. “fillcolor”: 颜色字符串或颜色元组
  5. “pensize”: 正数值
  6. “speed”: 0…10 范围内的数值
  7. “resizemode”: “auto” 或 “user” 或 “noresize”
  8. “stretchfactor”: (正数值, 正数值)
  9. “outline”: 正数值
    10.“tilt”: 数值
    isdown() 画笔是否落下,落下则返回True,抬起则返回False

5.画笔颜色控制

color() 返回一对元组,分别是画笔颜色和填充颜色
color(AColor,BColor) 设置画笔颜色和填充颜色
Color可以是代表颜色的字符串;可以是一个r,g,b三元元组;可以是r,g,b三个数以逗号间隔
BColor缺省时,画笔颜色和填充颜色都设置为AColor
pencolor() 返回画笔颜色
pencolor(‘AColor’) 设置画笔颜色
AColor可以是代表颜色的字符串;可以是一个r,g,b三元元组;可以是r,g,b三个数以逗号间隔
fillcolor() 返回填充颜色
fillcolor(AColor) 填充颜色
AColor可以是代表颜色的字符串;可以是一个r,g,b三元元组;可以是r,g,b三个数以逗号间隔

6.填充

filling() 返回是否填充
begin_fill() 开始填充时调用
end_fill() 结束填充时调用

7.更多绘图控制

reset() 重置
从屏幕中删除海龟的绘图,海龟回到原点并设置所有变量为默认值。
clear() 清空图案
从屏幕中删除指定海龟的绘图。不移动海龟。海龟的状态和位置以及其他海龟的绘图不受影响。
write(arg, move=False, align=“left”, font=(“Arial”, 8, “normal”) 书写
书写文本 - arg 指定的字符串 - 到当前海龟位置,align 指定对齐方式 (“left”, “center” 或 right"),font 指定字体,为三元组 (fontname, fontsize, fonttype)。如果 move 为 True,画笔会移动到文本的右下角。

8.海龟可见性

showturtle() | st() 显示海龟
hideturtle() | ht() 隐藏海龟
isvisible() 是否可见,可见则返回True

9.海龟外观

shape(name) 设置形状,缺省name为返回当前形状
name可选:“arrow”, “turtle”, “circle”, “square”, “triangle”, “classic”
resizemode(rmode) 改变大小调整模式,缺省返回当前大小调整模式
rmode可选:
"auto"根据画笔粗细值调整海龟的外观
"user"根据拉伸因子和轮廓宽度 (outline) 值调整海龟的外观,两者是由 shapesize() 设置的
"noresize"不调整海龟的外观大小
shapesize(stretch_wid=None, stretch_len=None, outline=None) | turtlesize(stretch_wid=None, stretch_len=None, outline=None) 形状大小
当且仅当大小调整模式设为 “user” 时海龟会基于其拉伸因子调整外观: stretch_wid 为垂直于其朝向的宽度拉伸因子,stretch_len 为平等于其朝向的长度拉伸因子,决定形状轮廓线的粗细。
shearfactor(shear) 设置或返回当前的剪切因子
tiltangle(angel) 倾角
设置或返回当前的倾角。如果指定 angle 则旋转海龟形状使其指向 angle 指定的方向,忽略其当前的倾角。不 改变海龟的朝向 (移动方向)。如果未指定 angle: 返回当前的倾角,即海龟形状的方向和海龟朝向 (移动方向) 之间的夹角。
tilt(angel) 倾斜
海龟形状自其当前的倾角转动 angle 指定的角度,但 不 改变海龟的朝向 (移动方向)。
shapetransform(t11=None, t12=None, t21=None, t22=None) 变形
设置或返回海龟形状的当前变形矩阵
get_shapepoly() 获取形状多边形
返回以坐标值对元组表示的当前形状多边形。这可以用于定义一个新形状或一个复合形状的多个组成部分。

10.使用事件

onclick(fun, btn=1, add=None) 当鼠标点击
将 fun 指定的函数绑定到鼠标点击此海龟事件。如果 fun 值为 None,则移除现有的绑定
fun – 一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn – 鼠标按钮编号,默认值为 1 (鼠标左键)
add – True 或 False – 如为 True 则将添加一个新绑定,否则将取代先前的绑定
onrelease(fun, btn=1, add=None) 当鼠标释放
将 fun 指定的函数绑定到在此海龟上释放鼠标按键事件。如果 fun 值为 None,则移除现有的绑定。
ondrag(fun, btn=1, add=None) 当鼠标拖动
将 fun 指定的函数绑定到在此海龟上移动鼠标事件。如果 fun 值为 None,则移除现有的绑定
注: 在海龟上移动鼠标事件之前应先发生在此海龟上点击鼠标事件
_ turtle.ondrag(turtle.goto)在此之后点击并拖动海龟可在屏幕上手绘线条 (如果画笔为落下)_

11.特殊海龟方法

begin_poly() 开始记录多边形
开始记录多边形的顶点。当前海龟位置为多边形的第一个顶点
end_poly() 结束记录多边形
停止记录多边形的顶点。当前海龟位置为多边形的最后一个顶点。它将连线到第一个顶点
get_poly() 获取多边形
返回最新记录的多边形。
clone() 克隆海龟
创建并返回海龟的克隆体,具有相同的位置、朝向和海龟属性。
getturtle() | getpen() 获取海龟画笔
返回海龟对象自身。唯一合理的用法: 作为一个函数来返回 “匿名海龟”:
getscreen() 获取屏幕
返回作为海龟绘图场所的 TurtleScreen 类对象。该对象将可调用 TurtleScreen 方法。
setundobuffer(size) 设置或禁用撤消缓冲区
设置或禁用撤消缓冲区。如果 size 为一个整型数则将开辟一个指定大小的空缓冲区。size 表示可使用 undo() 方法/函数撤消的海龟命令的次数上限。如果 size 为 None 则禁用撤消缓冲区。
undobufferentries() 撤消缓冲区条目数

Python学习总结(1)---turtle海龟作图相关推荐

  1. python自带编辑器如何海龟作图_使用Python中的高级turtle(海龟)作图方法

    在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色. 一.从基本的正方形开始 引入turtle模块并创建Pen对象: >>> ...

  2. python画图小猪佩奇_python海龟作图20秒完成小猪佩奇,附源码!

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  3. Python学习(一)——海龟绘图

    最近打算开两个新专题,Python学习和C++学习,由于科研有较高的编程需求,自己的编码能力有待提高,希望将学习的过程记录下来. 今天来玩一个好玩的游戏,借助Python海龟绘图进行绘画,并学会其中的 ...

  4. 三、Python学习(三)海龟模块turtle使用案列-奥迪图标

    学习直角坐标系,学习使用Python坐标进行定位. 经过海龟模块turtle(一)和(二)的学习之后我们开始写代码案例,首先我们绘制奥迪图标 如果前面学习理解的差不多了,自然看代码注解清晰明了,接下来 ...

  5. 三、Python学习(五)海龟模块turtle使用案列-西瓜切图

    import turtle #导入海龟模块库#初始化画笔,设置画笔属性 t = turtle.Pen() #初始化画笔 t.pensize(10) #设置画笔的宽度#瓜皮-绿色 t.begin_fil ...

  6. 三、Python学习(二)海龟模块turtle画笔介绍及命令详解(画圆)

    1.画笔的状态 在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟.这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向),turtle绘图中, ...

  7. python turtle 怎么设计背景颜色_Python, turtle海龟作图,如何添加背景图片?

    展开全部 turtle.bgpic(r'res/bg.png') #这样设置62616964757a686964616fe58685e5aeb931333431346334.def bgpic(sel ...

  8. 用python编写程序 ---简单的海龟作图

    python带有一个编辑器,用来编写较长的程序-IDLE 打开IDLE,如下步骤 步骤二:打开"File" 菜单并选择 "File -> new Window&qu ...

  9. pythonturtle画图时隐藏海龟已经爬过的轨迹_编程班第四期第一阶段第六次课课下小练习--turtle海龟作图部分(一)...

    1.题目 2.解析与提示 以上两个小任务都需要调用python海龟库(turtle)的一些基本绘图命令来实现,包括: 画布的设置命令: (1).turtle.setup(width,height)用于 ...

最新文章

  1. php mysql or_mysql条件查询and or使用方法及优先级实例分析
  2. DaemonSet 典型应用场景 - 每天5分钟玩转 Docker 容器技术(129)
  3. Java企业实训 - 01 - Java前奏
  4. 处理数字_7_含NULL值的列的聚合
  5. Java简单验证码的识别
  6. SAP UI 搜索分页技术
  7. 鸿蒙系统适配机型_华为鸿蒙 OS 适配机型曝光,除了 Mate 40 还有这几款!
  8. NumSharp v0.6.5 .NET矩阵计算库,与TensorFlow.NET无缝融合
  9. 软件工程导论 07章软件测试
  10. jwt (JSON Web Token)官方说明
  11. HTML5块元素标签的使用
  12. tomcat 加载js 中文乱码
  13. oppo9s刷机教程_OPPOR9s线刷救砖教程及刷机包下载
  14. Flink 实战问题(五):The transaction timeout is larger than the maximum value allowed by the broker
  15. 手机远程启动热车!汽车远程启动有什么缺点?你都知道吗汽车手机远程启动优缺点,汽车手机远程启动怎么用,
  16. 二阶偏导相等的一个充分条件
  17. php excel 设置下拉菜单,phpexcel setFormula下拉选择列表 序列
  18. PhotoSwipe.js 相册展示插件学习
  19. 动手学PyTorch | (35) 长短期记忆(LSTM)
  20. linux cgi 更改网络配置,惨绝人寰的蓝点linux2.0配置perl cgi-CGI教程,CGI文档

热门文章

  1. python 公司年会抽奖_用Python写公司年会抽奖程序!中不中还不是我说了算!
  2. win10系统连接服务器设置方法,技术编辑应对win10系统设置网络连接到服务器的详细...
  3. NVIDIA_TX1之初次使用体验
  4. 使用git把本地代码上传(更新)到github上
  5. ScriptManager.RegisterStartupScript与ClientScript.RegisterStartupScript区别
  6. 猎头职场:弱者的职场该如何应对
  7. opencv打卡66: 方向梯度直方图(HOG)第一步:梯度幅值・梯度方向
  8. python转行系列1:批量化创建IBM MQ
  9. 一点排位就安全异常退出_CF穿越火线新视界,版本大改动,你准备回归还是退出?...
  10. android 默认静音模式设置,Android:如何在振动设置之间进行切换(始终,永不,仅在静音模式下,仅在非静音模式下)?再访...