将二维顶点分散到三角形条带

时间:2014-08-10 19:58:32

标签: opengl geometry polygon computational-geometry convex-polygon

我需要绘制一个凸多边形,由6个无序顶点给出。

绘图应该使用GL_TRIANGLE_STRIP完成,并且在第一个和最后一个顶点给我两个顶点。

如何有效地重新排序顶点,以便我可以使用OpenGL和GL_TRIANGLE_STRIP绘制多边形?

1 个答案:

答案 0 :(得分:1)

使用从第一个顶点到最后一个顶点的线条分隔所有顶点。双方应该同样多。如果不是,则多边形不是凸的,或者给定的起点和终点是错误的。

dot(lineDirection, vertex - firstVertex)对两个集合进行排序。这有效地将顶点投影到线上。然后从起始顶点开始,按给定顺序在两个集合之间交替。