国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

mmy123456 / 3160人閱讀

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

作者 | Jay Alammar

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

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

八面體

我們先以下面這個八面體為例。

1 安裝相關包

首先安裝兩個必備包:

import pyrr # NumPy 的 3D 函數庫
import svgwrite # svg圖形處理庫
2 定義 3D 圖生成環境

接下來定義幾個類設置好 3 維圖基礎環境:

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

然后生成八面體每個定點的數據:

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維庫渲染上面的原始數據,最后生成 svg 矢量圖。

5 生成 svg

上面最后一步生成 svg 圖形,需要調用下面的 Engine 函數,略微有些復雜:

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

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

球體和 Klein 瓶

代碼如下:

多面球體

代碼如下:

發光的球體

代碼實現:

還可以繪制這種曲面體

代碼實現如下:

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45204.html

相關文章

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

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

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

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

    cod7ce 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<