Определение исходного края объединенного многоугольника

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

Есть ли у меня эффективный способ узнать для каждого края этого большого гигантского объединенного многоугольника, какой из них принадлежит какому краю меньшего многоугольника?

Метод грубой силы для решения этой проблемы состоит в том, чтобы сравнить каждое ребро объединенного многоугольника с каждым из меньших многоугольников, но это будет очень неэффективно. Есть ли другие более эффективные методы?

Моя догадка подсказывает мне, что здесь может помочь алгоритм развертки , хотя я совершенно не знаю, как это сделать.

Править: n малых многоугольников могут перекрываться, поэтому объединенный многоугольник может содержать точки, расположенные на краях маленьких многоугольников, но эти точки могут не быть вершинами исходных многоугольников.

Снимок экрана приведен ниже:

5
задан Graviton 15 June 2011 в 09:35
поделиться