PK创意闹新春,我正在参加「春节创意投稿大赛」,详情请看:春节创意投稿大赛”,
序
继上次用python turtle画红包封面之后,一发不可收拾,今天就再来画个饺子,过年了,来吃金饺子吧。 效果图:
开始画图
添加背景
一回生二回熟,过年还是红色背景最好看,这次还是沿用上次的背景图片,有兴趣的可以自行从网上下载自己喜爱的背景图片,记得图片格式得是png和gif格式,不然就会报错
turtle.bgpic("img_1.png")
我用的背景图,大家可以直接下载使用
构思
我们来简单分析一下饺子的形状,主体是一个椭圆,还有一些饺子的画边,饺子的画边就是一个个半圆,这个主体椭圆,我们可以用两个椭圆来合成,那就是整个饺子有好多个半圆组成。turtle的circle函数有两个参数,第一个参数是半径,表示画圆的大小,另外一个参数表示圆的弧度,这个就可以让我们不仅仅是画一个正圆,还可以是各种各样的椭圆。
画主体
饺子主体,画一个下弧形,半径是200,弧度是100,填充颜色为金色
# 画第一个半圆
turtle.penup()
turtle.goto(-100, 0)
turtle.left(-50)
turtle.pendown()
turtle.color("#FFCC33")
turtle.begin_fill()
turtle.circle(200, 100)
turtle.end_fill()
如图所示
画对称的上半个弧形,半径也是200,弧度也是100,这里要注意的是画笔开始画的位置和角度
还是直接看代码吧
# 画第二个半圆
turtle.penup()
turtle.goto(-100, 0)
turtle.pendown()
turtle.color("#FFCC33")
turtle.begin_fill()
turtle.circle(-200, 100)
turtle.end_fill()
再次运行一下,看图
这里饺子的主体就好了,下面就画饺子的花边。
我们让画笔回到原点(-100,0), 调整画笔的角度,设置画边的半径和弧度,看第一个画边 ,我们为饺子的花边填充不同的颜色。这里我们设置🌹边的半径是27,弧度是180,就是一个半圆。
# 画饺子的花边
turtle.penup()
turtle.goto(-100, 0)
turtle.right(180)
turtle.pendown()
turtle.color("#CC9933")
turtle.begin_fill()
turtle.circle(-27, 180)
turtle.end_fill()
看第一个花边的效果
接下来依次画其他花边,画第二个的时候有点特殊,需要移动画笔的坐标,我把第二个花边的代码单独拎出来
turtle.penup()
turtle.goto(-56, 31)
turtle.right(190)
turtle.pendown()
turtle.color("#CC9933")
turtle.begin_fill()
turtle.circle(-27, 180)
turtle.end_fill()
其余花边就可以做个循环,循环的主体代码如下:
turtle.right(198)
turtle.color("#CC9933")
turtle.begin_fill()
turtle.circle(-27, 180)
turtle.end_fill()
运行结果
我这个有点丑,算是抛砖引玉吧,希望对python 感兴趣的小伙伴有一点点启发
总结
turtle画图最主要的是对屏幕的坐标,和画笔的转向角度要清晰,想画出一个完美的图形,要经过精准的计算,我画这个花边就略显粗燥了,就是我画圆用的半径,还有坐标不利于计算,整的好的话,得精准到小数点,但在笔记本上画草图也费了我不少纸,假期期间动动脑动动手,也很不错,在家里画这个的时候,也引起了小学生的兴趣,他们作业都不写了,围在我电脑前,看的津津有味,还提出了有趣的问题,这也算为祖国的花朵做出的贡献吧。