将三角形带的顶点转换为多边形的算法

标签 algorithm opengl polygon triangulation

我有一个数组,其顶点代表一个三角形带。 我需要将它转换成多边形。 有很多解决方案可以做相反的事情,但我没有找到解决上述问题的方法。 或者它可能太简单了,我就是看不到它。 请帮忙。

OpenGL=兼容,参见 http://en.wikipedia.org/wiki/Triangle_strip

例子: 对于这个地带 http://en.wikipedia.org/wiki/File:Triangle_Strip_Small.png 我需要输出 A B D F E C 或 A C E F D B

最佳答案

我相信以下应该有效:

遍历顶点列表。将第一个点添加到您的多边形。将第二个点压入堆栈。将第三个点添加到多边形。继续交替插入堆栈上的点并将它们添加到多边形,直到到达列表的末尾。当您到达列表的末尾时,弹出堆栈的点并将它们添加到多边形。

关于将三角形带的顶点转换为多边形的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3531652/

相关文章:

ruby - 排列成连续数字的范围

opengl - 如何持续更新 glut 窗口?

java - LWJGL 3 : window doesn't show up

algorithm - 多边形填充 |扫描线算法

algorithm - 有向图中每个终端节点的概率

c - 自上而下的合并排序算法产生不匹配的列表

c - 算法 : To determine whether a given set has two subsets which are disjoint such that sum of elements in both subsets is same?

c++ - 跳过元素缓冲区中的索引

Android 谷歌地图多边形点击事件

java - 如何从超过 100 000 个点创建多边形?