Геометрия Boost: составление полигонов из множества точек

Я кодирую физическую симуляцию, и после выполнения динамических частей я хотел бы использовать некоторые геометрические инструменты для анализа моей системы. Эти интересные части представляют собой несколько групп точек, образующих различные замкнутые петли (или многоугольники). То, как я параметризовал, очень затрудняет (по крайней мере для меня) отделение этих циклов друг от друга. Я довольно уверен в использовании библиотеки геометрии повышения для геометрического манипулирования этими данными, и поэтому я думаю об отправке всех этих точек, образующих полигоны, в один объект геометрии повышения (или просто вектор точек), и я смотрю для способа разделения их после этого, используя тот факт, что точки, находящиеся слишком далеко друг от друга, не могут быть частью одного и того же многоугольника, а затем формируя несколько многоугольников, я буду манипулировать отдельно.

До сих пор я не манипулировал большей частью геометрии повышения, и я не знаю, насколько легко/сложно реализовать в ней что-то подобное. Существуют ли некоторые функции по умолчанию, которые могут быть полезны в этих задачах.

Я даю вам картину того, что я хотел бы, чтобы моя программа делала:


person Liam    schedule 17.10.2013    source источник


Ответы (1)


Вы можете триангулировать точки и удалить самые длинные ребра. Я использую его для своего алгоритма вогнутой оболочки: http://www.phpdevpad.de/geofence.

person Gigamegs    schedule 17.10.2013