国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python - Matplotlib 繪制 3D 圣誕樹

這篇具有很好參考價值的文章主要介紹了Python - Matplotlib 繪制 3D 圣誕樹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

系列文章目錄

?文章來源地址http://www.zghlxwxcb.cn/news/detail-811761.html

前言

轉(zhuǎn)自:How to draw a 3D Christmas Tree with Matplotlib | by Timur Bakibayev, Ph.D. | Analytics Vidhya | Mediumhttps://medium.com/analytics-vidhya/how-to-draw-a-3d-christmas-tree-with-matplotlib-aabb9bc27864

因為我們把圣誕樹安裝在暖氣電池旁邊,所以它很快就死了。所以我決定用 Matplotlib 繪制一棵圣誕樹。你不需要為它遮陽避暑,它也不需要任何水。在阿瑞克斯星球,水的供應(yīng)是有限的。地球上也是如此。?


?

一、步驟

1.1?

要在 matplotlib 中繪圖,我們需要將其包含在內(nèi)。

此外,我們還要為 3D 準備所有庫。

import math
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection="3d")

?讓我們先畫一個 3D 圓,確保一切正常。

fig = plt.figure()
ax = fig.add_subplot(111, projection="3d")
k=300
Z = [10 for i in range(k)]
X = [math.cos(i/10) for i in range(k)]
Y = [math.sin(i/10) for i in range(k)]
ax.scatter(X,Y,Z, c="green", marker="^")
plt.show()

Python - Matplotlib 繪制 3D 圣誕樹,matplotlib,python,人工智能,深度學習,c++,機器人,開發(fā)語言

不錯!這是非常標準的。我們現(xiàn)在只修復(fù) Z 坐標。

現(xiàn)在,應(yīng)用 Z 坐標使其 3D 化。

Z = [i for i in range(k)]

?

Python - Matplotlib 繪制 3D 圣誕樹,matplotlib,python,人工智能,深度學習,c++,機器人,開發(fā)語言

讓我們在頂部縮小圓的半徑。

Z = [i for i in range(k)]
X = [math.cos(i/5)*(k-i) for i in range(k)]
Y = [math.sin(i/5)*(k-i) for i in range(k)]

Python - Matplotlib 繪制 3D 圣誕樹,matplotlib,python,人工智能,深度學習,c++,機器人,開發(fā)語言

?Matplotlib 總是傾向于貼合圖形,只需在此處添加這些限制即可:

?

plt.xlim(-500,500)
plt.ylim(-500,500)

?

Python - Matplotlib 繪制 3D 圣誕樹,matplotlib,python,人工智能,深度學習,c++,機器人,開發(fā)語言

?畫一些紅圈。它們的公式相同,但步長更大。我們還通過在 sin 和 cos 參數(shù)上加 2 來移動它,這樣它們就不會與樹本身相交。

k=300
Z = [i for i in range(k)]
X = [math.cos(i/5)*(k-i) for i in range(k)]
Y = [math.sin(i/5)*(k-i) for i in range(k)]
ax.scatter(X,Y,Z, c="green", marker="^")
k=300
step = 4
Z = [i for i in range(1,k,step)]
X = [math.cos(i/5+2)*(k-i+10) for i in range(1,k,step)]
Y = [math.sin(i/5+2)*(k-i+10) for i in range(1,k,step)]
ax.scatter(X,Y,Z, c="red", marker="o")
plt.xlim(-500,500)
plt.ylim(-500,500)
plt.show()

Python - Matplotlib 繪制 3D 圣誕樹,matplotlib,python,人工智能,深度學習,c++,機器人,開發(fā)語言

?微調(diào)裝飾

c = [(i/k,abs(0.5-i/k),i/k) for i in range(1,k,step)]
ax.scatter(X,Y,Z, c=c, marker="o",s=40)

Python - Matplotlib 繪制 3D 圣誕樹,matplotlib,python,人工智能,深度學習,c++,機器人,開發(fā)語言

要旋轉(zhuǎn)樹形圖,我們需要為每一幀繪制樹形圖,并在 sin 和 cos 參數(shù)中添加一些常數(shù)。

