中秋節をコードで過ごしたら、ニシキヘビの亀の月餅を食べてみませんか?

        目次:

1. 2022年の中秋節の祝福

第二に、Pythonタートル描画の主な方法

(1) タートル描画の主な手順

(2)タートル描画の座標系

(3) カメの描画に関するいくつかの提案

3. タートル描画の共通コマンド

1. 初期化

2.ブラシのプロパティ

3.ブラシモーションコマンド

4. ブラシ色制御コマンド

5. グローバル制御コマンド

4. 中秋の月餅の写真鑑賞

5. 「コードで月餅を描く」シリーズ集

1. 雪皮の月餅

2.クロシンブランド「月餅」

3. 福の月餅

4. 文様の月餅

5. MATLAB は 2.5D 月餅を描画します

6. 2022年中秋節プログラマーポートフォリオ


1. 2022年の中秋節の祝福

   この 2022 CSDN 中秋節のエッセイのテーマは、プログラマーが中秋節を祝うための 100 の方法です。答えは否定的です。人ができるだけ早く自分自身を明確に位置付けることができれば、特定の側面で究極を達成することができ、より早く成果を上げることができれば、この方法は正しい. 才能は人それぞれ異なり、人生経験も異なります。一見関係ないように見えても、関係しているものはたくさんあると思うので、自分を特定の位置に固定したわけではありません。. .

  世界は日々変化しており、特に一部のハイテク (特定の側面を指すのではなく、さまざまなハイテクの組み合わせを指す) の急速な進歩は、人々を本当に感じさせることがあります。. . 何か信じられないようなことが起こったとしても、恐れずに自分を大切にし、周りの親切な人を大切にしてください。簡単に満足しないでください。この世界には、あなたよりも優れた人やグループが常に存在します。

  話題が遠すぎるので、中秋節の話をしましょう。プログラマーは、コードを使用して中秋節に向けた独自の祝福を織り込み、周囲の人々に独自の贈り物を送ることができます。たとえば、コード付きのカスタム月餅、カスタム中秋のグリーティング カードなどです。

  この中秋節では、python を使用して、みんなのために月餅を描きました. python アニメーション画像のコンセプト: 絵のように美しい山と川、空の明るい月、メロディアスなピアノ音楽、そして地味な逆境. CSDNのプラットフォームを使用して共有します中秋節の月餅をあなたと一緒に.私は皆に幸せな中秋節を願っています!

  人生の半分を歩んだ今でも笑ったりため息をついたりしています世の中の悲しみや寒さを手放して、得も損も地味に見てください。あなたが幸せになり、決して一人にならず、幸せが浸透しますように。暗闇の中で星明かりがあなたを導き、ホタルが真偽を見分ける澄んだ目でありますように。あなたの後ろにいつも力があり、あなたがあなた自身の太陽でありますように!あなたが永遠にとどまりますように!

第二に、Pythonタートル描画の主な方法

  亀の描画(亀のライブラリ)はpythonの内部モジュールで、turtlekuをインポートして使うことができます

  タートルには、向き、位置、ブラシのプロパティなど、いくつかの重要なプロパティがあります。

(1) タートル描画の主な手順

  通常、私たちが描くとき

  最初のステップは、実際の状況に応じて、タートル ライブラリと、ランダム関数ライブラリ random、numpyライブラリなど、描画に使用される可能性があるいくつかのライブラリをインポートすることです。

  指示:

  カメの輸入

  インポートランダム

  

  2 番目のステップでは、setup() を使用してキャンバス サイズを設定します。

  キャンバス:

  キャンバスは描画に使用する領域で、サイズと初期位置を設定できます

  キャンバス サイズの設定:

  1. turtle.screensize(canvwidth=なし, canvheight=なし, bg=なし)

  パラメーターは、キャンバスの幅 (単位ピクセル)、高さ、および背景色です。

  turtle.screensize() デフォルトサイズ (400, 300)

  例: turtle.screensize(800, 600, "黒")

  2. turtle.setup(幅=値, 高さ=値, startx=なし, starty=なし)

  setup() は、フォームのサイズと位置を設定します。

  パラメータ:

  幅、高さ: 整数の場合はピクセルを意味します。

  幅、高さ: 小数の場合は、コンピューター画面の比率を意味します

  turtle.setup(幅=0.5, 高さ=0.85, startx=なし, starty=なし)

  turtle.setup(幅=0.6, 高さ=0.6)

  (startx, starty): この座標は長方形のウィンドウの左上隅の位置を表します. 空の場合, ウィンドウは画面の中央にあります.

  例:turtle.setup(width=800, height=800, startx=100, starty=100)

  3番目のステップ、ブラシを設定します

  Pen() を使用してタートル描画オブジェクト、つまりブラシを設定します: turtle.Pen()

  t = タートル.ペン()

  turtle.Pen() の代わりに t を使用してください。コードの入力を簡素化する、1 回限りのアプローチ。

