Suz*_*ioc 6 java jts mesh geotools tessellation
我想从GeoTools镶嵌国家形状,在地球表面上以3D形式显示.GeoTools使用内部功能丰富的JTS拓扑套件.
是否包含镶嵌某些形状的实用程序?我看到有三角测量包,但无法弄清楚,如何将其用于带孔的形状.
另外,我不仅可以像这里一样连接现有的顶点

它应该填充内部有多个顶点的形状.
UPDATE
我发现,JTS包含ConformingDelaunayTriangulationBuilder允许以某种方式制作希望镶嵌的类,但它的工作很糟糕.首先,它只允许约束,这意味着需要额外的代码来从凹陷区域中删除三角形.并且它还试图保留细分的Delaunay性质,这导致创建许多其他部分.
最后,它导致ConstraintEnforcementException复杂的形状像国家和无法使用.
我还发现了"三角形"包,用C语言编写并实现了Chew的第二种算法,效果很好

现在我想知道,它是移植到Java还是包含它?
我知道这篇文章相对较旧,但我最近遇到了同样的情况,需要一些 Java 库或类似的工具来对一些复杂的多边形进行三角测量(因为我想在 OpenGL 上显示它们,OpenGL 只能绘制三角形作为原始操作)。
经过相当多的搜索和测试,对我有用的库是Orbgis 的Poly2Tri。您可以在此处从 Maven 获取该库*。
该库具有许多功能,包括带孔的多边形、用于优化三角测量的斯坦纳点以及其他内容。基本用法示例如下(基于链接存储库上的示例):
//Create the polygon passing a List of PolygonPoints
Polygon polygon = new Polygon(
    Arrays.asList(
        new PolygonPoint(0, 0, 0),
        new PolygonPoint(10, 0, 1),
        new PolygonPoint(10, 10, 2),
        new PolygonPoint(0, 10, 3)));
//Here you could add holes as needed, passing them as Polygons
polygon.addHole(someHoleYouCreated);
//Next, proceed to calculate the triangulation of the polygon 
Poly2Tri.triangulate(polygon);
//Finally, obtain the resulting triangles
List<DelaunayTriangle> triangles = polygon.getTriangles();
编辑:不知道您是否已经尝试过,但 JTS Topology Suite 也有一个DelaunayTriangulationBuilder类(没有 Conforming 部分)。它位于org.locationtech.jts.triangulate.DelaunayTriangulationBuilder,也许它比您尝试过但表现不佳的另一个效果更好。
*注意:小心不要使用这个,就像我一开始所做的那样,发现它不是正确的依赖项(不是 -core 版本)
| 归档时间: | 
 | 
| 查看次数: | 1636 次 | 
| 最近记录: |