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()