闲来无事,用turtle画了个小猪佩奇,代码其实很简单的,就是烦了点。
没必要每行代码都发出来,给大家看几个主要的函数好了。
另外我给绝大多数代码都加上了注释,相同的代码我就不加了。
首先需要初始化画笔的一些属性,包括颜色、画笔的画画速度等
def init_pen():
'''
初始化画笔的一些属性
'''
t.pensize(4) # 设置画笔的大小
t.colormode(255) # 设置GBK颜色范围为0-255
t.color((255, 155, 192), "pink") # 设置画笔颜色和填充颜色(pink)
t.setup(900, 500) # 设置主窗口的大小为900*500
t.speed(10) # 设置画笔速度为10
其次就是画各个部位了,比如鼻子:
def norse():
'''
鼻子
'''
t.pu() # 提笔
t.goto(-100, 100) # 画笔前往坐标(-100,100)
t.pd() # 下笔
t.seth(-30) # 笔的角度为-30°
t.begin_fill() # 外形填充的开始标志
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a + 0.08
t.lt(3) # 向左转3度
t.fd(a) # 向前走a的步长
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill() # 依据轮廓填充
t.pu() # 提笔
t.seth(90) # 笔的角度为90度
t.fd(25) # 向前移动25
t.seth(0) # 转换画笔的角度为0
t.fd(10)
t.pd()
t.pencolor(255, 155, 192) # 设置画笔颜色
t.seth(10)
t.begin_fill()
t.circle(5) # 画一个半径为5的圆
t.color(160, 82, 45) # 设置画笔和填充颜色
t.end_fill()
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255, 155, 192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
其余部位的代码就不给大家一一展示啦,太长了,那么最后看下效果图吧~
自我感觉良好,反正这个动画自己欣赏了好多遍,以至于盯得时间太久,觉得已经不是佩奇了,越看越像吹风机。
本文转载自公众号AI科技大本营
作者 | 上海小胖,四大咨询TechLead,mongoDB Professional 获得者。「Python专栏」专注Python领域的各种技术:爬虫、DevOps、人工智能、Web开发等。