中秋快到了利用python畫個月亮和月餅

一、🌕月亮

導入庫matplotlib和numpy,作為工具直接用。
from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np
布局
創(chuàng)建一個長×寬的一個畫布大小
fig = plt.figure(figsize=(10,5))
布置3D視角
ax = fig.add_subplot(121, projection='3d')
生成等差數(shù)列的數(shù)據(jù),畫出一個球體
x = np.linspace(0, 2 * np.pi, 100) y = np.linspace(0, np.pi, 100) x1 = 10 * np.outer(np.cos(x), np.sin(y)) y1 = 10 * np.outer(np.sin(x), np.sin(y)) z = 10 * np.outer(np.ones(np.size(x1)), np.cos(y1)) ax.plot_surface(x1, y1, z, color='yellow')
此時我們發(fā)現(xiàn)只畫了一個月亮,所以我們打算畫第二個月亮,湊成一對~
ax = fig.add_subplot(122, projection='3d') x = np.linspace(0, 2 * np.pi, 100) y = np.linspace(0, np.pi, 100) x1 = 10 * np.outer(np.cos(x), np.sin(y)) y1 = 10 * np.outer(np.sin(x), np.sin(y)) z = 10 * np.outer(np.ones(np.size(x1)), np.cos(y1)) ax.plot_surface(x1, y1, z, color='r')
效果圖
還可以吧~哈哈哈哈!

二、🌕雪花月餅

導入所需要的庫,用的比較多的是turtle這個庫來寫的~
import turtle import time
我們先畫一個底層的黃黃的餅作為底部~
def circle():
fillX_y(0, 0)
turtle.color("#F0E68C")
for _ in range(30):
turtle.left(12)
turtle.begin_fill()
turtle.forward(230)
turtle.circle(25, 180)
turtle.goto(0, 0)
turtle.left(180)
turtle.end_fill()
time.sleep(0.5)

既然是雪花月餅,就應該是有雪花,接下來我們來畫雪花吧!
采用科赫曲線進行畫雪花。要改變彎曲程度。
def koch(size, n): # 定義彎曲的直線使其有棱角 if n == 0: turtle.fd(size) else: for angle in [0, 60, -120, 60]: # 每一次都對其進行合理的角度改變 turtle.left(angle) koch(size / 3, n - 1)
因為打算畫八個,并且加上顏色,所以七彩雪花~
if a == 1:
turtle.color("black") # 控制畫筆的顏色
elif a == 2:
turtle.color("purple")
elif a == 3:
turtle.color("blue")
elif a == 4:
turtle.color("Cyan")
elif a == 5:
turtle.color("green")
elif a == 6:
turtle.color("yellow")
elif a == 7:
turtle.color("orange")
elif a == 8:
turtle.color("red")
由于是八個雪花嵌套的,所以要進行一個等比縮放的包裹。
turtle.penup() turtle.goto(-200 * (4 / 7) ** (s - n), 100 * (4 / 7) ** (s - n)) # 每一次都是需要合理的等比例的擴大或是縮小 turtle.pendown() turtle.pensize(2) level = 5 koch(400 * (4 / 7) ** (s - n), level) # 大小是一個一個試出來的 # 不能超過setup的設定的范圍 600,不然就越界了 turtle.right(120) koch(400 * (4 / 7) ** (s - n), level) turtle.right(120) koch(400 * (4 / 7) ** (s - n), level) # 注意這里koch一次就要轉一次角度 turtle.right(120) turtle.hideturtle() # 隱藏畫筆 flower(n - 1)
效果圖!啊哈哈哈!是雪花月餅呀!

到此這篇關于中秋快到了利用python畫出月亮和月餅的文章就介紹到這了,更多相關用python畫出月亮和月餅內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
最后,希望我的中秋禮品能帶給你一絲的歡喜~
提前祝中秋快樂鴨~
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
關注官方微信