一年一度的中秋节又要来了,作为程序员的我们当然要画“饼”充饥了。
本文二哥带领大家用Python画几个月饼~
❤️温馨提示:工作再忙,别忘了吃饼~❤️
❤️提前祝大家中秋节快乐❤️
一、准备
- Python3
- turtle模块
- 勤劳的小手
二、构思与绘图
找一块传统月饼为例:
绘制外表
想要画月饼,第一个我们能想到的就是圆形的外表,但是月饼的圆通常比较特殊,每个位置会有一个凸起的弧度$%&%$…(不知道如何形容)总结一下就是像花一样的形状。
代码如下
代码中的循环用于绘制小的弧线,最终弧线连接成花的形状,并且涂上颜色。
from turtle import*# 隐藏海龟
hideturtle()# 颜色模式
colormode(255)
pensize(2)
pencolor(0,0,0)
fillcolor(231,162,63)
begin_fill()for i inrange(12):if i ==5:
p = pos()
circle(30,120)
right(90)
end_fill()
mainloop()
实现结果如下
绘制阴影
为了让月饼显得立体一些,我们需要画出阴影的效果,对于阴影的实现,我们将月饼外表水平移动后换个颜色即可。
代码如下
整体思路和上述相同,我们更改颜色并将表面覆盖于阴影上即可。
# 隐藏画笔移动
penup()
fd(20)
pendown()
fillcolor(255,166,16)
begin_fill()for i inrange(12):
circle(30,120)
right(90)
end_fill()
结果如下:
绘制文字
光绘制外表,必然显得空唠唠的,因此我们在月饼的中间添加四个文字来体现口味即可。
代码如下
我们直接使用turtle中的write功能进行文字绘制即可。
pencolor(204,22,58)
left(90)
fd(140)
left(90)
fd(140)
left(90)
fd(72)
p = pos()
write('伍仁', font=('Arial',70,'normal'))
fd(70)
write('月饼', font=('Arial',70,'normal'))
left(90)
fd(140)
结果如下
这样我们的月饼就做好了。
三、代码完善
不同的小伙伴想要不同颜色不同口味的月饼,因此二哥将代码改造成如下可以自定义的形式。
完整代码如下
from turtle import*# 隐藏海龟
hideturtle()# 颜色模式
colormode(255)'''
函数说明:
pensize:画笔粗细
pencolor:画笔颜色
fillcolor:填充颜色
begin_fill:开始填充
fd:前进
circle:画圆
right:右转
end_fill():结束填充
'''defMoonCake(bgcolor, mkcolor, wdcolor, words):'''
参数说明:
bgcolor: 背景颜色
mkcolor: 月饼颜色
wdcolor: 文字颜色
words: 文字(4个字)
'''
pensize(2)
pencolor(0,0,0)
fillcolor(bgcolor)
begin_fill()for i inrange(12):if i ==5:
p = pos()
circle(30,120)
right(90)
end_fill()
penup()
fd(20)
pendown()
fillcolor(mkcolor)
begin_fill()for i inrange(12):
circle(30,120)
right(90)
end_fill()
pencolor(wdcolor)
left(90)
fd(140)
left(90)
fd(140)
left(90)
fd(72)
p = pos()
wd1 = words[0:2]
wd2 = words[2:4]
write(wd1, font=('Arial',70,'normal'))
fd(70)
write(wd2, font=('Arial',70,'normal'))
left(90)
fd(140)# MoonCake((231, 162, 63), (255, 166, 16), (204, 22, 58), '五仁月饼')
MoonCake((97,154,195),(186,204,217),(17,101,154),'冰皮月饼')
mainloop()
❤️ 再一次祝大家中秋节快乐❤️❤️ 创作不易,点个赞吧~❤️
版权归原作者 二哥不像程序员 所有, 如有侵权,请联系我们删除。