作者 | 张同学
大家好,我是张同学。
又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么可以放过这个学习技能的机会呢?
于是,今天我们来学习 Python 的 Turtle 库绘制童年的卡通人物,一起做回年轻的那个少年。
Turtle图形库简介
Turtle 库,又称海龟库,是 Python 语言中一个很流行的绘制图像的函数库。
大家可以想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
Turtle 库一般 Python 环境会自带,如果没有这个库查询一下安装方法。
常用函数
1、画笔控制函数
- penup():抬起画笔;
- pendown():落下画笔;
- pensize(width):画笔宽度;
- pencolor(color):画笔颜色;color为颜色字符串或者rgb值
2、运动控制函数
- forward(d)/fd(d):直行d个像素;
- circle(r, extent = None):绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置;
3、方向控制函数
- setheading(angle)/seth(angle):改变前进方向;
- left(angle):海龟左转;
- right(angle):海龟右转;
代码演示
下面用海龟库完成小黄人的绘制,下面是部分源码,完整源码以及其余的卡通图案绘制源码见文末。
import turtle as t
t.pensize(4)
t.speed(10)
# =======头======
def head():
t.penup()
t.fillcolor("#FFEE26")
t.goto(-130, 10)
t.pendown()
t.begin_fill()
t.seth(81)
t.fd(90)
t.seth(100)
t.circle(-500, 3)
t.circle(-100, 10)
t.circle(-200, 25)
t.circle(-110, 20)
t.circle(-140, 30)
t.circle(-180, 30)
t.circle(-200, 20)
t.circle(-140, 10)
t.circle(-160, 50)
t.seth(85)
t.fd(-148)
t.seth(-112)
t.circle(-250, 14)
t.fd(200)
t.right(80)
t.fd(190)
t.seth(110)
t.circle(-200, 7)
t.circle(-130, 30)
t.end_fill()
绘制过程:
6个卡通图案绘制源码(网页打开直接下载):
https://alltodata.cowtransfer.com/s/2b943c8a803e45
注:文中卡通图案绘制参考了部分教程。
【END】