標籤:

python帶你玩玩3D渲染

python帶你玩玩3D渲染

來自專欄 Python程序員7 人贊了文章

自從學會了turtle模塊後,畫了不少簡筆畫。像小豬佩奇、哆啦A夢等等,但是這些依然不能讓身邊人感受到python的強大,依然是每次裝逼必被打臉。就像你用turtle畫了這個

別人拿出了這個

怎麼辦?面對函數庫如此豐富的python,一庫不行,我們還有另一庫。那就是pyray庫。

pyray庫介紹

pyray庫創建於2018年1月,雖然目前渲染3D場景的最佳工具仍然是POV ray.但是為什麼我們不能在Python中使用這種功能(渲染2D、3D和更高維的對象和場景),這是一種可能已經被廣泛使用的語言,並且只會越來越流行。於是通過pyray庫這個代碼實現邁向這個目標的第一步,我們能通過簡潔的python語言來做POV ray所做的一切—渲染複雜的3D對象、場景以及動畫等等,而且這會在視頻、視頻遊戲、物理模擬或者漂亮的圖片中得到應用。最重要的是,這個庫使用起來非常簡單,盡量減少對外部庫的依賴,以便更多的人能夠用它來運行。

pyray安裝

pyray庫已經上傳至pypi,通過pip命令安裝

pip install raypy

或者,您可以下載代碼並從主文件夾運行安裝,文件下載地址:github.com/ryu577/pyray

python setup.py install

這裡建議還是用pip安裝比較方便。

安裝第三方依賴庫

需要PIL、numpy和scipy等,如果使用WriteOnImage.py中的方法編寫數學方程圖像時,需要matptlib和Syry。

使用示例

1、立方體

from pyray.shapes.cube import *cube_with_cuttingplanes(7, popup=True)

效果

2、平面

from pyray.shapes.plane import *for i in range(20): best_plane_direction(im_ind=i)

效果

3、球形

from pyray.shapes.sphere import *draw_wavy_sphere_wrapper(.\im, 66, 1)

效果

from pyray.shapes.sphere import *draw_oscillating_sphere(..\images\im, 20, 2)

4、拋物面

from pyray.shapes.paraboloid import *draw_paraboloids()

效果

5、多面體

from pyray.shapes.polyhedron import *draw_tetartoid()

效果

6、散點

from pyray.shapes.pointswarm import *points_to_bins()

效果

看到這裡,是不是感覺python很強大,是不是有種想試一試的衝動。但是目前pyray庫只支持python2,在python3中只有部分功能。python3的小夥伴還要再等上一段時間。

如果您覺得不錯歡迎關注點贊,同時歡迎關注我們的公眾號《python練手項目實戰》,在實戰中成長。

weixin.qq.com/r/hkUxKQH (二維碼自動識別)


推薦閱讀:

3D列印為啥要切片,切片軟體功能大揭秘
基於 HTML5 的 3D 工業互聯網展示方案
剛電話費拖後腿好幾款
【課程體系】3D場景課程安排和學生作品
3D 識別

TAG:3D | 科技 | Python |