2011-04-03 85 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瞭解更多信息。