(2)タートル描画の座標系

  コードが実行されると、キャンバスが作成され、画面の中央にタートル (矢印) が表示されます。

  タートルの描画では、タートルの始点、つまりキャンバスの中心を (0,0)、移動単位をピクセル (pixel)、タートルの頭を x 軸方向として、は 0 度です。

    タートルの描画では、タートル (ブラシ) の状態を記述するために位置と方向が使用されます。

  xy 平面の (0, 0) から始まる、描画領域のロボット タートルを想像してください。最初に import turtle を実行し、次に turtle.forward(15) を実行します。これにより、(画面上で) タートルが向いている正の x 軸方向に 15 ピクセル進み、移動に応じて線分が描画されます。次に turtle.right(25) を実行すると、その場で 25 度右に曲がります。

  タートルを説明するために 2 つの単語が使用されます。座標の原点 (位置)、正の x 軸 (方向) に面しています。

  描画プロセス中に座標と角度が指定されていない場合、すべての角度と位置は相対的です (タートルの現在の位置と角度に相対的)

円は月餅を描くのによく使われます: turtle.circle(radius, extent=None, steps=None)

パラメータ:

  • radius -- 数値

  • 範囲 -- 数値 (またはなし)

  • steps -- 整数 (または None)

  radius で指定された半径の円を描きます。

  円の中心は、タートルの左側の半径単位です。

  範囲は、描かれた円の一部を決定するために使用される夾角です。範囲* が指定されていない場合は、円全体が描画されます。*extent が全周でない場合、現在のペン位置を終点として円弧が描かれます。radius が正の場合は反時計回りに、それ以外の場合は時計回りに円弧が描かれます。

  最終的に、エクステントの値に応じてタートルの向きが変わります。

  円は実際には、ステップで指定された辺の数を使用して、内接する正多角形によって近似されます。

  辺の数が指定されていない場合は、自動的に決定されます。この方法は、正多角形の描画にも使用できます。

  半径100の円を描く circle(100) 描いた後の円の中心は原点ではないことに注意してください。

(3) カメの描画に関するいくつかの提案

      a. Turtle Drawing を使用すると、複雑で複雑な形状を描くために単純なアクションを繰り返すプログラムを作成できます。

from turtle import *

スピード(0)

color('青', '#87CEFA')

begin_fill()

True の間:

    フォワード(200)

    左(170)

    abs(pos()) < 1 の場合:

        壊す

end_fill()

テキストを円形に配置する:

タートルを t としてインポート

text="皆さんの中秋節が幸せでありますように"

私のためにテキストで:

    t.write(i,align="center",font=("黑体",20,"ノーマル"))

    t.right(360/len(テキスト))

    t.penup()   

    t.forward(40)

t.hideturtle()

t.done()

  b. ブラシを非表示にし、速度を設定すると、より速く描画できます。

  c. 亀の絵のカラーコードについては、次のリンクを参照してください。

カラー比較表シリーズ(1~5) 300色(16進数、RGB、CMYK、HSV、中国語、英語名)

    好きな色を選び、対応するカラー コード値をコピーして、タートルの色設定に入れます。

3.タートル描画の共通コマンド

1. 初期化

コードコマンド

効果

カメの輸入

タートル ライブラリをインポートする

t = タートル.ペン()

ツールボックスからタートル ブラシを入手する

タートル.セットアップ()

キャンバスの設定 (寸法、距離)

turtle.bgcolor("黒")

