如何使用tris填充基于网格的形状

时间:2011-07-12 12:12:17

标签: opengl textures fill

我的形状由2D点阵列(围绕形状的顺时针方向)和高度值定义。这些点符合具有整数的网格布局,但是形状中可能存在负空间。生成的一个简单示例可能类似于俄罗斯方块的各种块。

我需要创建表面和tris来填充形状的顶部(看起来像俄罗斯方块块的面)但我不知道如何将边缘定义点分解为矩形,因此我可以创建表面覆盖它。

我确信以前曾经问过,但我不知道如何用它来表达我需要的东西。

3 个答案:

答案 0 :(得分:2)

您正在寻找的术语是“多边形三角测量”。 The Wikipedia article解释了几种算法。

答案 1 :(得分:1)

如上所述,您想研究三角测量。一种适合初学者的好方法叫做“耳夹”。以下是精彩PDF的链接,详细说明了实施它所需采取的步骤。

http://www.geometrictools.com/Documentation/TriangulationByEarClipping.pdf

答案 2 :(得分:0)

如果您使用的是C ++,则可以使用CGAL库执行此操作: http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Mesh_2/Chapter_main.html