Просмотр полной версии : Алгоритм обхода препятствий
Занимаюсь одним проектом, и нужен алгорит который бы обходил аномании на поле, поле не обзательно будет дескретным. Мне известны алгорим краша и волновой, но краш не всегда дает решение и при грамотном исполнении требует довига ресурсов, с другой стороны волновой алгорит находит САМОЕ кратчайшее решение, но у него квадратичная зависимость. Интересно было бы узнать, может кто знает другие алгоритмы (принципиально другие а не вариации двух указанных выше).
алгоритм Дайкстры мне тоже очень хорошо известен и кстати говоря волной алгоритм является какраз частным случаем алгоритма Дайкстры.
вот то что я наваял на данный момент, но повторюсь, мне интересно было бы узнать о методах работы вне матрицы.
http://img236.**************/my.php?image=wave7xv.swf
матрица - не обязательна, графы могут служить основой для волнового агоритма в той же мере
если ты употребляешь слово "матрица" в значении "поле из клеток"
именно так. В математическом смысле слова матрица.
про графики это да... но если препятствие описанно более чем одним графиком - врямя выполнения будет возрастать пропорционально а при введении лимитов будет вообще труба, это не для флеша. =\
вообще так или иначе, волновой алгоритм имеет практическое применение только на дескретном поле, для всех значений алгорит занимает бесконечно долгое время для выполнения, именно бесконечно. даже если волна распространяется в квадрате величиной в 1, так как от 0 до 1 бесконечно много чисел так же примерно как и между 0.000000000000001 и 0.000000000000002.
не графиком, а графом. обычное применение волнового алгоритма - из клетки можно попасть в любую соседнюю, если она не занята. эту можно легко изменить, составив граф путей - и используя этоот граф вместо матрицы клеток. тогда ты не будешь ограниче перемещениями из клетки в клетку, но зато этот граф придется описывать руками целиком.
http://algolist.manual.ru/games/smartmove.php
спасибо, действительно много чего интересного.
поподробнее - берешь все свои locations на карте, пишешь для них граф - откуда куда можно попасть, а дальше действуешь по волновому. разница с клетками - только в том, что самих клеток нет, появляется реалистичность. но не свободное перемещение, естественно.
поподробнее - берешь все свои locations на карте, пишешь для них граф - откуда куда можно попасть, а дальше действуешь по волновому. разница с клетками - только в том, что самих клеток нет, появляется реалистичность. но не свободное перемещение, естественно.
Я некоторое время назад пытался реализовать данный алгоритм. Что-то получилось, что-то не очень. Но посмотреть для интереса можетеhttp://mainmaps.com/subway/ . Сделайте клики на любых двух больших белых кнопках.
Очень тяжело и долго составлялся сам граф. Автоматизировать процесс не удалось.
это очень интересно и заманчиво, будет время, постараюсь реализовать.
большое спасибо, это ,пожалуй, ровно столько сколько я хотел узнать.
Я тоже когда-то реализовывал (http://shaman.inetlab.com.ua/flash/programming/graphanalyzer/)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.