キャンバスの背景色 (例: 黒)

画面サイズ( )  

キャンバス ウィンドウの幅、高さ、背景色を設定する

2.ブラシのプロパティ

コードコマンド

効果

turtle.pensize(幅数値)

ブラシの太さ、ブラシ線の太さを指定サイズに設定

turtle.color('ブラシの色')

ブラシの色の文字列「緑」、「赤」または RGB 3 タプル

turtle.speed(0)

ブラシの移動速度を設定する

描画するブラシの速度範囲は [0, 10] の範囲の整数で、数値が大きいほどブラシの速度が遅くなります。値 1~9、0 が最速 t.speed(0)

turtle.hideturtle()

亀のアイコンを隠す(ブラシの矢印を隠す)

タートル.ショータートル()

カメのアイコンを表示 (ブラシの矢印を表示)

3.ブラシモーションコマンド

コードコマンド

効果

タートル.フォワード()

fd(距離)         

前方に移動、現在の方向に指定された距離だけ前方に移動

bk(距離)

後ろに移動、現在とは反対方向に指定された距離だけ後ろに移動

turtle.right (回転角度)

The brush turn right, turtle. right (90) タートルの方向は右に 90° 回転します。

turtle.left (回転角度)

ブラシは左に曲がり、turtle.left(90) はタートルの方向を左に 90° 回転させます。

タートル.ペンアップ()

ペンを持ち上げる、ペンを持ち上げる

タートル.ペンダウン()

落としペン、落としペン

turtle.goto(x, y 水平, 垂直)

ブラシを制御して指定された位置に移動すると、タートルは (x,y) の位置に移動します

タートル.setx(x)

タートルの x 座標は指定された位置に移動され、縦座標は変更されません。

turtle.sety(y)

タートルの y 座標は指定された位置に移動し、横座標は変更されません。

turtle.circle (指定した半径、ラジアン)

draw circle, 指定された半径と角度 e で円または弧を描きます

turtle.dot(半径, 色)

ドットを描く (実線) 指定された半径と色でドットを描画します

turtle.setheading(angle指向角度)

turtle.seth(angle)

设置当前朝向为angle角度。画笔的指向,右是0,逆时针0-360递增

turtle.home()

设置当前画笔位置为原点,朝向东(默认值)

4、 画笔颜色控制命令

代码命令

作 用

turtle.fillcolor('颜色')

设置 填充颜色

turtle.color(color1, color2)

设置 画笔颜色为color1,填充颜色为color2

可以使用颜色名称或十六进制RGB代码

turtle.begin_fill()

开始填充颜色

turtle.end_fill()

填充完成,结束填充

turtle. pencolor(‘颜色’)

设置画笔颜色

turtle. filling()

返回填充的状态,True为填充。False为未填充

5、全局控制命令

代码命令

作 用

turtle.clear()

清空turtle窗口,但是turtle的位置和状态不会改变(当前窗口清空,当前画笔位置不改变)

turtle.reset()

清空turtle窗口,重置turtle状态为起始状态(当前窗口清空,画笔位置等状态为初始时的默认值)

turtle.undo()

撤销上一个turtle动作(撤销画笔的最后一步动作)

turtle.isvisible()

返回当前turtle是否可见

turtle.done()

关闭画笔,结束绘制,但画面保留

              

代码命令

作 用

t.write("文本" ,align="center",font=("黑体",20,"normal"))

写文本,可指定显示字体,字体大小等align(可选):left,right,center;font(可选):字体名称,字体大小,字体类型(normal,bold,italic)

四、中秋月饼图片欣赏

       要画月饼先要留意月饼长什么样,中秋节少不了月饼,现在的月饼除了传统口味的,还出了不少新口味,外观造型上也有创新,一起来看一下吧。

莲蓉月饼

蛋黄莲蓉月饼

白莲双黄

豆沙月饼

绿豆月饼

五仁月饼

水晶月饼

苏式月饼

五仁月饼(大)

冰皮月饼

绿茶月饼

奶油椰蓉

溏心蛋黄

杨枝甘露

韵香乌龙茶

白桃茉莉花

蓝莓黑莓

夏威夷果仁巧克力

