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

这篇具有很好参考价值的文章主要介绍了【中秋征文】使用Python创意中秋节画月饼《花好月圆》。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

一、效果展示

话不多说先上效果

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

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

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

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

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

【中秋征文】使用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)#33
turtle.circle(420,-84)#-60
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'):#边角的2个点,分别是(a1,b1),(a2,b2)
    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()

#下面是4个角图案
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.bgpic("hua/1.png")

turtle.speed(100)
turtle.color("#F5E16F")
for i in range(20):
 # 顺时针移动18度
 turtle.right(18)
 turtle.begin_fill()
 # 向前移动的距离
 turtle.forward(220)
 # 画半径为 40 的半圆
 turtle.circle(40, 180)
 # 画完半圆之后回到(0,0)
 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

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

2.png

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

3.png 

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

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

四、原理解释

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可见,则返回True
write(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之间

颜色代码大全

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

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

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

  往期:

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

【中秋征文】使用Python中秋节嫦娥投食游戏《千里婵娟》文章来源地址https://www.toymoban.com/news/detail-403566.html

到了这里,关于【中秋征文】使用Python创意中秋节画月饼《花好月圆》的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 中秋时节赏明月,五子棋戏月饼趣 — Flutter中秋限定版五子棋

    中秋时节赏明月,五子棋戏月饼趣 — Flutter中秋限定版五子棋

    前言 当中秋时节来临,我们都期待着与亲人朋友共度这个美好的节日。这个时候,除了传统的赏月和品尝美味的月饼,我还有一个特别的建议——尝试一款有趣的Flutter五子棋游戏!这款五子棋游戏以中秋为主题,游戏的棋子也可爱地模仿了月饼和玉兔的形状,让我们在这个

    2024年02月06日
    浏览(13)
  • 索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛

    索尼 toio™ 应用创意开发征文 | 如何用Python控制Q宝进行机器人擂台赛

    对于青少年来说,操控自己的机器人打擂台是非常有成就感的活动。如今,索尼toio™就能让他们梦想成真。我们可以在布置好的场地中使用键盘或操作杆操控两个Q宝机器人互相攻击,先被挤出场地的一方判负。下面我会分享如何使用toio™机器人来实现一场精彩刺激的机器人

    2024年02月09日
    浏览(24)
  • 索尼 toio™应用创意开发征文|联盟国战

    索尼 toio™应用创意开发征文|联盟国战

    ✨ 能用众力,则无敌于天下矣;能用众智,则无畏于圣人矣。 —— 孙权          今天给大家分享一个易上手的小玩意来辅助我们的小孩学习玩耍,它就是索尼 toio™,一款寓教于乐的编程机器人,可以让孩子在玩游戏、互动中了解编程,提高孩子的创造力和思维能力。下

    2024年02月09日
    浏览(6)
  • 索尼 toio ™应用创意开发征文|一个理想的绘画小助手

    toio™机器人是索尼推出的一款创意玩具,它的小巧和可编程性使其成为一个理想的绘画助手。通过编程控制机器人的运动和绘画工具,我们可以帮助老师为小朋友提供一个有趣的绘画教学体验。 我们可以通过JavaScript编程来控制toio™机器人的运动和绘画工具。首先,我们需要

    2024年02月09日
    浏览(11)
  • 索尼 toio™ 应用创意开发征文|索尼 toio™——动物界猫狗的追逐比赛

    索尼 toio™ 应用创意开发征文|索尼 toio™——动物界猫狗的追逐比赛

    导语: 本文将探讨toio™玩具的创意方向——动物界猫狗的追逐比赛,在技术的不断进步和发展中,玩具也逐渐融入了智能化的潮流。于是,我想设计两只可爱的小动物进行比赛,通过一系列的代码来实现,我用的是Python编程的语言,首先展示一下机器人是如何一步一步移动

    2024年02月07日
    浏览(9)
  • 使用Python和Selenium自动化爬取 #【端午特别征文】 探索技术极致,未来因你出“粽” # 的投稿文章

    使用Python和Selenium自动化爬取 #【端午特别征文】 探索技术极致,未来因你出“粽” # 的投稿文章

    本文章将介绍如何使用Python的Selenium库和正则表达式对CSDN的活动文章进行爬取,并将爬取到的数据导出到Excel文件中。 导入相关模块 首先,我们需要导入以下模块: re是Python内置的正则表达式模块,用于处理字符串匹配和搜索。 time模块提供了一些与时间相关的函数,我们可

    2024年02月11日
    浏览(7)
  • 点亮你的创意,使用Python与树莓派制作呼吸灯的详细教程

    点亮你的创意,使用Python与树莓派制作呼吸灯的详细教程

      在上一篇文章中,我们介绍了如何在树莓派上点亮一个LED灯,并让它以时间间隔为1秒进行闪烁。闪亮登场!在树莓派上点亮LED灯的简单详细方法_☞黑心萝卜三条杠☜的博客-CSDN博客。现在,我们将介绍如何制作一个呼吸灯。   PWM是脉冲宽度调制(Pulse Width Modulation)的

    2024年02月10日
    浏览(11)
  • Python中秋祝福小程序

    Python中秋祝福小程序

    效果图所示代码如下,可以根据自己的想法来对程序进行修改,得到更好的效果。 代码不易,点个赞支持一下吧!!!

    2024年02月07日
    浏览(11)
  • 【华为OD机考 统一考试机试C卷】分月饼(C++ Java JavaScript Python)

    目前在考C卷,经过两个月的收集整理, C卷真题已基本整理完毕 抽到原题的概率为2/3到3/3, 也就是最少抽到两道原题。 请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。 另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。

    2024年02月02日
    浏览(47)
  • 【华为OD机考 统一考试机试C卷】分月饼(C++ Java JavaScript Python C语言)

    目前在考C卷,经过两个月的收集整理, C卷真题已基本整理完毕 抽到原题的概率为2/3到3/3, 也就是最少抽到两道原题。 请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。 另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。

    2024年01月23日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包