How to triangulate/tesselate some shape in Java?(如何在Java中三角化/细化某些形状?)
我想从GeoTools中细化国家形状,以便在地球表面上以3D显示。GeoTools内部使用JTS拓扑套件,看起来功能丰富。
它是否包含细分某些形状的工具?我看到有一个三角测量包,但不知道如何将其用于带孔的形状。
同样,我用它不仅仅是像这里那样连接现有顶点
它应该在形状内部填充多个顶点。
更新
我发现,JTS包含ConformingDelaunayTriangulationBuilder类,它允许以某种方式进行所需的细分,但效果不佳。首先,它只允许约束,这意味着需要额外的代码来从凹陷区域中删除三角形。此外,它还试图保留细分的Delaunay特性,这将导致创建许多附加部分。
最后,它会导致复杂形状(如国家和地区)的ConstraintEnforcementException无法使用。
我还找到了“三角形”包,它是用C编写的,实现了Chew的第二个算法,运行良好
在此处输入图像描述
现在我想知道,它是移植到Java还是封装到Java中?
>> DelaunayTriangulationBuilder与VoronoiDiagramBuilder:外接三角形,一个是外接多边形。