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无法从组合框中选择值。需要JS替代方案   打印带有规范问题的Java打印程序?   使用Xmodem传输文件内容时的附加ASCII字符的java传输   java JAXB通过socket和流读取器块   java“错误:在类Grad中找不到Main方法,请将Main方法定义为:public static void Main(字符串[]args)”   如何在Java中将图像从彩色转换为黑白(灰度)   java如何使用Google云连接服务器发送上游GCM消息   JAVA中的JSON文件字段交叉点   什么是“搜索:{…}”/Java中正式使用的“中断搜索”语法?   由于明显的类路径冲突导致java ToDiscoverable强制转换错误?   java可以成为一种语言。类文件不能添加到URLClassLoader的urlpath   Android设备上会话管理的java最佳实践   Java8Java上的Google应用程序引擎。开发服务器上的时间不可用?   java Derby数据库导出为单个文件?   java如何让jmeter根据访问日志行中的时间戳进行日志重放   访问EJB分离接口时的java IllegalAccessException   java使用JsonPath在不知道密钥的情况下提取值   java将文件保存到Jersey API中的服务器应用程序目录   jsoup中的java Http异常   java有没有错误?