Создать график подключенных выпуклого многоугольника

StackOverflow https://stackoverflow.com/questions/4752816

Вопрос

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

Это было полезно?

Решение

Это очень раздражает, что я не могу публиковать ссылки. Затрудняет быть скрытым и единственным случайным участником.

В итоге я использовал следующие методы:

Во -первых, создайте преобразование расстояния. Я использовал алгоритм, описанный здесь [не может ссылаться], что привело к такому изображению [не может ссылаться]. Затем создайте водораздел DT, чтобы разделить его на области. Это нуждается в некоторой работе, но в настоящее время выглядит так [не может ссылаться], тогда используйте средние точки полилиний, соединяющих каждую пару областей, для создания графика путевой точки.

Результат

Разделение водораздела еще не идеальна, обратите внимание на псевдоним, вызывающий полосы, но в итоге я получаю 181 область и 281 путевые точки для этой карты 128x128.

Другие советы

Это не то, о чем вы просили, но вот некоторые другие идеи для решения этой проблемы планирования 2D -пути:

  • Использовать*. Это дает кратчайший путь без столкновений. Производительность может быть в порядке, даже без упрощения растрового изображения.

  • Использовать Дорожная карта на основе отбора проб. Анкет Это еще одно дискретное представление, чем многоугольники. Поскольку ваше пространство поиска невелико, вы можете пройти всю растровую карту, чтобы убедиться, что каждая точка может быть подключена к дорожной карте. Если Компакт Дорожная карта важна (но короткие пути нет), Видимость дорожная карта Техника может быть использована.

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

Когда пространство было отображено с помощью полигонов (возможно, используя инструмент), его можно разделить на выпуклые многоугольники или какое -то другое представление, которое можно искать. Это также обсуждается Lavalle:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top