在用turtle绘画时,画笔的第一笔落笔点默认是在画布中心,画笔朝东(向右),但是有时需要绘制一些不对称的图,画笔落在画布中心会使结果偏离中心或画出画布。所以需要移动画笔的初始落笔点。
这里有两个方法:
goto()函数
(x,y)
turtle规定以中心为原点(0,0),而(x,y)表示将原点向右移动x个像素,向上移动y个像素。
其中,x,y可以为负数。
提笔移动
turtle函数绘画时,有两个基本动作,提笔和落笔。提笔时,只移动画笔,但不会留下痕迹;而落笔则会画出痕迹。
如下的代码:
将画笔向下移动100个像素:
首先,因为画笔初始向右,(90)为将笔端向左旋转90度,此时向上;
()为提笔,即之后的动作只会移动笔端,而不会画出痕迹;
(100)为向后移动100像素,即向下移动100像素;
()为落笔,即之后的动作会留下痕迹;
(90)为将笔端向右旋转90度,即又恢复成向右,即从此开始才开始落笔绘画。
(90)
()
(100)
()
(90)
上述的是一种方法,上面的效果还有很多种操作,所以,要向移动笔端,则提笔空画即可。
turtle函数的详细用法
在lib目录下有一个文件,这就是turtle的安装目录。官方文档:/3/library/
turtle库画笔状态控制函数
函数
描述
penup()
提起画笔,与pendown()配对使用
pendwon()
放下画笔
pensize(width)
设置画笔线条的粗细为指定大小
turtle库的画笔运动的函数
函数
描述
forward()
沿着当前方向前进指定距离
backward()
沿着当前相反方向后退指定距离
right(angle)
向右旋转angle角度
left(angle)
向左旋转angle角度
goto(x, y)
移动到绝对坐标(x, y)处
setx()
将当前x轴移动到指定位置
sety()
将当前y轴移动到指定位置
setheading(angle)
设置当前朝向为angle的角度
home()
设置当前画笔位置为原点,朝向东
circle(step)
绘制一个指定半径、角度以及绘制步骤step的圆
dot(r, color)
绘制一个指定半径r和颜色color的圆点
undo()
撤销画笔最后一步动作
speed()
设置的绘制速度,参数为0 - 10之间
turtle库的控制画笔和字体函数
函数
描述
color()
设置画笔的颜色
begin_fill()
填充图形前,调用该方法
end_fill()
填充图形结束
filling()
返回填充的状态,True为填充,False为未填充
clear()
清空当前窗口,但不改变当前画笔的位置
reset()
清空当前窗口,并重置位置状态为默认值
screensize()
设置画面的长和宽
hideturtle()
隐藏画笔的turtle形状
showturtle()
显示画笔的turtle形状
isvisible()
如果turtle可见,则返回Ture
write(str, font = None)
输出font字体的字符串