Путь Поиск кратчайшего пути (это кривая - без углов) - PullRequest
0 голосов
/ 06 февраля 2019

Я хочу найти кратчайший путь без углов (это должна быть кривая).Я знаю, как алгоритм A * или Djikstra работает на картах на основе сетки, и я уже использовал алгоритм A *.Но это мне мало помогает, потому что в моем случае это неэффективно.

У меня есть случайная сеточная карта, представляющая собой 2D-массив либо True, либо False (True = block) ,Моя игра также содержит юниты (солдаты) , которые движутся, но ограничены движением вперед и назад (без движения в сторону).Они также могут вращаться вокруг своего источника с определенной скоростью (град / с). Это , как это выглядит .Есть также кривая, которую я хочу найти для кратчайшего пути к любой точке на карте.

Я не смог найти ни одного подобного случая, и я не знаю, как начать с этого.Я попытался найти кратчайший путь с сеткой и A *, а затем попытаться найти ярлыки на этом пути.Но я не знаю, как реализовать изогнутый путь и как он будет работать.

Если кто-нибудь знает подобные случаи или может помочь мне хотя бы с чего начать, я был бы очень признателен за это.

Мой путь на самом деле состоит из из прямых линий и дуг (длина и угол зависят от скорости и скорости вращения солдат). Дуги будут соединять прямые линии . Путь = Дуга + линия + дуга + линия ...

Некоторые числа:
Скорость движения солдата : 7,2 единиц / с
Скорость движения назад солдата : 5 единиц / с
Скорость вращения солдата : (быстро) 54 град / с или (медленно) 14 град / с

...