forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Поиск пути в 3Д (http://forum.boolean.name/showthread.php?t=8169)

Putin 09.04.2009 02:26

Поиск пути в 3Д
 
Всем привет. Меня очень интересует получалось ли у когонить реализовать поиск пути в 3Д пространстве. Я имею в виду поиск пути например как в Уфо, чтоб находился путь между этажами зданиями. У меня пока получилось создать поиск на 3Д ландшафте, но карта представляет собой всеравно "плоский" масив клеток. Хочу довести свой поиск до полного 3Д, дайте советов если кто знает.

пример работы моего поиска : труперы

Venom2 09.04.2009 08:03

Ответ: Поиск пути в 3Д
 
Цитата:

Сообщение от Putin (Сообщение 103196)
Всем привет. Меня очень интересует получалось ли у когонить реализовать поиск пути в 3Д пространстве. Я имею в виду поиск пути например как в Уфо, чтоб находился путь между этажами зданиями.

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

Aceton 09.04.2009 12:18

Ответ: Поиск пути в 3Д
 
круто)) прикольная мини демка

Randomize 10.04.2009 16:18

Ответ: Поиск пути в 3Д
 
Aceton, да ты ведь мар!

ffinder 10.04.2009 18:31

Ответ: Поиск пути в 3Д
 
Цитата:

Сообщение от Putin (Сообщение 103196)
Всем привет. Меня очень интересует получалось ли у когонить реализовать поиск пути в 3Д пространстве. Я имею в виду поиск пути например как в Уфо, чтоб находился путь между этажами зданиями. У меня пока получилось создать поиск на 3Д ландшафте, но карта представляет собой всеравно "плоский" масив клеток. Хочу довести свой поиск до полного 3Д, дайте советов если кто знает.

насколько мне известно нет никакой принципиальной разницы.
все равно это обход графа. сетка квадратных ячеек - частный случай графа, в котором каждая вершина имеет 4 ребра. если в 3Д - то 6. алгоритм от этого не меняется совершенно.
в твоем случае в главном цикле добавится еще два вызова для ячеек с y+1 и y-1. в случае, если по диагонали ходить нельзя, если можно - то больше.

IGR 10.04.2009 20:29

Ответ: Поиск пути в 3Д
 
что значит 3д ??
я сколько раз не делал (мож это черезжопно кто-то посчитает), но алгоритм постоянно использует 2 оси кординат (т.е. 2д) !!
Во-первых - быстрее, во-вторых - проще !!
По идее, алкоритм тебе выдаст номера ячеек по которым нужно идти (хотя нефакт ибо зависит от реализации алгоритма) !!
Бьеш локацию на ячейки - получается двумерная сетка (т.е. 2д) !! потом используеш 2д путь (номера ячеек например) в 3д !!
ищеш путь на 1 этаже, потом можно, например, юзать лифт, ступеньки как точку перехода на верхний/нижний этаж !! ищеш путь к лифту, перемещяеш перса там или кого на верхний/нижний этаж и потом там ищеш путь куда нада !! Ну вообщем это то же самое что сказал Venom2 !!
Можно так же обьеденить сетки всех этажей, путем инкрементации индексов последующего этажа на размер сетки предедущего этаже, но это бредком попахивает !! :)


Часовой пояс GMT +4, время: 04:09.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot