溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

利用python畫出月亮和月餅代碼實例

發(fā)布時間:2021-09-15 20:08:58 來源:億速云 閱讀:435 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“利用python畫出月亮和月餅代碼實例”,在日常操作中,相信很多人在利用python畫出月亮和月餅代碼實例問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”利用python畫出月亮和月餅代碼實例”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

目錄
  • 一、?月亮

  • 二、?雪花月餅

利用python畫出月亮和月餅代碼實例

一、?月亮

利用python畫出月亮和月餅代碼實例

導(dǎo)入庫matplotlibnumpy,作為工具直接用。

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')

效果圖

還可以吧~哈哈哈哈!

利用python畫出月亮和月餅代碼實例

二、?雪花月餅

利用python畫出月亮和月餅代碼實例

導(dǎo)入所需要的庫,用的比較多的是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)

利用python畫出月亮和月餅代碼實例

既然是雪花月餅,就應(yīng)該是有雪花,接下來我們來畫雪花吧!

采用科赫曲線進(jìn)行畫雪花。要改變彎曲程度。

def koch(size, n):  # 定義彎曲的直線使其有棱角
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0, 60, -120, 60]:  # 每一次都對其進(jìn)行合理的角度改變
            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")

由于是八個雪花嵌套的,所以要進(jìn)行一個等比縮放的包裹。

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的設(shè)定的范圍 600,不然就越界了
turtle.right(120)
koch(400 * (4 / 7) ** (s - n), level)
turtle.right(120)
koch(400 * (4 / 7) ** (s - n), level)  # 注意這里koch一次就要轉(zhuǎn)一次角度
turtle.right(120)
turtle.hideturtle()  # 隱藏畫筆
flower(n - 1)

效果圖!啊哈哈哈!是雪花月餅呀!

利用python畫出月亮和月餅代碼實例

到此,關(guān)于“利用python畫出月亮和月餅代碼實例”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI