извлечь невыпуклую оболочку из результата суммы Минковского, используя boost

89
9

http://postimg.org/image/sgl1q3vf5/ http://postimg.org/image/787d8ogy9/

Как показано выше, я попытался вычислить сумму Минковской полилинии и круга, и полученная форма покрывает область многоугольника Im, пытающегося сгенерировать. Я использую код примера из boost для реализации суммы Минковского. Мой вопрос будет состоять в том, какие эффективные способы извлечь невыпуклую оболочку (из-за отсутствия лучшего термина) результата суммы Минковского (границы), спасибо.

спросил(а) 2021-01-19T16:34:00+03:00 6 месяцев, 1 неделя назад
1
Решение
118

Если это поможет, я недавно добавил сумму Минковского в мою библиотеку Clipper: http://www.angusj.com/delphi/clipper/documentation/Docs/Units/ClipperLib/Functions/MinkowskiSum.htm

enter image description here

ответил(а) 2021-01-19T16:34:00+03:00 6 месяцев, 1 неделя назад
45

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

Альтернативой ее реализации является использование CGAL, реализация Alpha Shapes (хотя эта часть библиотеки GPL).

ответил(а) 2021-01-19T16:34:00+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема