随着农历猪年的到来,Pig的卡通形象以火爆的热度迅速成为大家心中的新一任萌宠,尤其是深受小朋友喜欢的小猪佩奇,作为一枚关心热点又家有小娃的非典型程序猿小编,也来蹭蹭热点,让我们用Python来送给娃一幅小猪佩奇的画作。
啥都不说,直接上图:
这就是Python画小猪佩奇的动态过程,是不是感觉画的挺好的?那是怎么实现的呢?这就得益于Python强大的库功能,本文图片用的就是Python众多库中的绘制图形库turtle画的。导入库的方法如下:
import turtle as t
通过上面的动图我们发现小猪佩奇是不是像一支画笔一样在画?那是因为我们把小猪佩奇的卡通形象分作鼻子、头部轮廓、眼睛、耳朵、鳃部、嘴巴、身体、手、脚等各个部位,然后把各个部位按顺序来画的,下面我们以鼻子为例来具体看一看。先看鼻子的形状:
要画成这个形状,我们需要做以下工作:
1、确定画笔的起始位置
2、确定画笔的颜色
3、画一个鼻子的外形,也就是椭圆
4、确定椭圆的填充颜色
5、画左右两个鼻孔
首先我们完成画笔的初始化。代码如下:
def init(): t.pensize(4) # 设置画笔的大小 t.colormode(255) # 设置GBK颜色范围为0-255 t.color((255, 155, 192), "pink") # 设置画笔颜色和填充颜色(pink) t.setup(840, 500) # 设置画布的大小为840*500 t.speed(10) # 设置画笔速度为10 |
然后按照步骤开始编码画鼻子:
def nose(): 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() |
到这里鼻子就画完了,是不是感觉其实挺简单的呢?跃跃欲试的你是不是也想自己动手了?come on!自己动手用同样的方法完成身体的其他部位吧。
总结一下就是要确定每个部位的准确坐标,然后多点耐心调试,再加一点点的美术细胞。建议和孩子一起完成噢,相信你可以和孩子有一个属于你们的欢愉时光的。最后上一张完整的佩奇图。看看你是不是可以和我画的一样!
如果需要完整的参考源码请长按识别下方二维码关注公众号,回复“佩奇”,即可获取。