Поиск пути в трехмерном пространстве | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Библиографическое описание:

Ярославцева, Е. А. Поиск пути в трехмерном пространстве / Е. А. Ярославцева. — Текст : непосредственный // Молодой ученый. — 2022. — № 47.1 (442.1). — С. 57-60. — URL: https://moluch.ru/archive/442/96781/ (дата обращения: 16.12.2024).



В рамках данной работы рассматривается вопрос нахождения оптимального пути между двумя точками в трехмерном пространстве, рассматриваются соответствующие методы решения.

Ключевые слова: оптимальный путь, трехмерное пространство, критерии оценки, алгоритмы поиска, граф, навигация.

Within the framework of this work, the question of finding the optimal path between two points in three-dimensional space is considered, the corresponding solution methods.

Keywords: optimal path, three-dimensional space, evaluation criteria, search algorithms, graph, navigation.

Поиск пути — задача определения оптимального маршрута между двумя точками в пространстве. Оптимальность в данном вопросе зависит от поставленной задачи. Основной критерий — избежать препятствия на выбранном маршруте. Поиск пути в 3D-пространстве с препятствиями — важная проблема в системах виртуальных миров, чаще всего встречающаяся в их прикладном применении — навигация в компьютерных играх.

Рассмотрим существующие методы решения. При нахождении оптимального пути выделяют несколько основных алгоритмов. Так как не существует точного метода, то алгоритмы, которые будут рассматриваться, являются вариантами алгоритма А*.

Алгоритма А* подразумевают что для представления местности используется виртуальная сетка. Сетка состоит из клеток одинаковой формы. Для каждой клетки задается свойство, проходима эта клетка или нет. Движущийся объект (персонаж) на виртуальной сетке занимает одну клетку [1]. Алгоритм часто используется для представления 2D-пространства, однако при использовании в 3D-пространстве выявляются существенные недостатки:

— в трехмерном пространстве объекты часто имеют произвольную форму, например если рассмотреть трехмерное пространство как некий 3D-мир в компьютерной игре, то объекты, будь то дома, ландшафтные строения имеют произвольную форму, в зависимости от дизайна, и плохо ложатся на виртуальную сетку пространства;

— 3D-мир подразумевает существование объектов, которые могут перемещаться — динамических препятствия. При перемещении этих объектов может возникнуть ситуация, когда объект, ранее занимал одну клетку, в результате перемещения и взаимодействия с другими объектами займет более одной клетки, например пять клеток;

— при перемещении в трехмерном пространстве необходимо учитывать и методы сглаживания сплайнами, в результате использования этих методов может возникнуть ситуация с непроходимостью отдельный участков маршрута;

— с возрастанием количества клеток в сетке значительно увеличиваются временные затраты.

Метод навигационного графа (НГ) рассматривает 3D-мир, как некий граф, в котором ребра графа соединяют вершины (трехмерные точки). Упрощенные варианты его реализации для плоскости приведены на рис. 1. и 2. Принято считать, что все ребра проходимы, т. е. условный персонаж в виртуальном мире может по ним пройти и не встретить на своем пути какое-либо препятствие. Задача выглядит следующим образом — необходимо найти вершину, которая будет ближайшей относительно начальной точки и также найти вершину и для конечной точки. Строится оптимальный путь с учетом критерия минимального веса [2].

Примеры навигационных графов [1]

Рис. 1. Примеры навигационных графов [1]

Примеры использования навигационных графов [1]

Рис. 2. Примеры использования навигационных графов [1]

Недостатки:

— трудоемкость, в определенных ситуациях количество вершин графа велико, а при большом исходном 3D-мире это количество чрезмерно;

— появляется «неестественная траектория» движения объекта (персонажа);

— учитывая наличие в 3D-мире динамических объектов, то в ситуации, когда этот объект попадает на ребро НГ, нет какого-либо способа корректно проложить оптимальный маршрут;

— учитывается только один размер объекта, а при перемещении объектов различных размеров (движущиеся объекты в 3D-мире) возникают трудности, т. к. размещение вершин графа ориентировано на один конкретный размер объекта.

Метод сочетания эвристик подразумевает использование некого алгоритма решения «проблемной» ситуации при обходе препятствия. Например, этот алгоритм можно рассмотреть, так: в ситуации, когда условный персонаж может столкнуться с неким препятствием (рис. 3) нужно построить луч, отклонение которого будет минимальным относительно вектора «взгляда» персонажа, при этом этот вектор не должен пересекаться с объектами 3D-мира. При нахождении такого луча персонаж перемешается и продолжает путь по прямому маршруту к конечной точке.

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

Рис. 3. Общая вершина в навигационном графе множества подвижных объектов, где любой объект может стать препятствием для других

Недостатки:

— большая сложность разрешения ситуации при столкновении с объектом, сложность зависит от числа 3D-полигонов;

— существует возможность, что правильный пусть не будет найден.

Развитие методов решения — учитывать как статические, так и динамические объекты, изменять состояние проходимости ребра, учесть момент столкновения в момент следования к конечному пункту, проанализировать расположение динамических объектов на ребрах со статическими объектами, использовать не один НГ, а несколько, количество зависит от количества объектов и размера 3D-мира, а критерии например создание временного НГ для пересекающихся НГ, слияние НГ и т. д. Так, например, в средстве построения виртуальных миров Unity предлагается создание «навигационной поверхности» (рис. 4) в которой процедурой «запекания» исключаются статичные объекты. А уже для остальных задач — прокладка маршрута и обход динамических препятствий — используются классические алгоритмы, предлагаемые самим Unity или реализованные разработчиком.

Система навигации Unity [3]