芋泥芝士奇亚籽

金沙奶黄

枣泥核桃

臻品奶黄

栗蓉

红豆

奶黄

黑芝麻

南瓜

五、收集的“用代码画月饼”作品系列:

       这次我用python 海龟画的月饼,因时间的关系,除了增加了情景底图,其他的在代码上没有什么独特之处(我的代码就先不贴出来了),月饼的画法主要借鉴了下面几个作品的思路。让我们一起来学一下吧。

1.冰皮月饼

        个人观点:这款月饼画法简洁,纯海龟作图,入门简单,封装调用,只需修改几个参数就可制作出同款月饼。欠缺的是外观的月饼花纹。

from turtle import *

# 隐藏海龟
hideturtle()
# 颜色模式
colormode(255)
'''
函数说明:

pensize:画笔粗细
pencolor:画笔颜色
fillcolor:填充颜色
begin_fill:开始填充
fd:前进
circle:画圆
right:右转
end_fill():结束填充

'''


def MoonCake(bgcolor, mkcolor, wdcolor, words):
    '''
    参数说明:
    
    bgcolor: 背景颜色
    mkcolor: 月饼颜色
    wdcolor: 文字颜色
    words: 文字(4个字)
    '''
    pensize(2)
    pencolor(0, 0, 0)
    fillcolor(bgcolor)

    begin_fill()
    for i in range(12):
        if i == 5:
            p = pos()
        circle(30, 120)
        right(90)
    end_fill()
    
    penup()
    fd(20)
    pendown()

    fillcolor(mkcolor)
    
    begin_fill()
    for i in range(12):
        circle(30, 120)
        right(90)
    end_fill()

    pencolor(wdcolor)

    left(90)
    fd(140)
    left(90)
    fd(140)
    left(90)
    fd(72)
    p = pos()
    wd1 = words[0:2]
    wd2 = words[2:4]
    write(wd1, font=('Arial', 70, 'normal'))
    fd(70)
    write(wd2, font=('Arial', 70, 'normal'))
    left(90)
    fd(140)


# MoonCake((231, 162, 63), (255, 166, 16), (204, 22, 58), '五仁月饼')

MoonCake((97, 154, 195),(186, 204, 217) ,(17, 101, 154), '冰皮月饼')
mainloop()

作者:二哥不像程序员
原文地址:中秋节快到了,别学Python了,进来排队领块月饼吧【纯手工哪种】!_二哥不像程序员的博客-CSDN博客

2、Crossin牌“月饼”

        个人观点:这款月饼画法上用到了numpy和matplotlib库,需要掌握相应的基础知识。

import numpy as np
from numpy import sin, cos, pi
import matplotlib.pyplot as plt
import matplotlib.patches as mpatch
from matplotlib.patches import Arc, Circle, Wedge
from matplotlib.collections import PatchCollection

length = 20
R = 3**0.5*length/(3**0.5*cos(pi/12)-sin(pi/12))
r = 2*sin(pi/12)*R/3**0.5

arc1 = Arc([0, length], width=2*r, height=2*r, angle=0, theta1=30, theta2=150, ec='orange', linewidth=4)
arc2 = Arc([-length/2, length/2*3**0.5], width=2*r, height=2*r, angle=0, theta1=60, theta2=180, ec='orange', linewidth=4)
arc3 = Arc([-length/2*3**0.5, length/2], width=2*r, height=2*r, angle=0, theta1=90, theta2=210, ec='orange', linewidth=4)
arc4 = Arc([-length, 0], width=2*r, height=2*r, angle=0, theta1=120, theta2=240, ec='orange', linewidth=4)
arc5 = Arc([-length/2*3**0.5, -length/2], width=2*r, height=2*r, angle=0, theta1=150, theta2=270, ec='orange', linewidth=4)
arc6 = Arc([-length/2, -length/2*3**0.5], width=2*r, height=2*r, angle=0, theta1=180, theta2=300, ec='orange', linewidth=4)
arc7 = Arc([0, -length], width=2*r, height=2*r, angle=0, theta1=210, theta2=330, ec='orange', linewidth=4)
arc8 = Arc([length/2, -length/2*3**0.5], width=2*r, height=2*r, angle=0, theta1=240, theta2=360, ec='orange', linewidth=4)
arc9 = Arc([length/2*3**0.5, -length/2], width=2*r, height=2*r, angle=0, theta1=270, theta2=390, ec='orange', linewidth=4)
arc10 = Arc([length, 0], width=2*r, height=2*r, angle=0, theta1=300, theta2=420, ec='orange', linewidth=4)
arc11 = Arc([length/2*3**0.5, length/2], width=2*r, height=2*r, angle=0, theta1=330, theta2=450, ec='orange', linewidth=4)
arc12 = Arc([length/2, length/2*3**0.5], width=2*r, height=2*r, angle=0, theta1=0, theta2=120, ec='orange', linewidth=4)

