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

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

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

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

Ярославцева, Е. А. Поиск пути в трехмерном пространстве / Е. А. Ярославцева. — Текст : непосредственный // Молодой ученый. — 2022. — № 47.1 (442.1). — С. 57-60. — URL: https://moluch.ru/archive/442/96781/ (дата обращения: 30.04.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).
Основные термины (генерируются автоматически): трехмерное пространство, оптимальный путь, клетка, алгоритм, виртуальная сетка, оптимальный маршрут, поиск пути, препятствие, произвольная форма, условный персонаж.


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

Алгоритмы нахождения пути, их сравнение и визуализация на...

Алгоритмы, связанные с поиском оптимального пути между вершинами графа, названы

самые выгодные маршруты в первую очередь, что позволит ему обходить «дорогостоящие» пути.

Тем не менее, алгоритм «Поиск в ширину» и алгоритм Дейкстры также находят своё

Дублируем кубы-вершины, расставляем их в виде сетки и выбираем в полях скрипта...

Компьютерная модель для лабораторной работы...

...оптимального пути робота в заданном многопараметрическом пространстве.

3. Табличная форма — содержит матрицу расстояний между городами.

9–10. Поля для вывода машинного решения задачи оптимизации: «оптимальный путь обхода» и «длина пути».

5. Окулов С. М. Программирование в алгоритмах, — М.: БИНОМ. Лаборатория знаний, 2002.

Моделирование движения инерционного транспортного робота...

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

Следование робота по определённому маршруту — это важная задача в робототехнике.

Рис. 2. Окно программы «Выбор оптимальной траектории движения робота».

- базовый пункт (из которого начнется оптимальный путь обхода)

Автоматизация проектирования маршрутов обхода...

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

, где - длина наименьшего пути (global_best_tour), найденного со времени начала поиска.

Рис.3. Изменение длины маршрута в зависимости от количества итераций алгоритма.

расстояниеl (mm), время работы алгоритма t (ms), число пересечений пути в найденном решении Nint.

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

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

Роевой интеллект и его наиболее распространённые методы...

– метод капель воды, находящий либо наиболее близкие, либо наиболее оптимальныепути для воды”

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

Концепция алгоритма заключается в способности муравьев находить кратчайший путь крайне

Рис. 4. Пример нахождения муравьями нового пути при появлении препятствия.

Основные принципы создания 3D-моделей. Понятия и методы...

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

К нему приходят лишь для создания органических форм или любых других форм, которые

По сути, мы условно разделяем нашу модель на отдельные части, которые проецируются на

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

Выбор оптимального маршрута грузоперевозок автомобильным...

Проекты. Меню. Поиск.

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

Вопрос о количестве элементов в скрытом слое будем решать эмпирическим путем, исходя из

Для модификации матрицы весовых коэффициентов W будем использовать алгоритм...

Реализация алгоритма поиска ближайших объектов с помощью...

 В данной статье разработан алгоритм поиска ближайших объектов с помощью вспомогательной структуры, основанной на K-D tree, а также рассматривается приложение на языке Java, реализующее данный алгоритм. Ключевые слова: K-D tree, поиск объектов.

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

Алгоритмы нахождения пути, их сравнение и визуализация на...

Алгоритмы, связанные с поиском оптимального пути между вершинами графа, названы

самые выгодные маршруты в первую очередь, что позволит ему обходить «дорогостоящие» пути.

Тем не менее, алгоритм «Поиск в ширину» и алгоритм Дейкстры также находят своё

Дублируем кубы-вершины, расставляем их в виде сетки и выбираем в полях скрипта...

Компьютерная модель для лабораторной работы...

...оптимального пути робота в заданном многопараметрическом пространстве.

3. Табличная форма — содержит матрицу расстояний между городами.

9–10. Поля для вывода машинного решения задачи оптимизации: «оптимальный путь обхода» и «длина пути».

5. Окулов С. М. Программирование в алгоритмах, — М.: БИНОМ. Лаборатория знаний, 2002.

Моделирование движения инерционного транспортного робота...

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

Следование робота по определённому маршруту — это важная задача в робототехнике.

Рис. 2. Окно программы «Выбор оптимальной траектории движения робота».

- базовый пункт (из которого начнется оптимальный путь обхода)

Автоматизация проектирования маршрутов обхода...

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

, где - длина наименьшего пути (global_best_tour), найденного со времени начала поиска.

Рис.3. Изменение длины маршрута в зависимости от количества итераций алгоритма.

расстояниеl (mm), время работы алгоритма t (ms), число пересечений пути в найденном решении Nint.

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

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

Роевой интеллект и его наиболее распространённые методы...

– метод капель воды, находящий либо наиболее близкие, либо наиболее оптимальныепути для воды”

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

Концепция алгоритма заключается в способности муравьев находить кратчайший путь крайне

Рис. 4. Пример нахождения муравьями нового пути при появлении препятствия.

Основные принципы создания 3D-моделей. Понятия и методы...

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

К нему приходят лишь для создания органических форм или любых других форм, которые

По сути, мы условно разделяем нашу модель на отдельные части, которые проецируются на

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

Выбор оптимального маршрута грузоперевозок автомобильным...

Проекты. Меню. Поиск.

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

Вопрос о количестве элементов в скрытом слое будем решать эмпирическим путем, исходя из

Для модификации матрицы весовых коэффициентов W будем использовать алгоритм...

Реализация алгоритма поиска ближайших объектов с помощью...

 В данной статье разработан алгоритм поиска ближайших объектов с помощью вспомогательной структуры, основанной на K-D tree, а также рассматривается приложение на языке Java, реализующее данный алгоритм. Ключевые слова: K-D tree, поиск объектов.

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