Python基础3---turtle库的使用①→turtle绘图窗体布局、turtle空间坐标体系、turtle的角度坐标体系

             Python基础turtle库使用第一篇

一 、turtle绘图窗体布局

  绘制turtle图形首先需要一个绘图窗体,在操作系统上表现为一个窗口,它是turtle的一个画布空间,在窗口中使用的最小单位是像素。比如绘制一个100长的直线,指的是100像素长的直线。
  在一个操作系统的电脑上,可以看到在电脑显示器中,它的左上角坐标系是(0,0),那么窗体的左上角是turtle绘图窗体的坐标原点,在屏幕坐标系中和窗体坐标系它们之间存在一个窗体位置和大小的设计。
  使用turtle.setup函数,可以用来设置启动窗体的位置和大小,它有4个参数:宽度、高度、起始点的XY方向的坐标,后两个参数是可选的。宽度和高度指的是窗体本身的宽度和高度,起始点的坐标指窗体的左上角的位置的坐标,左上角位置坐标指的是左上角位置相对于屏幕的左上角的坐标。
  在绘制基本图形的过程中,setup函数并不是必需的,只有当需要控制窗体的大小和在屏幕中显示位置的时候,才需要用setup函数。
  turtle的绘图窗体意图如下:
  
  再例如下图:
  
  turtle.setup(800,400,0,0)指的是生成了一个窗体,它的宽度是800,高是400,窗体的左上角就在电脑屏幕的左上角,如果把后两个参数去掉Turtle.setup(800,400),指的是生成额窗体的宽度是800,高是400,默认该窗口位于屏幕中心。
  对于turtle窗体的位置大小以及其它功能,turtle库也提供了一些函数。

二、turtle空间坐标体系

  在turtle的窗体内部,形成了一个空间坐标体系,包含绝对坐标和海龟坐标两种,对于绝对坐标,海龟最开始在画布的正中心,正中心的坐标就是(0,0),海龟的运行方向向着画布的右侧,所以整个的窗体的右方向是X轴,上方向是Y轴,由此构成了一个绝对坐标系。选取4个点,4个点根据坐标系位置的不同,就会有不同的坐标值。
  注意这个坐标值指的是海龟绘制过程中它的画布中间的空间坐标体系,它与窗体在屏幕中间的位置的坐标是不同的。

  去利用空间坐标改变turtle的行进位置,可以使用一些函数,其中一个很重要的函数叫goto。goto函数有两个参数X,Y,指的是让在任何位置的海龟去到达某一个坐标的位置。比如如下代码:

  除了绝对坐标,还有海龟坐标,即海龟本身从它自身的运动来讲,它看到的世界会是什么样子?
  对于海龟来讲,它的当前行进方向无论这个方向是朝向哪个角度的,它都叫前进方向,反方向是后退方向,海龟运行的左侧叫左侧方向,右侧叫右侧方向。
  因此可以使用控制海龟的函数,比如turtle.fd指的是向海龟的正前方向运行,bk表示向海龟的反方向运行,circle表示以海龟当前的位置左侧的某一点为圆心,进行曲线运行,这些函数也可以改变海龟在空间坐标中的位置,进而实现绘图功能。

三 、turtle的角度坐标体系

  在空间坐标中,海龟运行的方向也有一个绝对角度,在空间坐标体系中的X轴,表示0°或360°,Y轴的正方向表示90°或-270°,以此类推形成了一个绝对角度的坐标体系。
  可以使用turtle中的一个函数叫seth来改变当前海龟的行进角度,这里需要注意seth并不在图像中绘制任何信息,只是改变行进的方向angle为绝对度数。


  例如,对于一个新生成的画布,可以使用turtle.seth(45)使海龟的运行方向朝向45°,或者设置参数-135,让海龟的运行方向朝向反向的-135°方向,如果在这样的方位中进一步使用turtle.fd,让海龟继续向前运行,它会朝着当前设定的方向直线运行。
  此外,为了更好地改变海龟的运行方向,从海龟的坐标的角度,对于海龟运行的一个方向,可以使用左右的方式,来改变其运行的角度,如turtle.left(angle)、turtle.right(angle)函数,分别让当前的海龟向左或者向右去改变turtle运行方向。


  使用相关函数,也可绘制如下稍微复杂一点的图形:

  turtle库的使用未完待续…

  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值