成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

萬萬沒想到,Python 竟能繪制出如此酷炫的三維圖

mmy123456 / 3188人閱讀

摘要:作者通常我們用繪制的都是二維平面圖,但有時(shí)也需要繪制三維場景圖,比如像下面這樣的這些圖怎么做出來呢今天就來分享下如何一步步繪制出三維矢量圖。八面體我們先以下面這個(gè)八面體為例。

作者 | Jay Alammar

通常我們用 Python 繪制的都是二維平面圖,但有時(shí)也需要繪制三維場景圖,比如像下面這樣的:

這些圖怎么做出來呢?今天就來分享下如何一步步繪制出三維矢量(SVG)圖。

八面體

我們先以下面這個(gè)八面體為例。

1 安裝相關(guān)包

首先安裝兩個(gè)必備包:

import pyrr # NumPy 的 3D 函數(shù)庫
import svgwrite # svg圖形處理庫
2 定義 3D 圖生成環(huán)境

接下來定義幾個(gè)類設(shè)置好 3 維圖基礎(chǔ)環(huán)境:

viewport :矩形圖范圍
camera:包括視圖矩陣和投影矩陣
mesh:svg 矢量圖所需的網(wǎng)格表面矩陣、著色器和樣式字典
3 生成八面體數(shù)據(jù)

然后生成八面體每個(gè)定點(diǎn)的數(shù)據(jù):

def octahedron():
    """Construct an eight-sided polyhedron"""
    f =  sqrt(2.0) / 2.0
    verts = numpy.float32([ ( 0, -1,  0), (-f,  0,  f), ( f,  0,  f), ( f,  0, -f), (-f,  0, -f), ( 0,  1,  0) ])
    triangles = numpy.int32([ (0, 2, 1), (0, 3, 2), (0, 4, 3), (0, 1, 4), (5, 1, 2), (5, 2, 3), (5, 3, 4), (5, 4, 1) ])
    return verts[triangles]
4 pyrr 包渲染

接下來利用 pyrr 3維庫渲染上面的原始數(shù)據(jù),最后生成 svg 矢量圖。

5 生成 svg

上面最后一步生成 svg 圖形,需要調(diào)用下面的 Engine 函數(shù),略微有些復(fù)雜:

以上代碼全部封裝到類中調(diào)用,就可以生成八面體圖形了。

除了八面體還可以生成很多其他圖形。

球體和 Klein 瓶

代碼如下:

多面球體

代碼如下:

發(fā)光的球體

代碼實(shí)現(xiàn):

還可以繪制這種曲面體

代碼實(shí)現(xiàn)如下:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/45204.html

相關(guān)文章

  • Python繪制六種可視化表詳解,三維最炫酷!你覺得呢?

    摘要:散點(diǎn)圖其實(shí)散點(diǎn)圖和折線圖是一樣的原理,將散點(diǎn)圖里的點(diǎn)用線連接起來就是折線圖了。所以繪制散點(diǎn)圖,只要設(shè)置一下線型即可。三維圖繪制三維散點(diǎn)圖繪制三維平面圖你覺得那個(gè)炫酷呢原文鏈接 可視化圖表,有相當(dāng)多種,但常見的也就下面幾種,其他比較復(fù)雜一點(diǎn),大都也是基于如下幾種進(jìn)行組合,變換出來的。對于初學(xué)者來說,很容易被這官網(wǎng)上眾多的圖表類型給嚇著了,由于種類太多,幾種圖表的繪制方法很有可能會(huì)混淆起來...

    JeOam 評論0 收藏0
  • 爬取淘寶上4000條月餅數(shù)據(jù),制作了一個(gè)炫的可視化大屏!

    摘要:基于此,我爬取了淘寶上多條月餅的銷售數(shù)據(jù),為大家展示了一幅漂亮的可視化大屏,解決大家心目中的問題。模塊的安裝與配置這次爬取淘寶,采用的是最簡單的方式控制瀏覽器進(jìn)行自動(dòng)化操作,中途只需要掃碼登陸一次,即可完成整個(gè)數(shù)據(jù)的爬取。 ...

    cod7ce 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<