3D 多边形处理库

计算科学 计算几何 网格生成
2021-12-08 05:52:35

我需要处理一些 3D 多边形。它们通常从 OFF 或 STL 文件加载。然后我需要做一些转换(旋转、移动、调整大小),我想检查点是否在多边形内,多边形是否重叠,我想将几​​个多边形合并为一个。我还想对点和表面索引进行原始访问。

似乎有很多 2D 的库,但很难找到 3D 的库。最好与 Python/NumPy 一起使用。

1个回答

您可以尝试 GEOGRAM [1],这是一个我们正在与我的研究团队一起开发的编程库。它具有多种格式的导入,包括 STL。如果您喜欢模板,还有具有许多功能的 CGAL [2](但有了它,您将无法按照您的要求对元素进行按索引访问,CGAL 使用指针)。还有具有一些有趣功能的 GNU Triangulated Surface Library [3]。最后,您可以尝试 libIGL,它具有基于索引的数据结构(如 geogram)并使用模板(如 CGAL)。

如果你需要一个图形用户界面,那么你可以使用 Graphite [5],它是一个围绕 Geogram 的外壳(也是我的研究团队开发的)。

[1] 地理:http: //alice.loria.fr/software/geogram/doc/html/index.html

[2] CGAL:http ://www.cgal.org

[3] GTS: http: //gts.sourceforge.net/

[4] libIGL:http ://libigl.github.io/libigl/

[5] 石墨:http ://alice.loria.fr/software/graphite/doc/html/