LINUX.ORG.RU

Посоветуйте подход/алгоритм для объединения нескольких фигур в общий контур

 , , , ,


0

2

В заголовке криво написал, но попробую объяснить. Делаю утилиту для работы с инструкциями для плоттера.
Имею это. Хочу получить это.
Формат этой графики простой — это несколько массивов координат. Для каждого прямоугольника на первой картинке хранится 5 пар координат. Причём последняя пара равна первой паре. Надеюсь, понятно, как работает плоттер и почему для четырёх линий нужно 5 пар координат.
На второй картинке появляются дополнительные точки, которые образованы на пересечении линий, а точки, оказавшиеся внутри фигур, удаляются. И последняя пара координат опять же равна первой — фигуры замкнутые.
Подскажите, как это проще и лучше всего реализовать.

★★★★★

если для каждого прямоугольника есть координаты то можно сделать так:

залить все прямоугольники черным, потом просто «убрать» заливку, оставив только контуры. И алгоритм заливки, и алгоритм контуров многоугольников известны википедии.

dikiy ★★☆☆☆
()

Ласло М. Вычислительная геометрия и компьютерная графика на C++:
7.2 (стр.214) Поиск выпуклой оболочки. Там пример с прямоугольниками, который можно модифцировать кусочком из 6.5 (стр.184) — пересечение выпуклых полигонов для наклонных прямоугольников.

quickquest ★★★★★
()
Ответ на: комментарий от MKuznetsov

Вот это классная штука, спасибо.

CYB3R ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.