art_list = [arc1, arc2, arc3, arc4, arc5, arc6, arc7, arc8, arc9, arc10, arc11, arc12]

circle = Circle((0,0), R, ec='orange', fc='white', linewidth=4)

wedge1 = Wedge([-2, 2], R-5, 90, 180, ec='orange', fc=r'white', linewidth=4)
wedge2 = Wedge([-5, 5], R-12, 90, 180, ec='orange', fc=r'white', linewidth=4)
wedge3 = Wedge([-2, -2], R-5, 180, 270, ec='orange', fc=r'white', linewidth=4)
wedge4 = Wedge([-5, -5], R-12, 180, 270, ec='orange', fc=r'white', linewidth=4)
wedge5 = Wedge([2, -2], R-5, 270, 360, ec='orange', fc=r'white', linewidth=4)
wedge6 = Wedge([5, -5], R-12, 270, 360, ec='orange', fc=r'white', linewidth=4)
wedge7 = Wedge([2, 2], R-5, 0, 90, ec='orange', fc=r'white', linewidth=4)
wedge8 = Wedge([5, 5], R-12, 0, 90, ec='orange', fc=r'white', linewidth=4)

art_list.extend([circle, wedge1, wedge2, wedge3, wedge4, wedge5, wedge6, wedge7, wedge8])
fig, ax = plt.subplots(figsize=(8,8))
ax.set_aspect('equal')
for a in art_list:
    ax.add_patch(a)

plt.text(-18, -2.5, 'CROSSIN', fontfamily=r'Times New Man', bbox=dict(boxstyle='square', fc="w", ec='orange', linewidth=4),  fontsize=50, color='orange')

plt.ylim([-35, 35])
plt.xlim([-35, 35])

plt.show()

作者:Crossin的编程教室
原文地址:

中秋节到了,送你一个Python做的Crossin牌“月饼”_Crossin的编程教室的博客-CSDN博客

3、福字月饼

        个人观点:这款月饼是python 海龟月饼,有花纹

import turtle
 
def goto(x, y):#定义提笔的位置
    turtle.penup() #将笔提起,移动时无图
    turtle.goto(x, y)
    turtle.pendown() #将笔放下,移动时绘图。
 
 
def yuebing_wai():
    turtle.pensize(20)#画笔调粗点
    turtle.color( "#F8CD32","#FBA92D")#填充颜色,F8CD32是圆圈的边缘颜色,FBA92D是圆圈的填充颜色
    goto(0, -200)#画笔起点位于(0,0)点的下方200向量处
    turtle.begin_fill()#准备开始填充
    turtle.circle(200)#定义半径
    turtle.end_fill()#填充结束
 
 
def yuebing_zhong():
    goto(0, 0)#画笔起点位于(0,0)处
    turtle.color("#F0BE7C")
    for _ in range(20):#_是占位符,表示临时变量,仅用一次,后面无需再用到 
        turtle.right(18)#顺时针移动18度
        turtle.begin_fill()
        turtle.forward(220)#向前移动的距离
        turtle.circle(40, 180)#上一条向前移动220之后,开始画半径40的半圆
        turtle.goto(0, 0)#画完半圆之后回到(0,0)
        turtle.right(360)#顺时针转个360度
        turtle.end_fill()
 
 
def yuebing_nei():#逻辑同上
    turtle.right(360)
    turtle.color('#F5E16F')#内层颜色
    goto(0, -180)
    for _ in range(12):
        turtle.begin_fill()
        turtle.circle(60, 120)
        turtle.left(180)
        turtle.circle(60, 120)
        turtle.end_fill()
 
 