Рис. 4. Система навигации Unity [3]

Сложность базируется на следующих шагах:

1) число динамических объектов, у которых изменилась позиция и угол поворота:

2) измененные координаты вершин НГ динамических объектов:

3) поиск пересекающихся динамических объектов:

Литература:

  1. Pathfinding in 3d space — A*, Theta*, Lazy Theta* in octree structure. — Текст: электронный / C.-M. Hung // Chia-Man Hung: [сайт]. — 2016. — URL: https://ascane.github.io/assets/portfolio/pathfinding3d-report.pdf (дата обращения 05.11.2022).
  2. Алексеев, В. Е. Дискретная математика: учеб. пособие. — Нижний Новгород: Нижегородский госуниверситет, 2017. — 139 с.
  3. Build VR: Using Unity NavMesh for First Person Movement in VR. — Текст: электронный / D. Jonston // Medium — Where good ideas find you: [сайт]. — 2018. — URL: https://medium.com/@davijoh73/build-vr-using-unity-navmesh-for-first-person-movement-in-vr-64efe0909d84 (дата обращения 05.11.2022).
Основные термины (генерируются автоматически): трехмерное пространство, оптимальный путь, клетка, алгоритм, виртуальная сетка, оптимальный маршрут, поиск пути, препятствие, произвольная форма, условный персонаж.


Похожие статьи

Комбинированный алгоритм линейной оптимизации с поиском максимального потока на графе

В данной статье приводится описание комбинированного алгоритма линейной оптимизации с поиском максимального потока на графе на примере оптимизации работы железнодорожной станции со сложной топологией путей.

Расстояние от точки до многогранника в пространстве

В данной работе рассмотрена задача поиска минимального расстояния между многогранником и точкой, не лежащей внутри него. Предложен алгоритм решения этой задачи и способ его применения в 3D-моделировании.

Реализация численного алгоритма метода вариаций в пространстве управлений

В статье разработан алгоритм и реализована программа решения задачи оптимального управления на основе метода вариаций. Реализованный алгоритм был апробирован на тестовых примерах.

Моделирование поворотов в пространстве, оптимальный метод

В статье автор определяет оптимальный метод для моделирования поворотов в пространстве.

Сравнительный анализ численного решения задач оптимального управления

Данная работа посвящена анализу численных методов решения задач оптимального управления: метода последовательных приближений и метода вариации. Работа данных алгоритмов была апробирована на конкретном тестовом примере с известным аналитическим решени...

Методика создания трехмерных моделей топографических поверхностей

В статье предлагается методика выполнения инженерных решений при построение топографических поверхностей на автоматизированной системе AutoCAD, а также рассмотрена новые методы обучение начертательной геометрии и компьютерной графики.

Частые ошибки при построении CSG-моделей

Рассмотрены основные ошибки при построении CSG-моделей алгоритмом, работающим с полигональными объектами, а также предложены методы их решения.

Методика определения ресурсоемкости проекта некомбинаторным методом

Статья посвящена описанию методики определения ресурсоемкости проекта, в частности в части трудовых ресурсов некомбинаторным способом, что существенно упрощает вычислительную сложность задачи.

Анализ методов тематического моделирования текстов на естественном языке

В работе рассматриваются различные методы тематического моделирования текстов на естественном языке, приводятся их достоинства и недостатки.

Характеристические подходы при распознавании изображений

В данной работе рассматриваются характеристические методы идентификации. Они применяются в распознавании изображений, что является актуальным на сегодняшний день.

Похожие статьи

Комбинированный алгоритм линейной оптимизации с поиском максимального потока на графе

В данной статье приводится описание комбинированного алгоритма линейной оптимизации с поиском максимального потока на графе на примере оптимизации работы железнодорожной станции со сложной топологией путей.

Расстояние от точки до многогранника в пространстве

В данной работе рассмотрена задача поиска минимального расстояния между многогранником и точкой, не лежащей внутри него. Предложен алгоритм решения этой задачи и способ его применения в 3D-моделировании.

Реализация численного алгоритма метода вариаций в пространстве управлений

В статье разработан алгоритм и реализована программа решения задачи оптимального управления на основе метода вариаций. Реализованный алгоритм был апробирован на тестовых примерах.

Моделирование поворотов в пространстве, оптимальный метод

В статье автор определяет оптимальный метод для моделирования поворотов в пространстве.

Сравнительный анализ численного решения задач оптимального управления

Данная работа посвящена анализу численных методов решения задач оптимального управления: метода последовательных приближений и метода вариации. Работа данных алгоритмов была апробирована на конкретном тестовом примере с известным аналитическим решени...

Методика создания трехмерных моделей топографических поверхностей

В статье предлагается методика выполнения инженерных решений при построение топографических поверхностей на автоматизированной системе AutoCAD, а также рассмотрена новые методы обучение начертательной геометрии и компьютерной графики.

Частые ошибки при построении CSG-моделей

Рассмотрены основные ошибки при построении CSG-моделей алгоритмом, работающим с полигональными объектами, а также предложены методы их решения.

Методика определения ресурсоемкости проекта некомбинаторным методом

Статья посвящена описанию методики определения ресурсоемкости проекта, в частности в части трудовых ресурсов некомбинаторным способом, что существенно упрощает вычислительную сложность задачи.

Анализ методов тематического моделирования текстов на естественном языке

В работе рассматриваются различные методы тематического моделирования текстов на естественном языке, приводятся их достоинства и недостатки.

Характеристические подходы при распознавании изображений

В данной работе рассматриваются характеристические методы идентификации. Они применяются в распознавании изображений, что является актуальным на сегодняшний день.

Задать вопрос