вычисление альфа-формы (вогнутый корпус) в Java

Используя Java, я хотел бы рассчитать альфа-форму: учитывая набор 2D-точек, я хочу чтобы найти список полигонов минимальной площади, содержащих все точки. Здесь дополнительная информация. Чистое Java-решение было бы идеальным. Код, который я могу портировать с других языков на Java, подойдет. Я бы предпочел не использовать родную оболочку. Объяснение алгоритма, который я мог бы реализовать с разумными усилиями, тоже было бы неплохо.

Что мне действительно нужно, так это треугольники, которые составляют многоугольники альфа-формы, так что за это нужно отдельное спасибо.


person NateS    schedule 28.06.2012    source источник


Ответы (1)


На этой странице есть хороший апплет Java с исходным кодом GPL, который делает то, что вы хотите. Там также есть полная статья, описывающая алгоритм ниже.

Он не выполняет часть тесселяции треугольников, но есть много доступных библиотек для этого, когда у вас есть многоугольник. По крайней мере, в openGl есть отличный тесселятор, который вы можете использовать или извлечь из него.

person Geobits    schedule 28.06.2012
comment
Я обновил ссылку на основе этого ответа, который, как мне кажется, содержит архивную версию. Если это не так, отмените редактирование и найдите более подходящую ссылку. Спасибо. - person Bugs; 28.07.2017