c++ - 三角剖分 3D 算法

标签 c++ algorithm opengl 3d

我在 3D 空间中有数千个多边形,其中包含超过 3 个顶点。我想将每个多边形划分为一组三角形。我一直在整个互联网上寻找,但我找不到任何 3D 算法可以做到这一点。我发现许多算法都适用于 2D,例如 ear clippingDelaunay triangulation。但是我找不到任何 3D 算法。

我在这个网站上看到许多相同的问题,它们的回答是“使用 Delaunay 三角剖分算法”。但我看到这个算法是针对二维的: http://www.geom.uiuc.edu/~samuelp/del_project.html

Implement an algorithm for finding the constrained Delaunay triangulation of a given point set in two dimensions.

我可以使用哪种 3D 三角测量算法? 我在 C++ 中使用 OpenGL。

最佳答案

您可以使用 GLUTesselator:

http://www.glprogramming.com/red/chapter11.html

另请注意,3D 多边形将有许多面,这些面可以转换到轴对齐的 2D 平面上,进行三角剖分,然后将结果转换回由面定义的平面。

关于c++ - 三角剖分 3D 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25036738/

相关文章:

c++ - 在 Visual C++ 中开发静态库以进行高效的数值计算

c++ - 递归分配没有给出正确的输出

c++ - 如何使用vector <vector <int >>找到严格位于矩阵次对角线上的元素之和?

java - 你如何在 Android Studio 中使用 3D 图形?

c++ - memmove 是移动元素(与 for 循环的方式相同),还是一次获取整个内存块?

c++ - 使用 VAO 和 VBO 在 3.2 中绘制 OpenGL 直线和正方形

OpenGL:从高度数组绘制环境的最佳方式?

c++ - 在 NS3 中遇到以下代码行。需要帮助理解它

c - 如何有效地在年历上存储任务信息

c++ - 在 Debug模式下查看变量的内容? (带断点的除外)