——画笔(海龟)的位置、方向与距离——
海龟作图的默认坐标系是:原点在画布的中心,向右是横轴的正向,向上是纵轴的正向。
position或pos方法(无参数)获取画笔的当前位置坐标,xcor方法获取x坐标,ycor方法获取y坐标。下图中是默认模式画笔的初始位置:
。
heading方法获取画笔(海龟)的方向,该值依赖坐标的mode(请看方法之二):
towards方法确定目标的方向(依赖mode),distance方法确定目标的距离:
。
——按坐标移动——
goto、setpos或setposition方法定位到新坐标;setx方法定位新x坐标,y坐标保持不变;sety方法定位新y坐标,x坐标保持不变;home方法(无参数)返回原点(0,0)。按坐标运动与海龟的朝向无关:
。
——自定义坐标系——
在实际应用的数据展示图中,一般要把原点定在左下角或附近,这样就要用
setworldcoordinates方法设置,该方法有四个必选参数,在新坐标系中依次为画布左下角坐标(llx,lly)和右上角坐标(urx,ury)。如果urx>llx,那么横轴的正向是向右,否则向左;如果ury>lly,那么纵轴的正向是向上,否则向下。方法参数图示如下:
下面是用自定义坐标系画一个三角形:
如果现在想纵轴的方式改为向下为正向,只要在使用setworldcoordinates方法就行,图形会自动根据新坐标系重新画:
。
是不是所有的情况,运行setworldcoordinates都会重新画图呢?不是的,只有是自定义坐标系激活情况才这样。所谓激活状态就是mode值为“world”:
。
可见,setworldcoordinates方法运行时首先检查自定义坐标系激活情况,如果还没激活(mode是“standard”或"logo") ,就先激活(运行mode("world"))使mode变为“world”。自定义只是坐标原点和轴方向,转角和海龟的默认朝向与“standard”模式相同:
如果自动义的坐标系抄袭默认模式(“standard”)的坐标系(原点在画布中心,横轴向右正向,纵轴向上正向。),只要使用mode("world")激活自定义坐标系模式就可以了。不管原来是"standard"还是“logo”模式,激活时都重置画布,海龟默认方向与"standard"模式相同:
练习题:
1、导入海龟画图模块后,测试默认模式,海龟的坐标数对、x坐标、y坐标和朝向。
2、用"standard"和“logo”两种模式,计算点(60, 80)相对于原点的角度和距离,把2个角度相加看看。
3、用"standard"和“logo”两种模式画坐标轴和一个三角形。
4、用自定义坐标系(mode="world")画上坐标轴和一个三角形,然后(1)翻转x轴;(2)把x轴翻回来后翻转y轴;(3)翻转x轴。