Balancer>> Средняя прокладка маршрута сейчас занимает 20..30миллисекунд и не требует памяти. Diаmond> Угу, у меня тоже так было, пока не столкнулся с проблемами прохождения чара по этому пути. Речь идёт, естественно, о прокладке нелинейного пути среди препятствий. Прямая считается за микросекунды, наверное, фиг измеришь.
В общем, проблемы в геодате обойдены, маршрутизатор работает отлично (кроме тех мест, где глюки в геодате совершенно очевидны, типа "дырок" в стенах), лимит времени обсчёта оставлен в 50мс.
Пока не коммитится, потому что до кучи решил вычистить тонну мусора в виде чьего-то (не будем показывать пальцем чьего) нахрен нигде ненужного move tasks.
Diаmond> Найти обычный путь несложно, а вот найти такой путь, по которому чар пройдет, не зацепив ни одного косяка и нигде не застряв - проблема посложнее чем сам алгоритм поиска Там где геодата прописана правильная - чар даже близко не приближается к косякам. Вот на сложном рельефе (те же замки, подъём по лестнице с яруса на ярус) и при ошибках в геодате - да, чар может цепляться за угол. Хотя мысли как это обойти уже есть. Просто на проблему наткнулся только вчера вечером - надо подумать, как её решить.
Одиночные же препятствия, кстати, даже при ошибках в геодате обычно обходятся сейчас с приличным запасом.
Diаmond> К тому же, нахождение пути это пол дела, надо его еще грамотно сгладить, чтобы чар прошел по минимально возможножму числу точек. Гы. Это задача для шестого класса общеобразовательной школы. Впрочем, закоммичу - посмотришь. Сглаживание идёт уже для конечного сложного пути, так что легко выделяется. Специально могу комментарий оставить.
… чтобы понять рекурсию, нужно сперва понять рекурсию …