У меня есть список полигонов внутри этого списка, некоторые из многоугольников перекрываются или касаются других полигонов.Эффективные алгоритмы слияния многоугольников
Моя задача - объединить все полигоны, которые перекрываются или касаются друг друга. У меня есть метод union
, который делает это.
Каков наиболее эффективный способ сделать это? То, что я могу представить в настоящее время, состоит в том, чтобы зацикливать в списке многоугольников, сверяйтесь с объединенным списком, чтобы убедиться, что этот многоугольник каким-то образом принадлежит одному из полигонов в объединенном списке, если да, объедините их, если нет, добавьте этот многоугольник до конца объединенного списка.
Повторите вышеуказанные шаги еще раз, чтобы убедиться, что все полигоны правильно объединены.
Этот подход кажется очень неэлегантным; Есть лучший способ сделать это?
Что вы подразумеваете под ** любой все еще существующей Polygon P_k от OVERLAP **? Можно ли разместить псевдокод для этого? – Graviton
cyclomatic_complexity> 10! –