Есть ли библиотека геометрии для Java? (не JTS)
Я надеюсь на эквивалент CGAL (на С++) - я хочу выпуклую разбивку многоугольников или, по крайней мере, триангуляцию. Он также должен быть бесплатным. Предыдущий вопрос предложил JTS, но он, похоже, не имеет этих функций.
Ответы
Ответ 1
JTS поддерживает триангуляцию delaunay, но не ограниченную триангуляцию (дырки):
http://lin-ear-th-inking.blogspot.com/2009/04/delaunay-triangulation-in-jts-111.html
Для ограниченной триангуляции delaunay вы можете использовать Poly2Tri.
Работает неплохо, но не может триангулировать многоугольники с отверстиями, где отверстия касаются контура или касаются другого полигона.
В настоящее время я использую OpenGl Tesselator (glut) с jogl jugl (http://jogamp.org/) для триангуляции в java.
Вы должны выполнить правильные обратные вызовы и сделать там что-нибудь.
Ни один из них не удовлетворяет всех (моих) потребностей, но до сих пор я не нашел лучшего.
Ответ 2
GeoTools имеет довольно обширную библиотеку алгоритмов манипуляции геометрией, но, конечно же, как JTS, она несколько ориентирована на ГИС.
http://www.geotools.org/
Ответ 3
Вы можете попробовать GeoLib
, который является отличным пакетом геометрии.
Ответ 4
CGAL имеет привязки, управляемые SWIG, начиная с 2012 года. Сочетание 2D-триангуляции и сеток является частью этого. Пожалуйста, посетите github wiki для получения более подробной информации.