Вычислить Вороного вокруг многоугольника

Мне нужно создать диаграмму Вороного вокруг вогнутого (невыпуклого) внутри многоугольника. Я искал методы в Интернете, но не смог понять, как это сделать. По сути, я генерирую выпуклую оболочку точек, вычисляю двойные точки и строю граничную сеть между этими точками. Однако при встрече с краями внутреннего многоугольника он должен выглядеть как край формы, как выпуклая оболочка. Итак, сделав это и обрезав все края на границах, я должен получить диаграмму Вороного с хорошими краями на границах внутреннего многоугольника и без ячеек по обе стороны от внутреннего многоугольника.

Пусть я приведу вам пример:

enter image description here

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

Кто-нибудь знает, как подойти к этой проблеме? Есть ли какой-то алгоритм, который уже делает это или приближается к тому, что я пытаюсь достичь?

Большое спасибо за любой вклад!

11
задан gnat 29 August 2011 в 13:20
поделиться