Я ищу алгоритм со следующими входами и выходами:
Вход: набор многоугольников на плоскости.Например, P1 ... Pn и S. (P1 ... Pn может быть вогнутым, S выпуклым.)
Вывод: Площадь этих полигонов в этой плоскости, равная разности S и объединенияиз P1 ... Pn.
Я нашел алгоритмы для пересечения или объединения ДВУХ многоугольников.Но так как каждая из этих операций может создавать несколько полигонов, я создаю тонны полигонов, если наивно это делаю.
Итак: Как обрабатывать пересечение нескольких полигонов?
Было бы хорошо, если бывсе многоугольники связаны между собой, так как я ищу только область.Я думал о том, чтобы использовать направленные полигоны для имитации дырок, но потом у меня снова возникла проблема, чтобы выяснить, есть ли у меня «минимальное представление», поскольку n может взорваться.[Ты понимаешь о чем я говорю?Это довольно странно ...)