def fu():#
    turtle.right(50)
    goto(-70, -80)#更高坐标尽量使字靠中间
    turtle.color("Gold")#颜色
    turtle.write("福", font=("华文隶书", 120, "bold"))
    turtle.done()
 
 
if __name__ == '__main__':
    turtle.speed(90)
    yuebing_zhong()
    yuebing_wai()
    yuebing_nei()
    fu()
 
 
turtle.done()  

作者:weixin_39912368
原文地址: 

python趣味代码_趣味项目:用Python代码做个月饼送给你!_weixin_39912368的博客-CSDN博客


4、花纹月饼

       个人观点:这款月饼属纯python 海龟绘制,外观精致,有花纹和文字,用函数定义了月饼的不同部分,修改起来不难。

import turtle

t = turtle.Pen()  # 画笔一 用于画图
t.speed(0)


# 花纹颜色 #F29407
# 饼身颜色 #F8B41A

# 画 饼身部分
def outfill_flower(flower_num: "花瓣数量", flower_color: "花瓣颜色"):
    for i in range(flower_num):
        t.left(i * (360 // flower_num))
        t.color(flower_color)
        t.penup()
        t.forward(200)
        t.pendown()
        t.fillcolor(flower_color)
        t.begin_fill()
        t.circle(60)
        t.end_fill()
        t.penup()
        t.home()


# 画 饼身外围 花纹部分
def out_line_flower(flower_num: "花纹数量", flower_color: "花纹颜色"):
    for i in range(flower_num):
        t.pensize(5)
        t.left(i * (360 // 18))
        t.color(flower_color)
        t.penup()
        t.forward(192)
        t.pendown()
        t.circle(60)
        t.penup()
        t.home()


# 画内测的大圆 大圆的填充色比饼身略亮
def big_circle(circle_color: "大圆颜色", circle_fill_color: "大圆填充颜色", circle_size: "大圆半径"):
    t.goto(circle_size, 0)
    t.left(90)
    t.pendown()
    t.pensize(8)
    t.color(circle_color)
    t.fillcolor(circle_fill_color)
    t.begin_fill()
    t.circle(circle_size)
    t.end_fill()
    t.penup()
    t.home()


# 饼上印花文字 文字内容和坐标用字典存储
def write_font(text_content: "文本内容", text_color: "文本颜色", size: "文字大小"):
    t.color(text_color)
    for x in text_content:
        t.penup()
        t.goto(text_content[x])
        t.write(x, align='center', font=('simhei', size, 'bold'))
    t.penup()
    t.home()
    t.color('#F29407')


# 饼身中间矩形条纹部分
def body_center_line(width: "矩形宽度", height: "矩形高度"):
    t.penup()
    t.home()
    t.pensize(4)
    t.pendown()
    t.backward(width / 2)
    t.forward(width)
    t.left(90)
    t.forward(height)
    t.left(90)
    t.forward(width)
    t.left(90)
    t.forward(height * 2)
    t.left(90)
    t.forward(width)
    t.left(90)
    t.forward(height)
    t.penup()
    t.home()


# 矩形条纹两侧的四个花纹 画笔轨迹是一样的 所以只需要传入不同的初始位置和角度即可复用代码
def center_flower(start_point: "落笔位置", start_angle: "落笔朝向", angle_direction_change: "新朝向",
                  rectangle_height: "矩形高度", circle_direction: "花纹弧度"):
    t.penup()
    t.goto(start_point)
    t.pendown()
    t.setheading(start_angle)
    t.forward(10)
    t.setheading(angle_direction_change)
    t.forward(20)
    t.backward(rectangle_height * 2)
    t.forward(rectangle_height * 2)
    t.setheading(start_angle)
    t.circle(circle_direction * 70, 90)
    t.setheading(start_angle + 180)
    t.forward(60)
    t.setheading(angle_direction_change)
    t.forward(30)
    t.penup()
    t.home()


# 饼身上下左右的花纹
def out_flower(begin_x: "落笔横坐标", begin_y: "落笔纵坐标", start_angle: "落笔朝向"):
    t.penup()
    t.goto(begin_x, begin_y)
    t.pendown()
    t.setheading(start_angle)
    t.forward(20)
    t.right(90)
    t.circle(-100, 20)

    t.penup()
    t.goto(begin_x, begin_y)
    t.pendown()
    t.setheading(start_angle)
    t.right(90)
    t.circle(-100, 30)
    t.left(90)
    t.forward(45)
    t.left(95)
    t.circle(190, 50)
    t.left(95)
    t.forward(45)
    t.left(90)
    t.circle(-100, 31)
    t.setheading(start_angle)
    t.forward(20)
    t.left(90)
    t.circle(100, 20)
    t.penup()
    t.home()

# 以下代码开始调用各种功能
if __name__ == "__main__":
	# 设置画布名称
    t.screen.title('中秋快乐')
    # 画 饼身部分
    outfill_flower(18, '#F8B41A')
    # 画 饼身外围 花纹部分
    out_line_flower(18, '#F29407')
    # 画内测的大圆 大圆的填充色比饼身略亮
    # big_circle('#F29407','#F8B41A',200)
    big_circle('#F29407', '#F8B51D', 200)
    # 饼上印花文字 文字内容和坐标用字典存储
    text_content = {'花': (-100, 70), '好': (100, 70), '月': (100, -120), '圆': (-98, -125)}  # 圆字坐标最后向下微调了一下
    # write_font(text_content,'#F29407',40)
    write_font(text_content, '#FC932B', 40)
    # 饼身中间矩形条纹部分
    body_center_line(12, 80)
    # 矩形条纹两侧的四个花纹
    center_flower((6, 60), 0, 90, 80, -1)
    center_flower((6, -60), 0, -90, 80, 1)
    center_flower((-6, 60), 180, 90, 80, 1)
    center_flower((-6, -60), 180, -90, 80, -1)
    # 饼身上下左右的花纹
    out_flower(6, 110, 90)
    out_flower(-110, 6, 180)
    out_flower(-6, -110, 270)
    out_flower(110, -6, 360)
    # 可以再加点字
    # text_content2 = {'天': (-50, 30), '地': (50, 30), '仁': (50, -60), '和': (-50, -60)}  # 圆字坐标最后向下微调了一下
    # write_font(text_content2, '#F29407',30)

    # 隐藏画笔
    t.hideturtle()
    # 保持画布显示
    turtle.done()



著者: Lang Tao 3000
元のアドレス: Python は中秋の月餅を描画し、亀のライブラリを使用して中秋の月餅を描画します

5. MATLAB は 2.5D 月餅を描画します

        個人的な意見:この月餅はMATLABで描いたもので、月餅の模様が絶妙で立体的です。パースペクティブはわずかに変更できます。

function moonCake
% @author:slandarer
ax=gca;
hold(ax,'on');
axis equal
ax.XLim=[-15,15];
ax.YLim=[-15,15];
CSet=[0.92 0.51 0.11;1 0.7 0.09;0.87 0.41 0.05];


for i=[1:7,9,8]
    if i==1
        tt=linspace(0,-pi/16,100);
    elseif i==9
        tt=linspace(-pi+pi/16,-pi,100);
    else
        tt=linspace(-pi/16-(i-2)*pi/8,-pi/16-(i-1)*pi/8,100);
    end
    xSet=cos(tt).*(10+abs(cos(tt.*8)));
    xMin=find(xSet==min(xSet));tt(xMin)
    xMax=find(xSet==max(xSet));
    t1=min([xMin(1),xMax(1)]);
    t2=max([xMin(1),xMax(1)]);
    xSet=cos(tt(t1:t2)).*(10+abs(cos(tt(t1:t2).*8)));
    ySet=sin(tt(t1:t2)).*(10+abs(cos(tt(t1:t2).*8)))-3;
    fill([xSet(1),xSet,xSet(end)],[ySet(1)+3,ySet,ySet(end)+3],CSet(mod(i,2)+1,:),'EdgeColor','none')
    
    
end
t=linspace(0,2*pi,640);
fill(cos(t).*(10+abs(cos(t.*8))),sin(t).*(10+abs(cos(t.*8))),CSet(1,:),'EdgeColor','none')
plot(cos(t).*(9+abs(cos(t.*8))),sin(t).*(9+abs(cos(t.*8)))-0.3,'Color',CSet(3,:),'LineWidth',6)
plot(cos(t).*8.7,sin(t).*8.7-0.3,'Color',CSet(3,:),'LineWidth',4)
plot(cos(t).*(9+abs(cos(t.*8))),sin(t).*(9+abs(cos(t.*8))),'Color',CSet(2,:),'LineWidth',6)
plot(cos(t).*8.7,sin(t).*8.7,'Color',CSet(2,:),'LineWidth',4)

plot([0 0],[-7 7]-0.3,'Color',CSet(3,:),'LineWidth',4)
plot([-7 7],[0 0]-0.3,'Color',CSet(3,:),'LineWidth',4)
plot([0 0],[-7 7],'Color',CSet(2,:),'LineWidth',4)
plot([-7 7],[0 0],'Color',CSet(2,:),'LineWidth',4)


t4=linspace(0,pi/2,100);
xSet4=[cos(t4).*6+1,1,6,cos(t4(1:end-12)).*5+1,2,4.8,cos(t4(17:end-40)).*3.9+1];
ySet4=[sin(t4).*6+1,1,1,sin(t4(1:end-12)).*5+1,2,2,sin(t4(17:end-40)).*3.9+1];

plot(xSet4,ySet4-0.3,'Color',CSet(3,:),'LineWidth',4)
plot(-xSet4,ySet4-0.3,'Color',CSet(3,:),'LineWidth',4)
plot(xSet4,-ySet4-0.3,'Color',CSet(3,:),'LineWidth',4)
plot(-xSet4,-ySet4-0.3,'Color',CSet(3,:),'LineWidth',4)
plot(xSet4,ySet4,'Color',CSet(2,:),'LineWidth',4)
plot(-xSet4,ySet4,'Color',CSet(2,:),'LineWidth',4)
plot(xSet4,-ySet4,'Color',CSet(2,:),'LineWidth',4)
plot(-xSet4,-ySet4,'Color',CSet(2,:),'LineWidth',4)
end

著者: slandarer
元のアドレス:中秋節が近づいています。MATLAB を使用して 2.5D の月餅を一緒に描きます_slandarer のブログ - CSDN ブログ

6. 2022年中秋節プログラマーポートフォリオ

中秋節の月餅スナップ スクリプトの Python バージョン

中秋節の大型映像スクリーン

[python pyecharts をツールとして使用]

著者:プーシキン。 著者: ホウ・シャオジウ
中秋節の月餅スナップ スクリプトの Python バージョン - Pushkin. ブログ - CSDN ブログ

中秋節風味の大規模な視覚化 [python pyecharts をツールとして使用] - Hou Xiaojiu のブログ - CSDN ブログ

Pygame はウサギの月餅ゲームを作成します ニシキヘビ中秋節嫦娥の餌付けゲーム
Qingyuan Xiaoruan 猿トンシュエ

再び中秋節です | Python Pygame を使用してウサギと月餅のゲームを作成する - プログラマー募集

【中秋節エッセイ】Pythonを使って中秋節嫦娥の餌やりゲーム「千里チャンジュアン」 - プログラマー募集

中秋のグリーティング カード
作者:古木子
【中秋節シリーズ】パイソンの中秋節のグリーティングカード、学ぶのに遅すぎることはありません!_Gu Muzi acridine のブログ - CSDN ブログ

      

       プログラマーは中秋節をどのように過ごしますか? 中秋節をテーマにしたゲームや小さなプログラムを編集したり、コードを使用して中秋節のさまざまな特殊効果やロマンチックなシーンを作成したり、中秋節に関連するさまざまなデータを分析したりするなど、できることはたくさんあります。祭りのテーマ。. . .

       実際、プログラマーと他の業界の人々との間に大きな違いはなく、すべての人生の歩みには独自の浮き沈みと困難があります。しかし、中秋節には、すべてを大切にし、家族と過ごす時間を増やすことしかできません。

 

 

おすすめ

転載: blog.csdn.net/weixin_69553582/article/details/126624379