一、turtle库的基本介绍
turtle库是turtle绘图体系的Python实现,turtle绘图体系诞生于1969年,主要用于程序设计入门的一种绘图方式。其也是Python语言的标准库之一,是入门级的图形绘制函数库。
Python语言的计算生态包含标准库和第三方库两个部分,其中,标准库是随解释器安装到操作系统中的功能模块。第三方库是需要经过安装才能使用的功能模块。
在Python语言中,库Library、包Package、模块Module,统称为模块。
二、turtle绘图窗体布局
绘制turtle图形,首先需要一个绘图窗体,在操作系统上表现为一个窗口,它是turtle的一个画布空间。在窗体中,使用的最小单位是像素。窗体的左上角是turtle绘图窗体的坐标原点(0,0)。
在屏幕坐标系中,它与窗体坐标系之间存在着一个位置和大小的设计,我们可以使用turtle.setup(width, height, startx, starty)函数,设置启用窗体的位置和大小。函数的四个参数分别表示:宽度、高度、起始点的x和y方向的坐标,其中宽度和高度指的是窗体本身的宽度和高度。
当然,在绘制图形的过程中,turtle.setup()函数并不是必须的,只有在需要控制窗体的大小和位置时,其可以使用。
三、turtle空间坐标体系
在turtle的窗体内部,形成了一个坐标体系。坐标包括了绝对坐标和海龟(turtle)坐标两种。
3.1 绝对坐标
绝对坐标就是海龟最开始的位置,在画布的正中心。海龟的运行方向,向着窗体的右侧,因此往右侧是X轴,上方向是Y轴,进而构成了一个绝对坐标系。因此,我们可以通过使用一些函数,改变turtle在空间坐标中的位置。其中一个重要的函数是turtle.goto(x,y),它指的是让任何位置的海龟去到达某个位置。
例如我们写一段如下函数代码:
import turtle
turtle.goto(100,100)
turtle.goto(100,-100)
turtle.goto(-100,-100)
turtle.goto(-100,100)
turtle.goto(0,0)
对应得到下图:
3.2 海龟坐标
在turtle空间坐标体系中,除了绝对坐标还有一种就是海龟坐标。海龟坐标,就是从海龟自生的视角来看,其所处的位置。
对于海龟来说,它的当前行进方向,无论这个方向朝向哪个角度,它都叫前进方向,反方向为后退方向。海龟运行的左侧,叫做左方向,右侧叫做,右方向。
因此,我们可以使用一些控制海龟的函数,比如:turtle.circle(r,angle)、turtle.bk(d)、turtle.fd(d),其中,turtle.fd()是向前方向运行,turtle.bk()向反方向运行,turtle.circle()是指以海龟当前位置,左侧的某个点为圆心,进行曲线运行。
四、turtle角度坐标体系
turtle建立了一个空间坐标体系,那么在空间坐标中,它运行的方向也有一个绝对的角度。
在空间坐标体系中,X轴表示0°或360°,Y轴的正方向表示90°或270°,以此类推,形成了一个绝对角度的坐标体系。我们可以通过函数turtle.seth(angle)来改变海龟的行进方向。函数中的参数angle为绝对度数。
为了更好的改变海龟的运行方向,我们可以从海龟坐标的角度,对海龟的一个运行方向,使用左右的方式,来改变它的运行角度。turtle提供了turtle.left(angle)和turtle.right(angle)两个函数让当前的海龟向左或右方向运行。
举例:我们来绘制一个“Z”字形,代码如下:
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
五、RGB色彩体系
在计算机中最常用的色彩体系叫做RGB,RGB由三种基础颜色构成了万物色。
turtle库默认采用RGB的小数值来表示颜色。使用函数turtle.colormode(mode)来改变色彩数值的使用。