У меня возникает следующая проблема:
Мне дано облако точек P и подмножество этого облака точек B. Узлы b в B составляют границу (цельной) точки облако P. (Фактически, B задается как замкнутый ориентированный круговой тур). Теперь я хотел бы вычислить диаграмму Вороного P, пересекаемую B, и извлечь область каждого (пересекающегося) многоугольника Вороного. Вот иллюстрация ситуации: http://f.666kb.com/i/cshix1s881107ghfw.png
В принципе, я бы хотел пересечь голубые полигоны с зелеными сегментами. На мои вопросы:График Вороного, связанный круговым туром
- Есть ли, по возможности, библиотека C, которая решает эту проблему?
- Если нет, есть ли лучший способ решить эту проблему, а затем вычислить диаграмму Вороного с помощью некоторой библиотеки, а затем явно пересечь (зеленые) сегменты с полигонами из выходных данных библиотеки? Может быть, используя ограниченную триангуляцию Делоне?
PS: Я знаю, что этот подвиг, вероятно, будет возможен с использованием CGAL. Однако, никогда не использовав CGAL, CGAL кажется довольно сложным и адаптируемым. Пример кода, такого как this, кажется далеким от прямого. Кроме того, я бы предпочел решение в C.
Вы можете попробовать alphashape. Его треугольная триангуляция без краев, превышающих альфа. – Bytemain
Можете ли вы немного подумать о том, как можно использовать формы альфа для моей цели? – Matthias
: Вы также можете удалить края бесконечности, но с альфа-символами у вас есть альфа-значение, с которым вы можете играть. Но я думаю, что вам нужно ограниченное vd, даже пересечение неточно, не так ли? – Bytemain