首页 > 分享 > 【中秋征文】使用Python创意中秋节画月饼《花好月圆》

【中秋征文】使用Python创意中秋节画月饼《花好月圆》

        大家好,我是猿童学,又是一年中秋至——花好月圆夜,祝大家中秋节快乐!欢迎收看中秋创造第一期。今年是我在CSDN第一次过中秋节,特意为此去学习了用Python来画月饼,不仅可以学习而且在制作的过程还很有趣。本文将使用turtle(海龟)来画月饼。turtle库是Python重要的标准库之一,是最有价值的程序设计入门实践库,它是程序设计入门层面最常用的基本绘图库。

你 ♥ 中的月饼是怎么样的呢?来和我一起画出他的模样吧!

一、效果展示

话不多说先上效果

为了更有意境我加了个完美的背景来衬托出月饼的好看

我的月饼画的不圆的原因是我故意的,为什么呢?

因为月有阴晴圆缺啊!哈哈!

上面是直接画的,没有填充,接下来我们画一个有填充的。

也可以添加好看的背景噢。

二、程序代码

代码将在下面解释,可以看着代码对应下面的函数解释。

第一种:

import turtle

import math

turtle.title("照彻乾坤,印透山河")

turtle.bgpic("yueliang/1.png")

p = turtle.Turtle()

p.pensize(4)

p.speed(3)

def ellipse(a,b,n=500,c='#CD950C'):

p.penup()

p.setpos(a,0)

color = p.color(c)

p.pendown()

for i in range(n):

radian = 2 * math.pi /n

theta = (i+1) * radian

next_point = (a * math.cos(theta)),b * math.sin(theta)

p.setpos(next_point)

ellipse(300,200,c='#CD950C')

ellipse(296,196,c='#FFB90F')

ellipse(292,192,c='#FFD700')

turtle.penup()

turtle.goto(-10,-300)

turtle.color("#CD950C")

turtle.pensize(6)

turtle.pendown()

turtle.circle(430,42)

turtle.circle(420,-84)

turtle.goto(-296,-40)

turtle.penup()

turtle.goto(296,-40)

turtle.pendown()

turtle.right(54)

turtle.forward(151)

turtle.penup()

turtle.goto(0,0)

turtle.pendown()

def draw(a1,b1,a2,b2,f='#CD950C'):

turtle.penup()

turtle.goto(a1,b1)

turtle.pensize(6)

turtle.color(f)

turtle.pendown()

turtle.goto(a2,b1)

turtle.goto(a2,b2)

turtle.penup()

return()

draw(260,78,130,170,'#FFD700')

draw(250,90,150,160)

draw(240,102,172,150)

draw(230,114,194,140)

draw(-260,-78,-130,-170,'#FFD700')

draw(-250,-90,-150,-160)

draw(-240,-102,-172,-150)

draw(-230,-114,-194,-140)

draw(260,-78,130,-170,'#FFD700')

draw(250,-90,150,-160)

draw(240,-102,172,-150)

draw(230,-114,194,-140)

draw(-262,78,-130,170,'#FFD700')

draw(-250,90,-150,160)

draw(-240,102,-172,150)

draw(-230,114,-194,140)

turtle.penup()

turtle.pensize(6)

turtle.color("#CD950C")

turtle.goto(-270,66)

turtle.pendown()

turtle.goto(-150,66)

turtle.goto(-150,-66)

turtle.goto(-270,-66)

turtle.goto(-270,-54)

turtle.goto(-170,-54)

turtle.goto(-170,54)

turtle.goto(-276,54)

turtle.goto(-276,42)

turtle.goto(-190,42)

turtle.goto(-190,-42)

turtle.goto(-276,-42)

turtle.goto(-276,-30)

turtle.goto(-210,-30)

turtle.goto(-210,30)

turtle.goto(-279,30)

turtle.goto(-279,18)

turtle.goto(-230,18)

turtle.goto(-230,-18)

turtle.goto(-282,-18)

turtle.goto(-282,-2)

turtle.goto(-258,-2)

turtle.penup()

turtle.penup()

turtle.goto(-128,-2)

turtle.pendown()

turtle.color("#FFD700")

turtle.pensize(2)

turtle.goto(126,-2)

turtle.penup()

turtle.penup()

turtle.pensize(6)

turtle.color("#CD950C")

turtle.goto(270,66)

turtle.pendown()

turtle.goto(150,66)

turtle.goto(150,-66)

turtle.goto(270,-66)

turtle.goto(270,-54)

turtle.goto(170,-54)

turtle.goto(170,54)

turtle.goto(276,54)

turtle.goto(276,42)

turtle.goto(190,42)

turtle.goto(190,-42)

turtle.goto(276,-42)

turtle.goto(276,-30)

turtle.goto(210,-30)

turtle.goto(210,30)

turtle.goto(279,30)

turtle.goto(279,18)

turtle.goto(230,18)

turtle.goto(230,-18)

turtle.goto(282,-18)

turtle.goto(282,-2)

turtle.goto(258,-2)

turtle.penup()

turtle.penup()

turtle.pensize(6)

turtle.color("#CD950C")

turtle.goto(-110,174)

turtle.pendown()

turtle.goto(-110,90)

turtle.goto(110,90)

turtle.goto(110,174)

turtle.goto(90,174)

turtle.goto(90,102)

turtle.goto(-90,102)

turtle.goto(-90,176)

turtle.goto(-70,176)

turtle.goto(-70,114)

turtle.goto(70,114)

turtle.goto(70,176)

turtle.goto(50,176)

turtle.goto(50,126)

turtle.goto(-50,126)

turtle.goto(-50,180)

turtle.goto(-30,180)

turtle.goto(-30,138)

turtle.goto(30,138)

turtle.goto(30,182)

turtle.goto(10,182)

turtle.goto(-10,182)

turtle.goto(-10,150)

turtle.goto(10,150)

turtle.goto(10,166)

turtle.penup()

turtle.penup()

turtle.goto(10,76)

turtle.pendown()

turtle.pensize(2)

turtle.color("#FFD700")

turtle.goto(10,-75)

turtle.penup()

turtle.penup()

turtle.pensize(6)

turtle.color("#CD950C")

turtle.goto(-110,-174)

turtle.pendown()

turtle.goto(-110,-90)

turtle.goto(110,-90)

turtle.goto(110,-174)

turtle.goto(90,-174)

turtle.goto(90,-102)

turtle.goto(-90,-102)

turtle.goto(-90,-176)

turtle.goto(-70,-176)

turtle.goto(-70,-114)

turtle.goto(70,-114)

turtle.goto(70,-176)

turtle.goto(50,-176)

turtle.goto(50,-126)

turtle.goto(-50,-126)

turtle.goto(-50,-180)

turtle.goto(-30,-180)

turtle.goto(-30,-138)

turtle.goto(30,-138)

turtle.goto(30,-182)

turtle.goto(10,-182)

turtle.goto(-10,-182)

turtle.goto(-10,-150)

turtle.goto(10,-150)

turtle.goto(10,-166)

turtle.penup()

turtle.penup()

turtle.goto(-130,170)

draw(-130,78,130,-78,'#FFD700')

draw(130,-78,-130,78,'#FFD700')

turtle.penup()

turtle.penup()

turtle.speed(1)

turtle.penup()

turtle.goto(-100,0)

turtle.pendown()

turtle.color('#D2691E')

turtle.write("花",font=("隶书",60,"bold"))

turtle.penup()

turtle.goto(30,0)

turtle.pendown()

turtle.write("好",font=("隶书",60,"bold"))

turtle.penup()

turtle.goto(-100,-80)

turtle.pendown()

turtle.write("月",font=("隶书",60,"bold"))

turtle.penup()

turtle.goto(30,-80)

turtle.pendown()

turtle.write("圆",font=("隶书",60,"bold"))

turtle.penup()

p.hideturtle()

turtle.mainloop()

第二种:

import turtle

turtle.title("祝大家中秋节快乐!")

turtle.speed(100)

turtle.color("#F5E16F")

for i in range(20):

turtle.right(18)

turtle.begin_fill()

turtle.forward(220)

turtle.circle(40, 180)

turtle.goto(0, 0)

turtle.right(360)

turtle.end_fill()

turtle.pensize(20)

turtle.color("#F5E16F", "#FF9933")

turtle.goto(0, -200)

turtle.begin_fill()

turtle.circle(200)

turtle.end_fill()

turtle.right(360)

turtle.color('#F5E16F')

turtle.goto(0, -180)

