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