使用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绘制月饼,慢慢等待将至的中秋节的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB | 中秋节 · 绘制《山间秋月》及《皓月当空》
MATLAB | 中秋节 · 绘制《山间秋月》及《皓月当空》