问题 是否有Java的几何库? (不是JTS)


我希望相当于CGAL(在C ++中) - 我想要多边形的凸分区或至少三角剖分。它也必须是免费的。之前提出的一个问题 JTS,但它似乎没有那些功能。


11348
2018-04-03 18:09


起源

我建议任何人不要使用JTS进行3D几何。它有一个严重的缺陷,它只是不计算Z坐标:交集,联合,区域......任何3d中的排序操作都不适用于这个原因。 2D几何似乎工作。 - DPM


答案:


JTS支持delaunay三角测量,但不支持三角测量(空洞):
http://lin-ear-th-inking.blogspot.com/2009/04/delaunay-triangulation-in-jts-111.html

对于受约束的delaunay三角测量,您可以使用 Poly2Tri。 工作得很好,但无法对带有孔的多边形进行三角测量,其中孔接触轮廓或触摸另一个多边形。

目前我使用OpenGl Tesselator(glut)和java wrapper jogl(http://jogamp.org/)用于java中的三角剖分。 你必须实现正确的回调并在那里做一些摆弄。

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


7
2018-04-06 09:44



我使用JOGL和源代码实现了delaunay三角剖分算法 informatik.uni-oldenburg.de/~trigger (ctrl + f三角形找到相关条目)。它是在教育/个人许可下发布的,所以它可能对你没用,但它对我来说已经足够了。 - dimo414


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

http://www.geotools.org/


2
2018-04-03 18:12





你可以试试 GeoLib 这是一个优秀的几何包。


1
2017-09-18 20:28





自2012年以来,CGAL已经开启了SWIG驱动绑定。二维符合三角测量和网格划分是其中的一部分。请访问 github wiki for furhter info。


1
2017-09-26 05:16