一、turtle库基本介绍
turtle绘图体系1969年诞生,是入门级的图形绘制函数库,是Python的标准库之一。
二、turtle绘图窗体布局
左上角为坐标原点,向右为
x
x
x正方向,向下为
y
y
y正方向。
setup()函数设置窗体初始位置及大小,前2个参数控制宽和高,后2个参数控制窗体左上角位置,如不给出默认显示在屏幕中央。
三、turtle空间坐标体系和角度体系
1.坐标体系
坐标体系有2种,即绝对坐标体系和相对(或自然)坐标体系。
上图为绝对坐标体系,窗体中央为坐标原点。goto(x,y)函数可以到达指定点。
上图为自然坐标体系,以海龟自身为中心,分前后左右四个方向。
2.角度体系
角度体系也分2种,即绝对角度体系和相对角度体系。
四、RGB色彩体系
RGB有2种色彩模式,即3个0~1之间的数字或者3个0~255之间的整数。可通过turtle.colormode(mode)
函数切换模式。
五、绘图操作
1.画笔控制函数
turtle.penup()
:抬起画笔(此时画笔移动不留下痕迹)
turtle.pendown()
:落下画笔(此时画笔移动会留下痕迹)
turtle.pensize(width)
:设置画笔大小
turtle.pencolor(color)
:设置画笔颜色
2.运动控制函数
- 绝对坐标
turtle.goto(x,y)
:移动到指定坐标位置 - 相对坐标
turtle.forward(d)
:向前移动d个像素
turtle.backward(d)
:向后移动d个像素
turtle.circle(r,angle)
:以当前位置左侧(r>0)或右侧(r<0) r r r个像素处为圆心,圆心角为angle度画圆
3.方向控制函数
- 绝对角度
turtle.setheading(angle)
:设置海龟头部的朝向 - 相对角度
turtle.left(angle)
:左转angle度
turtle.right(angle)
:右转angle度
更多详细介绍请参见:turtle库函数大全
六、实战
自己练习了一个太极图的绘制,效果如下:
代码实现:
import turtle as t
#移动
def move(x,y):
t.pu()
t.goto(x,y)
t.pd()
return
#初始化
def init(pensize,pencolor,speed):
t.pensize(pensize)
t.pencolor(pencolor)
return
def main():
init(5,"black",10)
move(0, 100)
#画出黑色部分
t.begin_fill()
t.circle(-50, 180)
t.circle(50, 180)
t.circle(100,180)
t.fillcolor("black")
t.end_fill()
#画出白色部分
t.circle(100,180)
#画白色小圆
t.begin_fill()
t.goto(0,-65)
t.circle(15)
t.fillcolor('white')
t.end_fill()
#画黑色小圆
t.begin_fill()
t.fillcolor('black')
move(0,35)
t.circle(15)
t.end_fill()
#收尾
t.hideturtle()
t.done()
main()
更多有意思的作品,可参见:python turtle优秀作品展示