for i in range(12):

turtle.begin_fill()

turtle.circle(60, 120)

turtle.left(180)

turtle.circle(60, 120)

turtle.end_fill()

turtle.penup()

turtle.goto(-80,-40)

turtle.pendown()

turtle.color("#F5E16F")

turtle.write("团圆", font=("隶书", 60, "bold"))

turtle.mainloop()

三、素材背景

将图片放在文件夹中

本文将1.png放在yueliang文件夹中

1.png

2.png

3.png 

 更多的背景可以在网上搜索获得。

四、原理解释

1、概念

        turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制,其概念诞生于1969年。turtle是最有价值的程序设计入门实践库,它是程序设计入门层面最常用的基本绘图库。

turtle的绘图原理:

有一只海龟处于画布正中心,由程序控制在画布上游走;海龟走过的轨迹形成了绘制的图形海龟由程序控制,可改变其大小,颜色等

使用 import 保留字对 turtle 库的引用以下方式:

import turtle

2、函数

窗体函数

turtle.setup()函数与窗体有关,定义如下:
turtle.setup(width,height,startx,starty)
作用:设置主窗体的大小和位置

参数:
width:窗口宽度。如果值是整数,表示像素值;如果值是小数,表示窗口宽度与屏幕的比例
height:窗口高度。如果值是整数,表示像素值;如果值是小数,表示窗口高度与屏幕的比例
startx:窗口左侧与屏幕右侧的像素距离。如果值是None,窗口位于屏幕水平正中央。

 画笔状态函数

函数描述pendown( )放下画笔penup()提起画笔pensize(width)设置画笔线条的粗细为指定大小pencolor()设置画笔的颜色color( a,b)同时设置画笔和填充颜色begin_fill()填充恩形前,调用该方法end_fill( )填充图形结束filling()返回填充的状态,True为填充。False为未填充clear( )清空当前窗口,但不改变当前画笔的位置reset()清空当前窗口,并重置位置等状态为默认值screensize( )设置画布窗口的宽度、高度和背昱颜色hideturtle()隐藏画笔的turtle形状showturtle( )显示画笔的turtle形状isvisible( )如果turtle可见,则返回Truewrite(str,font=None)输出font字体的字符串

画笔运动函数

函数描述fd(distance)沿着当前方向前进指定距离bk(distance)沿着当前相反方向后退指定距离right(angle)向右旋转angle角度left(angle)向左旋转angle角度goto(x,y)移动到绝对坐标xy)处sex(x)修改画笔的横坐标到次,纵坐标不变sety(y)修改画笔的纵坐标到y,横坐标不变seth(angle)设置当前朝向为angle角度home()设置当前画笔位置为原点,朝向东circle(radius,e)绘制一个指定半径r和角度e的圆或新形dot(r.color)绘制一个指定半径r和预色color的圆点undo( )撤销画笔的最后一步动作speed()设置画笔的绘制速度,参数为0~10之间

颜色代码大全

 可以选择自己喜欢的颜色画。

颜色参考:CSS 颜色代码大全 CSS颜色对照表

  往期:

【中秋征文】使用Python创意中秋节画月饼《花好月圆》

【中秋征文】使用Python中秋节嫦娥投食游戏《千里婵娟》

相关知识

【中秋征文】使用Python创意中秋节画月饼《花好月圆》
土木工程与建筑学院开展“花好月圆人长久”中秋师生月饼DIY活动
普天同庆迎国庆,花好月圆庆中秋
共谱中秋文化传承 “花好月圆”中秋雅集举办——人民政协网
我们的节日·中秋丨宁波市“花好月圆 诗话中秋”网络文明传播活动优秀作品展示 ——宁波文明网
中秋节的小知识:月饼何时出现?为何要祭月?
中秋国庆喜相连 花好月圆同欢庆——各界群众欢度中秋扫描
今日中秋|丹桂飘香又中秋,花好月圆人长久
喜迎中秋国庆双节祝福语大全(10篇)
花好月圆庆中秋 同心筑梦迎国庆

网址: 【中秋征文】使用Python创意中秋节画月饼《花好月圆》 https://m.huajiangbk.com/newsview36631.html

所属分类:花卉
上一篇: 中秋节作文:憧憬“花未全开月未圆
下一篇: 中秋节期间湖北全警动员守护花好月