pyrt-python光线跟踪器

pyrt的Python项目详细描述


CIGittercontributions welcomeCode ClimateCode Healthimage5

Logo

pyrt(发音为pirate)是python 3.5的光线跟踪器/图像生成器。 本项目主要是在以下方面进行的:

  • Jupyter笔记本中的光线跟踪
  • 设定光线跟踪
  • 使用python探索地理数据的光线跟踪概念。
  • 渲染地理数据,包括大型点云。
  • 实现绘制大型三维城市模型的新算法。
  • 从OpenStreetMap数据创建3D地图
  • 服务器端渲染/基于云的渲染

pyrt是work-in-progress

安装

安装可以用pip完成。请注意,Pyrt仍处于重开发阶段,尚未投入生产。 (API中断很频繁!)

pipinstallpyrt

…或者直接从github获取源代码:https://github.com/martinchristen/pyRT或gitlab:https://gitlab.com/martin.christen/pyRT

依赖关系

Pyrt没有任何依赖关系。 生成的图像只是rgb或rgba数组。要创建jpg、png或其他图像,许多 演示使用枕头(PIL)。所以强烈建议安装它。

入门:尝试示例

有很多例子可以使用这个模块。这是 开始使用pyrt的推荐方法。

Example 01Example 12bExample 13Example 08

View all examples

创建场景

pyrt是一个三维建模软件包。它是关于渲染 代码。

在pyrt中,首先创建一个场景。场景由至少一台摄像机组成 还有几何学。以面向对象的方式创建场景:

frompyrt.mathimport*frompyrt.geometryimportTriangle,Vertexfrompyrt.materialimportPhongMaterialfrompyrt.cameraimportPerspectiveCamerafrompyrt.rendererimportSimpleRTcamera=PerspectiveCamera(640,480)scene=Scene()scene.add(Triangle(Vertex(position=(0,0,0)),Vertex(position=(0,5,0)),Vertex(position=(1,5,0)),material=PhongMaterial()))scene.setCamera(camera)engine=SimpleRT()imgdata=engine.render(scene)

pyrt有一个开放的呈现概念,您可以创建自己的。 渲染器。在上面的例子中使用了“simplert”,它是 极简参考实现。

python&raytracing,是不是太慢了?

不可以。自定义渲染器可以用c语言编写,使用python绑定。这是 计划在未来,更高版本甚至将支持使用opencl的gpu 和/或其他库,但目前主要关注的是创建 一种“Python”射线示踪剂。

许可证

皮尔特在麻省理工学院被释放。有关此许可证的详细信息可以是 在下面找到:https://opensource.org/licenses/MIT

关于作者

pyrt是由martin christen创建和维护的。你可以通过 电子邮件:martin.christen@gmail.com

请注意:这个项目是我业余时间开发的,没有 官方支持什么的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将springboot war部署到debian jetty8   java破坏了函数,即使它看起来是正确的   当MockMvc不可自动编译时,java会有选择地从Spring Security向其应用单个过滤器   java AndroidStudio每秒播放n次生成的声音   JavaJBossSeam:继承的方法被拦截了吗?   ScheduledExecutorService中线程默认名称中池号的java含义   在Java中用递归方法实现类Fibonacci的递归   java虚拟路径/文件夹   java即时与ZoneDateTime。转换到另一时区   用GaussLegendre算法在java中逼近Pi   java RecyclerView findFirstVisibleItemPosition()返回1   java根据当前经过身份验证的用户的角色返回不同的JSON对象   java从内部类访问扩展类的方法   Android程序中的Java语法WRT静态方法   可选参数初始化Java字符串文字时出错