代码之家  ›  专栏  ›  技术社区  ›  ICP

三角剖分复杂不规则凹凸多边形的最佳方法

  •  1
  • ICP  · 技术社区  · 8 年前

    我需要对一个多边形进行三角剖分,该多边形将有许多顶点靠近在一起。多边形将代表国家的形状。我正在使用libgdx,并希望利用其 PolygonRegion 类别:

    PolygonRegion(TextureRegion region, float[] vertices, short[] triangles)

    EarClippingTriangulator 用于三角化多边形。其文件称:

    libgdx中的另一个三角剖分器对此并没有说太多,我在谷歌上找不到任何帮助。

    我想知道在用顶点相邻或非常接近的复杂多边形进行三角剖分时是否会出现任何问题。我的多边形可能包含几百个顶点(我认为可能更多)。

    [编辑] 我不确定在对多边形进行三角剖分时是否有一个点,因为它将创建多少个三角形。

    1 回复  |  直到 8 年前
        1
  •  0
  •   pbierre    8 年前

    你不必自己编程。大多数高级编程语言都有2D图形库,并提供多边形形状的可编程对象。它将闭合(简单)多边形定义为按逆时针顺序访问的顶点列表[x,y]。 这个多边形对象带有一个“填充”功能,该功能用于快速填充像您这样的复杂形状。三角测量将是一种相对缓慢的方法。。。更快的算法将形状转换为一组水平扫描线(利用最低级别的图形系统必须填充像素的事实)。至于岛屿,每个岛屿都必须有自己的多边形对象。如果某个区域(瑞士奶酪)中有切口,则每个区域都有自己的多边形。每个多边形都需要闭合。