Как рассчитать непересекающуюся область двух полигонов? - PullRequest
0 голосов
/ 07 января 2020

Есть ли алгоритм, который может дать мне площадь неперекрывающихся частей двух произвольных многоугольников? Я не смог найти ничего обобщающего для двух произвольных многоугольников.

Ответы [ 2 ]

2 голосов
/ 08 января 2020

Существует Алгоритм отсечения Vatti , который работает с произвольными полигонами и позволяет находить "xor" полигон (ы) отсечения. Затем вы можете рассчитать площадь результата.

enter image description here

Этот алгоритм используется в Библиотека Clipper (с открытым исходным кодом, имеет привязки к некоторым языкам программирования)

0 голосов
/ 08 января 2020

Площадь многоугольника проста по формуле шнурка, а неперекрывающаяся область - это сумма отдельных областей за вычетом площади пересечения.

Многоугольник пересечения должен быть вычислен явно, для Пример использования алгоритма отсечения Вейлера и Атертона. https://en.wikipedia.org/wiki/Weiler%E2%80%93Atherton_clipping_algorithm.

Остерегайтесь того, что реализация не является тривиальной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...