2011-04-03 77 views
11

我希望CGAL(在C++中)的等价物 - 我想凸多边形的分割或至少三角剖分。它也必须是免费的。前面的问题建议JTS,但似乎没有这些功能。是否有Java的几何库? (非JTS)

+0

我会建议任何人不要为任何3D几何体使用JTS。它有一个严重的缺陷,它只是不计算Z坐标:交集,联合,区域...在3D中排序的任何操作不起作用的原因。二维几何看起来虽然工作。 – DPM 2018-02-19 19:22:00

回答

2

GeoTools有一个相当广泛的几何操作算法库,但当然就像JTS一样,它有点面向GIS。

http://www.geotools.org/

7

JTS支持德劳内三角,而不是约束三角(孔):
http://lin-ear-th-inking.blogspot.com/2009/04/delaunay-triangulation-in-jts-111.html

的约束Delaunay三角就可以使用Poly2Tri。 工程相当不错,但不能对具有孔洞的多边形进行三角化,孔洞会触碰轮廓或触摸另一个多边形。

目前我在Java中使用OpenGl Tesselator(glut)与java wrapper jogl(http://jogamp.org/)进行三角测量。 你必须实现正确的回调,并在那里做一些摆弄。

他们都不满足所有(我)的需求,但直到现在我还没有找到一个更好的。

+1

我使用JOGL和来自http://www.informatik.uni-oldenburg.de/~trigger/(ctrl + f triangle查找相关条目)的源代码实现了delaunay三角测量算法。它是根据教育/个人许可证发布的,因此它可能对您没有用处,但对我来说已经够好了。 – dimo414 2011-04-06 10:01:57

1

你可以尝试GeoLib这是一个很好的几何包。

1

自2012年起,CGAL开始使用SWIG驱动的绑定。2D一致三角网和网格是其中的一部分。请访问github wiki了解更多信息。