大家好,又见面了,我是你们的朋友全栈君。
海龟作图
- 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 – 一个或多个以下列键为关键字的关键字参数 返回或设置画笔的属性,以一个包含以下键值对的 “画笔字典” 表示:
- “shown”: True/False
- “pendown”: True/False
- “pencolor”: 颜色字符串或颜色元组
- “fillcolor”: 颜色字符串或颜色元组
- “pensize”: 正数值
- “speed”: 0…10 范围内的数值
- “resizemode”: “auto” 或 “user” 或 “noresize”
- “stretchfactor”: (正数值, 正数值)
- “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() 撤消缓冲区条目数
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154105.html原文链接:https://javaforall.cn