Алгоритм, необходимый для определения того, полностью ли покрыт прямоугольник множеством полигонов

Учитывая множество многоугольников P и прямоугольную область A, мне нужно проверить, полностью ли A покрыто P.

Число и сложность полигонов и общая площадь A значительно велики, и поэтому подход на основе многоугольника может не работать вовремя. Чтобы сделать вещи немного проще, я определил A 'как размер самой маленькой области внутри A, охват которой я забочусь. Я думал о том, чтобы создать 2D-сегментную структуру, такую ​​как структура, разделяющая область в 2D многократно (каждый квадрат области разбивается на 4 дочерних квадрата, пока размер дочернего квадрата не равен А), но поскольку мы имеем дело с полигонами здесь, я не уверен, это было бы достаточно эффективно.

+3
27 февр. '13 в 4:12
источник поделиться
1 ответ

Вы можете использовать пересечение или разность полигонов вместо объединения:

Рассмотрим A как многоугольник и каждый раз выбираем многоугольник P 'и уточняем A как A - P' и проверяем, является ли A пустым. После проверки всех полигонов вы можете точно сказать, покрывается ли A P или нет.

0
28 февр. '13 в 2:55
источник

Посмотрите другие вопросы по меткам или Задайте вопрос