Смещение полилинии с замкнутым полигоном и островками


У меня есть несортированный набор линейных сегментов без привязки друг к другу. Каждая линия описывается двумя точками (x, y). Я могу искать линии с одинаковыми точками, а это значит, что они должны быть связаны.

Каждая строка имеет атрибут толщины. Мне нужно сместить каждый путь на эту толщину и создать 4 точки, описывающие конечный плигон (для каждой линии).

Скриншот 1

Теперь мне нужно уточнить его, чтобы правильно обрабатывать углы (соединения). но понятия не имею, как это сделать. сделай это.

Желаемый результат: Скриншот 2

1 2

1 ответ:

Смотрите здесь для одного метода смещения многоугольника, используя его скелет (что вы и пытаетесь сделать здесь).