微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于程序化 3D 场景构建的 Python 网络应用程序

如何解决用于程序化 3D 场景构建的 Python 网络应用程序

我目前正在开发一个 Django 应用程序,允许学生以编程方式开发 SVG 图形。他们可以使用 ACE 编辑器在浏览器中编写 Python 代码代码在服务器上执行,存储在数据库中,生成的 SVG(自定义库)返回并显示显示填充椭圆的示例代码如下所示:

graph.draw(Circle(cx=0,cy=0,r=20,fill="lime").scale(2,1)

现在我想知道如何扩展这个应用程序来做一些 3D。我偶然发现了 x3dom,它看起来很有前途并且不太难生成,我可以为此编写另一个轻量级的 pythonic 库。但是,它似乎没有做 CSG(构造立体几何),这是主要缺点。

对于某些允许使用服务器端 python 轻松生成 3D 场景并实现 CSG 的 3D Web 技术,我应该朝哪个方向进行调查?

注意:OpenjsCad 与我想要实现的目标相似,只是我的解决方案允许课堂协作,并且它必须向学生展示 Python 作为编程语言。目的是用图形为 Python 编程教学增添趣味。

解决方法

我相信我曾经用过three.js来做CSG。以前网上有个例子。 X3D 不做 CSG 是对的。我正在做地球的横截面,并找到了一种使用 X3D 的方法。如果您担心 Python 无法在浏览器中运行,您或许可以在浏览器中使用 VPython 或 brython。我只用 brython 测试过别人的项目,根本没有测试过 vpython。

如果您正在做诸如 inverseCSG 或 CSGNet 之类的事情,您的课程是否在线?

换句话说,也许可以尝试找到一个执行 CSG 的 Python 库,而不是在 JS 中搜索渲染引擎。不要将浏览器视为仅限于 JS。

我找的时候只找到了three.js。

也许寻找一个不是固体溶液的溶液。

,

尝试检查python的库“trimesh”,它主要中继防水stl文件,但允许您对CSG进行一些布尔运算。您可以从另一个文件中减去一个文件,扩展并找到交集。此外,它还有一些直接的原始函数,如圆柱体和球体。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。