本文来自「凹凸数据」读者投稿
大家好,我是张同学。
又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么可以放过这个学习技能的机会呢?
于是,今天我们来学习python的turtle库绘制童年的卡通人物,一起做回年轻的那个少年。
Turtle库,又称海龟库,是Python语言中一个很流行的绘制图像的函数库。
大家可以想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
Turtle库一般python环境会自带,如果没有这个库查询一下安装方法。
penup()
:抬起画笔;pendown()
:落下画笔;pensize(width)
:画笔宽度;pencolor(color)
:画笔颜色;color为颜色字符串或者rgb值forward(d)/fd(d)
:直行d个像素;circle(r, extent = None)
:绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置;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
注:文中卡通图案绘制参考了部分教程。