——移动和绘制——
forward或fd方法使画笔前进,只有在画笔落下时才画线:
。
backward或bk或back方法使画笔后退,只有在画笔落下时才画线:
。
right或rt方法控制画笔右转;left或lt方法控制画笔左转。左右转有一个角的参数,在海龟画图中可以是角度或弧度单位。角度单位就是把周角分360分,每份是1度,可见角度单位是人为的划分,并不由角的本身性质所定的。弧度却不一样,一个周角的弧度是圆的周长与半径的比值(2π),可见弧度的大小是由角的性质决定的,没有人为的因素,在科学上广泛应用。容易得到它们的单位换算:
1弧度=180/π角度;
1角度=π/180弧度。
默认的单位制是角度,可以通过radians方法把单位制改为弧度;用degrees方法改为角度。两个方法都无参数。下面用这些方法画一条折线:
。
在实际中,除了左右前后定向方法外,还有东西南北方向的方法。如果要求按东西南北定向方法画线,因为原来的方向角度可能不清楚,就算清楚计算转的角度也比较麻烦,幸好Python提供无需参考原来方向的转向方法。
人正对着屏幕,上北下南;右东左西。Python的方向角度计数模式有“标准模式”和“logo模式”两种:
标准模式:向东为0(也是海龟默认方向),逆时针为正,顺时针为负,切换方法mode("standard"),系统默认模式;
logo模式:向北为0(也是海龟默认方向),顺时针为正,逆时针为负,切换方法mode("logo")。注意:切换模式时,原所画的图案被清空。
setheading或seth方法提供东西南北方向定向方法,下面用它们转向画折线:
(图形已被清空)
undo方法撤销上一步海龟操作,可连续撤销,可撤销的次数由撤销缓冲区的大小决定:
练习题:
1、前进40后提笔,再前进100后倒退50落笔,前进30。
2、清屏,前进30,左转30度再前进40,右转-90度后前进20,右转1弧度后前进50。
3、使用logo模式,前进20后,向东前进40,然后向西南后退30,向60度前进30,向-120度前进30,向1.5弧度后台35。注:“向”是指海龟头朝向,不是海龟实际的运动方向。
4、换回standard模式后重做上一题。
5、设计一段测试代码,测试undo的最大撤销操作数。