我們?yōu)槌跏紙D形和每一幀復(fù)制代碼。

import math
import matplotlib.pyplot as plt
from matplotlib import animation
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure(figsize=(8,8))
ax = fig.add_subplot(111, projection="3d")
def init():
    k=300
    Z = [i for i in range(k)]
    X = [math.cos(i/5)*(k-i) for i in range(k)]
    Y = [math.sin(i/5)*(k-i) for i in range(k)]
    ax.scatter(X,Y,Z, c="green", marker="^")
    step = 3
    c = [(i/k,abs(0.5-i/k),i/k) for i in range(1,k,step)]
    Z = [i for i in range(1,k,step)]
    X = [math.cos(i/5+2)*(k-i+10) for i in range(1,k,step)]
    Y = [math.sin(i/5+2)*(k-i+10) for i in range(1,k,step)]
    ax.scatter(X,Y,Z, c=c, marker="o",s=40)
    plt.xlim(-500,500)
    plt.ylim(-500,500)
    return fig,
def animate(f):
    fig.clear()
    ax = fig.add_subplot(111, projection="3d")
    k=300
    Z = [i for i in range(k)]
    X = [math.cos(i/5+f/10)*(k-i) for i in range(k)]
    Y = [math.sin(i/5+f/10)*(k-i) for i in range(k)]
    ax.scatter(X,Y,Z, c="green", marker="^")
    step = 3
    c = [(i/k,abs(0.5-i/k),i/k) for i in range(1,k,step)]
    Z = [i for i in range(1,k,step)]
    X = [math.cos(i/5+2+f/10)*(k-i+10) for i in range(1,k,step)]
    Y = [math.sin(i/5+2+f/10)*(k-i+10) for i in range(1,k,step)]
    ax.scatter(X,Y,Z, c=c, marker="o",s=40)
    plt.xlim(-500,500)
    plt.ylim(-500,500)
    return fig,
ani=animation.FuncAnimation(fig, animate, init_func=init,
                               frames=90, interval=50, blit=True)
ani.save("christmas_tree.mp4")

?這就是結(jié)果:

Python - Matplotlib 繪制 3D 圣誕樹,matplotlib,python,人工智能,深度學習,c++,機器人,開發(fā)語言

?

不要忘記與您的朋友分享這棵樹!

新年快樂

點擊此處查看我的其他文章:timurbakibayev.medium.com

timurbakibayev.medium.comhttp://timurbakibayev.medium.com/

?

?

?

