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
或者,您可以下載代碼並從主文件夾運行安裝,文件下載地址:https://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練手項目實戰》,在實戰中成長。
http://weixin.qq.com/r/hkUxKQHEelwFrUVK9xCU (二維碼自動識別)
推薦閱讀:
※3D列印為啥要切片,切片軟體功能大揭秘
※基於 HTML5 的 3D 工業互聯網展示方案
※剛電話費拖後腿好幾款
※【課程體系】3D場景課程安排和學生作品
※3D 識別