python带你玩玩3D渲染

自从学会了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视频、源码、资料加群683380553免费获取

转载至:https://zhuanlan.zhihu.com/p/40565070

 

posted @ 2022-10-07 20:56  I'm_江河湖海  阅读(55)  评论(0编辑  收藏  举报