到了這里,關(guān)于Python - Matplotlib 繪制 3D 圣誕樹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 用HTML寫一段3D動態(tài)圣誕樹代碼

    你好! 這是一段用HTML寫的3D動態(tài)圣誕樹的代碼: 這段代碼會創(chuàng)建一個500x500像素的3D圣誕樹,樹干是棕色的,樹枝是綠色的。樹干和樹枝會不斷旋轉(zhuǎn)360度,形成動畫效果。希望這能幫到你!

    2024年02月03日
    瀏覽(24)
  • 圣誕節(jié)怎么能缺少圣誕樹呢?Python+HTML打造專屬于你的圣誕樹

    圣誕節(jié)怎么能缺少圣誕樹呢?Python+HTML打造專屬于你的圣誕樹

    前言: 美酒一杯讓人醉,溫馨陪伴浪漫隨;雪花片片惹人愛,煩惱憂傷全不見;字里行間藏真情,文短情深送心愿:圣誕佳節(jié)快來到,祝大家永遠開心幸福! Hello大家好,我是Dream。 圣誕節(jié)馬上到了,一些朋友問我想送女朋友和男朋友們圣誕節(jié)禮物,但是也沒想到啥好點子,作為

    2024年02月02日
    瀏覽(94)
  • python系列之(大家圣誕快樂)圣誕樹

    python系列之(大家圣誕快樂)圣誕樹

    2022年圣誕節(jié)到來啦,很高興這次我們又能一起度過~, 圣誕節(jié)源自古羅馬人迎接新年的農(nóng)神節(jié),與基督教本無關(guān)系。在基督教盛行羅馬帝國后,教廷將這種民俗節(jié)日納入基督教體系,同時以慶祝耶穌的降生。但在圣誕節(jié)這天不是耶穌的生辰,因為《圣經(jīng)》未記載耶穌具體出生

    2024年02月04日
    瀏覽(98)
  • Python 圣誕樹代碼

    Python 圣誕樹代碼

    1.本章將會講解Python編程 實現(xiàn)圣誕樹效果! 2.圣誕節(jié)介紹 基督教紀念耶穌誕生的重要節(jié)日。亦稱耶穌圣誕節(jié)、主降生節(jié),天主教亦稱耶穌圣誕瞻禮。耶穌誕生的日期,《圣經(jīng)》并無記載。公元336年羅馬教會開始在12月25日過此節(jié)。12月25日原是羅馬帝國規(guī)定的太陽神誕辰。有人

    2024年02月03日
    瀏覽(93)
  • Python圣誕樹代碼

    Python圣誕樹代碼

    2024年02月04日
    瀏覽(93)
  • python圣誕樹代碼編程

    python圣誕樹代碼編程

    以下是一個簡單的Python圣誕樹代碼: def draw_tree(height): ????for i in range(height): ????????print(\\\' \\\' * (height - i - 1) + \\\'*\\\' * (2 * i + 1)) ????print(\\\' \\\' * (height - 1) + \\\'|\\\') draw_tree(10) 這個函數(shù)會繪制一個等腰三角形,其中每一行的星號數(shù)量從1開始,每次遞增2,空格數(shù)量則相反,從等腰三

    2024年02月05日
    瀏覽(90)
  • 用Python畫圣誕樹

    用Python畫圣誕樹

    我們的目標是將代碼和素材全部隱藏起來,只需要雙擊一下鼠標就能自動帶著BGM開始畫圣誕樹。 (這是電腦桌面上的一個文件,只需要雙擊一下,代碼就會在后臺自動運行了) (一秒后,就會看到彈出界面開始畫圣誕樹了,并且自動播放背景音樂哦) (再然后,就能看到畫

    2023年04月18日
    瀏覽(65)
  • Python生成高級圣誕樹-代碼案例剖析【第16篇—python圣誕節(jié)系列】

    Python生成高級圣誕樹-代碼案例剖析【第16篇—python圣誕節(jié)系列】

    這段代碼是使用turtle庫創(chuàng)建一個圖形界面,繪制了一組彩色的正方形和圓形,最終呈現(xiàn)出一幅圖案。以下是對代碼的解析: 屏幕=。屏幕() :創(chuàng)建了一個Turtle屏幕對象。 screen.setup(375, 700) :設(shè)置屏幕大小為375x700像素。 圓圈=。() :創(chuàng)建了一個Turtle對象,命名為circle。 c

    2024年02月03日
    瀏覽(89)
  • python-turtle(海龜繪圖)圣誕樹

    python-turtle(海龜繪圖)圣誕樹

    1.在開始前需要引入turtle庫,若沒有下載這個庫可以復(fù)制下面這條語句在PyCharm終端下載 ? 2.turtle庫,它這個畫筆是在這個窗口橫軸x軸,縱軸y軸從原點(0,0)處開始,以函數(shù)指令使其移動繪圖。 ?最近今天持續(xù)發(fā)燒,沒來得急上傳,趕一波末班車嘻嘻

    2024年02月03日
    瀏覽(909)
  • 用python畫一顆會動的圣誕樹

    要用 Python 畫一棵會動的圣誕樹,你可以使用 Python 的圖形庫來實現(xiàn)。比如說可以使用 Tkinter、pygame 等庫。 這里以 Tkinter 為例,給出一個簡單的代碼示例: 在這段代碼中,我們首先使用 Tkinter 庫創(chuàng)建了一個窗口和一個畫布,然后使用畫布的 create_polygon 方法在畫布上畫出了一棵

    2024年02月03日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包