使用python绘制月饼,慢慢等待将至的中秋节

Posted 远方的星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python绘制月饼,慢慢等待将至的中秋节相关的知识,希望对你有一定的参考价值。

水调歌头·明月几时有
【作者】苏轼 【朝代】宋
丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。

明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间。

转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。

很快就要到农历八月十五了,一年一度的中秋团圆节。中秋节要吃月饼,随着生活水平的提高,月饼的种类也越来越多,经典的五仁月饼、刺激的椒盐月饼、多样的水果月饼、迷人的豆沙月饼还有肉松月饼等等。

作为一名小程序猿,今年,我准备用python制作一个月饼🥮。

  • 代码如下:
    参数可以自己修改调整
# -*- coding: UTF-8 -*-
"""
# @Time: 2021/9/14 21:13
# @Author: 远方的星
# @CSDN: https://blog.csdn.net/qq_44921056
"""
import turtle as turtle
import math

turtle.hideturtle()
turtle.speed(10)


class MoonCake(object):
    def __init__(self, name: str):
        self.name = name

    #  画月饼的花边
    def external_pattern(self, r: int, n: int):  # r为外部花边的圆的半径;n为外部花边的个数
        turtle.penup()
        turtle.goto(0, -r)
        turtle.pendown()

        round_r = math.sin(math.pi / n) * r  # 月饼花圈的半径

        for i in range(n):
            turtle.penup()  # 画笔抬起
            turtle.home()  # 恢复为初始位置
            turtle.seth((360/n) * i)  # 改变画笔方向,但不前进
            turtle.fd(r)
            turtle.left((360/n) * 0.5)  # 画笔左转一定的角度
            turtle.pendown()
            turtle.color('#F0BE7C')  # 设置颜色
            turtle.begin_fill()  # 开始填充颜色
            turtle.circle(round_r, 180)
            turtle.end_fill()

    # 画内部纹路图案
    def internal_pattern(self):
        turtle.color('#F5E16F')
        turtle.goto(0, -180)
        for _ in range(8):
            turtle.begin_fill()
            turtle.circle(60, 120)
            turtle.left(180)
            turtle.circle(60, 120)
            turtle.end_fill()

    # 画圆的子函数,下文需要调用
    def draw_circle(self, r: int, pensize: int, color1: str, color2: str):
        turtle.penup()
        turtle.goto(0, -r)
        turtle.seth(0)
        turtle.pendown()
        turtle.pensize(pensize, )
        turtle.color(color1, color2)
        turtle.begin_fill()
        turtle.circle(r)
        turtle.end_fill()

    # 画月饼内部的框架的子函数,下文需要调用
    def draw(self):
        turtle.title("提前祝您中秋快乐!!!")  # 画板窗口的标题
        self.external_pattern(200, 12)  # 月饼的外花边
        self.draw_circle(200, 10, '#F0BE7C', '#F0BE7C')  # 画上大圆圈
        self.draw_circle(180, 10, '#F8CD32', '#FBA92D')  # 画上小圆圈
        self.internal_pattern()
        self.write_text(-105, -60)
        turtle.done()

    # 填写月饼中间的文本
    def write_text(self, x: float, y: float):
        turtle.penup()
        turtle.goto(x, y)
        turtle.pendown()
        turtle.color('Gold')
        turtle.write(self.name, font=("华文隶书", 80, "bold"))  # 写上文本


if __name__ == '__main__':
    MoonCake('团圆').draw()


提前祝大家中秋节团团圆圆,美美满满!

以上是关于使用python绘制月饼,慢慢等待将至的中秋节的主要内容,如果未能解决你的问题,请参考以下文章

❤️中秋来了,我用Python造了和RMB同色系的月饼

Python基础练手项目❤绘制美味月饼

MATLAB | 中秋节 · 绘制《山间秋月》及《皓月当空》

MATLAB | 中秋节 · 绘制《山间秋月》及《皓月当空》

中秋节快到了,别学Python了,进来排队领块月饼吧纯手工哪种!

中秋节快到了,一起用MATLAB绘制一款2.5D月饼叭