在Python程序中,有很多具有绘图功能的库文件,其中最受欢迎的是Turtle库。用Turtle库中的函数绘图就像是一只小乌龟,在二维平面区域内移动,通过一组函数,指定在命令乌龟的行走轨迹,从而实现绘图的效果。Turtle绘图到底为什么那么受欢迎,这里大家一起来见识下它的神奇之处。
Turtle的基本概念:
1、画布(canvas)
Turtle提供了画布功能,用来提供一块绘图的区域,我们可以设置它的大小和位置。
常用的画布方法有两种:
(1)turtle.screensize(canvwidth=None, canvheight=None, bg=None),其中canvwidth为画布的宽, canvheight为画布的高,bg为画布的颜色。
例如:
>>>turtle.screensize(500,1000,"red")#绘制一个宽500高1000的红色画布
(2)turtle.setup(width=0.6, height=0.8, startx=None, starty=None),其中width为画布的宽,height为画布的高,当width和height的值为整数时,表示像素;当width和height的值为小数时,表示相对于电脑屏幕的比例。startx, starty:是画布的左上角定点相对于屏幕中心的坐标,如果为空则表示在屏幕中心。
例如:
>>>turtle.setup(width=900,height=1600)
#绘制一个900*1600的画布,左上角定点位于屏幕中心
>>>turtle.setup(width=0.4,height=0.4,startx=300,starty=300)
#绘制一个占屏幕比例为40%的画布,画布左上角定点位于屏幕中心(300,300)的位置
2、画笔(pen)
画笔顾名思义就是在画布上绘图的工具,在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟。
画笔有颜色、线宽、画图速度等属性:
turtle.pensize();设置画笔的线宽turtle.pencolor();设置画笔的颜色turtle.speed();设置画笔移动速度,参数为0-10的整数
3、绘图命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:运动命令,画笔控制命令和全局控制命令
- 画笔运动命令:
turtle.forward(distance);向当前画笔方向移动distance像素长turtle.backward(distance);向当前画笔相反方向移动distance像素长度turtle.right(degree);顺时针移动degree°turtle.left(degree);逆时针移动degree°turtle.pendown();移动时绘制图形,缺省时也为绘制turtle.goto(x,y);将画笔移动到坐标为x,y的位置turtle.penup();移动时不绘制图形,提起笔,用于另起一个地方绘制时用turtle.speed(speed);画笔绘制的速度范围[0,10]整数turtle.circle();画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
- 画笔控制命令:
turtle.pensize(width);绘制图形时的宽度turtle.pencolor();画笔颜色turtle.fillcolor(colorstring);绘制图形的填充颜色turtle.color(color1, color2);同时设置pencolor=color1, fillcolor=color2turtle.filling();返回当前是否在填充状态turtle.begin_fill();准备开始填充图形turtle.end_fill();填充完成;turtle.hideturtle();隐藏箭头显示;turtle.showturtle()与hideturtle()函数对应
- 全局控制命令
turtle.clear();清空turtle窗口,但是turtle的位置和状态不会改变turtle.reset();清空窗口,重置turtle状态为起始状态turtle.undo();撤销上一个turtle动作turtle.isvisible()返回当前turtle是否可见stamp();复制当前图形turtle.write(s[,font=("font-name