Поиск путей в сложных полигонах для динамических систем реального времени. Работа Порошина И.А., 544 гр. Научный руководитель Рецензент, доцент кафедры информатики, к.ф.-м.н. Математико-механический факультет СПбГУ, 2007г. Уфнаровский В.В. Соловьёв И.П. Постановка задачи поиска пути для систем виртуальной реальности • Симуляторы, системы визуализации, игры • СРВ с высокой частотой обновления • Интеллектуальные агенты с возможностью передвижения • Задача поиска пути в R3 NP-трудна • Ограничение свободы перемещения навигационными поверхностями Поиск путей в сложных полигонах • Cfree = cl ( U {Loci} \ U {Obstj}) Obst2 Loc2 Loc1 Obst1 – Loci (помещения) и Obstj (препятствия) – многоугольники с конечным числом вершин – Все помещения попарно дизъюнктны, все препятствия попарно дизъюнктны – Каждое препятствие полностью содержится в некотором помещении – Границей является семейство ломаных (стены) – Никакие две стены не имеют общих точек, кроме пар стен, инцидентных одной и той же вершине Граф видимостей и его использование при поиске кратчайших путей • Построение статической части графа видимостей • Достроение динамической части графа • А*, эвристика – евклидово расстояние до конца пути Недостатки базового алгоритма Сложный процесс достроения графа (в среднем сложнее поиска пути в графе) Ловушки для евклидовой эвристики Избыточность поиска всего пути Распределение вычислений во времени Метод обзоров • View(A) – множество вершин графа видимостей, видимых из А • View(Ai)→View(Ai+1) • Средняя вычислительная сложность О(|AiAi+1|*ρ2) при смене направления, в большинстве случаев О(1) при сохранении направления Метод зонирования пространства • Основная цель – улучшение используемой эвристики • Известные методы декомпозиции не подходят Метод трапеций Метод квадратов Требуемое разбиение Сужение области поиска пути Выделена область, рассматриваемая А* при работе базового алгоритма Заштрихована область, исключаемая при анализе разбиения пространства на зоны Кусочное построение путей • Границы между зонами – двери • Двери – последовательность промежуточных целей • Увеличение длины пути на суммарную длину пересекаемых дверей • Выбор промежуточной цели на основании «графа видимостей» для множества дверей Оптимизация базового алгоритма Метод обзоров Достроение графа ● Ловушки для эвристики ● ● Избыточность поиска всего пути Распределение вычислений во времени Метод зон ● ● Результаты работы • Проанализированы существующие методы поиска путей в системах виртуальной реальности • Выявлены основные недостатки используемого подхода • Предложено два способа оптимизации • Проведено доказательство корректности новых методов, даны оценки потери точности и вычислительной сложности. • Новый метод реализован в рамках реально действующей системы для навигации персонажей в игре, разрабатываемой компанией «Мадиа» по заказу компании «Новый Диск»