我需要对一个多边形的三角形进行三角剖分。多边形将代表国家的形状。我正在使用libgdx并希望利用其PolygonRegion类:
PolygonRegion(TextureRegion region, float[] vertices, short[] triangles)
通过对顶点中的多边形坐标进行三角测量并根据该坐标计算uvs来创建PolygonRegion。
在libgdx中,有EarClippingTriangulator用于三角测量多边形。它的文档说:
如果输入多边形不简单(自相交),则会有输出,但质量不明(垃圾输入,垃圾输出)。
libgdx中的其他triangulator对此并没有多说,我在谷歌上找不到任何帮助。
我想知道是否存在三角测量复杂多边形的问题,这些复数多边形的顶点可能彼此相邻,或者非常接近。我的多边形可能包含几百个顶点(我认为它可能更多)。
[编辑] 我不确定在多边形三角测量中是否存在一个点,因为它将创建多少个三角形。
答案 0 :(得分:0)
您不必自己编程。大多数高级编程语言都有2D图形库,并提供Polygon Shape可编程对象。它将闭合(简单)多边形定义为以CCW顺序访问的顶点[x,y]列表。 这个Polygon对象带有一个" fill"功能,专为快速填充像您的复杂形状而设计。三角测量将是一种相对缓慢的方法...更快的算法将形状转换为一组水平扫描线(利用最低级别的图形系统必须填充像素的事实)。就岛而言,每个岛都必须有自己的多边形对象。如果一个地区(瑞士奶酪)有切口,每个都有自己的多边形。每个多边形都需要关闭。