![]() 作者 | Jay Alammar 通常我們用 Python 繪制的都是二維平面圖,但有時也需要繪制三維場景圖,比如像下面這樣的: 這些圖怎么做出來呢?今天就來分享下如何一步步繪制出三維矢量(SVG)圖。 八面體我們先以下面這個八面體為例。 1 安裝相關包首先安裝兩個必備包:
2 定義 3D 圖生成環(huán)境接下來定義幾個類設置好 3 維圖基礎環(huán)境: viewport :矩形圖范圍 3 生成八面體數(shù)據(jù)然后生成八面體每個定點的數(shù)據(jù):
4 pyrr 包渲染接下來利用 pyrr 3維庫渲染上面的原始數(shù)據(jù),最后生成 svg 矢量圖。 5 生成 svg上面最后一步生成 svg 圖形,需要調(diào)用下面的 Engine 函數(shù),略微有些復雜: 以上代碼全部封裝到類中調(diào)用,就可以生成八面體圖形了。 除了八面體還可以生成很多其他圖形。 球體和 Klein 瓶代碼如下: 多面球體代碼如下: 發(fā)光的球體代碼實現(xiàn): 還可以繪制這種曲面體代碼實現(xiàn)如下: |
|