turtle模块
海龟绘图(Turtle Graphics),python内置模块,非常简单好玩的一个库。
一、导入库
import turtle from turtle import *
二、画布的设置
'''设置画笔大小''' turtle.screensize() #返回默认大小(400, 300) turtle.screensize(800, 600, "white") '''设置背景/画布颜色''' turtle.bgcolor()
三、画笔的设置
画笔的状态描述:
画布上,默认有一个坐标原点为画布中心的坐标轴,,坐标原点上有一只面朝x轴正方向小乌龟。
这里我们描述小乌龟时使用了两个词语:坐标原点
(位置),面朝x轴正方向
(方向), turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态。
画笔属性的设置
'''设置画笔的宽度''' turtle.pensize() turtle.pensize(2) #我喜欢用宽度2,舒服不解释 '''设置画笔颜色''' #设置画笔颜色,没有参数传入,返回当前画笔颜色, turtle.pencolor() #传入参数设置画笔颜色,可以是字符串如"green", "red" turtle.pencolor('yellow') #传入多钟颜色,用列表传入 color = ['red','green','blue','orange'] turtle.pencolor(color [%4]) '''设置画笔速度''' turtle.speed(5)
四、绘图的命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令
(1)画笔运动命令:
#向当前画笔方向移动distance像素路程 turtle.forward(distance) turtle.forward(10) #向当前画笔方向反向移动distance像素路程 turtle.backward(sidtance) #顺时针移动degree度 turtle.right(degree) #逆时针移动degree度 turtle.left(degree) #将画笔移动到坐标x,y位置 turtle.goto(x,y) #画圆,半径为正/负表圆心砸画笔的左/右边画 turtle.circle() #画图马上出结果,传入值为True或没有这条就慢慢画 turtle.tracer(False)
(2)画笔控制命令:
#绘制图形的填充颜色 turtle.fillcolor() #返回当前是否在填充的状态 turtle.filling() #开始填充 turtle.begin_fill() #填充完成 turtle.end_fill()
(3) 全局控制命令
#清空turtle窗口 turtle.clear() #绘制完成 #我在pycharm或sublime里运行turtle的代码如果后面不加这个界面会闪退 turtle.done()
示例:无敌旋转棒棒锤螺旋菊花图
import turtle turtle.screensize(400,300,"white") turtle.pensize(1) turtle.bgcolor("white") colors = ["red", "yellow",'green','blue'] turtle.tracer(False) turtle.speed(5) for x in range(300): turtle.forward(2*x) turtle.color(colors[x % 4]) turtle.left(91) turtle.done()