Дано представляет собой картезированную систему Corcoriante, от позиции A (X / Y) и положение B (X / Y). Я хочу перейти от A до B. Однако я могу двигаться только на восемь направлений n, ne, e, se, s, sw, w, nw.
Я знаю, что я могу рассчитать «лучшие» из этих направлений, чтобы взять из текущей позиции A через точечный продукт с единицы векторами оси (восемь направлений), где самый большой точечный продукт - это направление Отказ Но этот подход приводит к какому виду «колебания» между двумя направлениями, если A именно между этими двумя двумя.
Итак, я ищу алгоритм, теперь совется этой проблемой попадания от до B с одним или макс. Две направления для использования. Конечно, я сейчас игнорирую какие-либо препятствия, так что теоретически я всегда могу получить от до B с максимумом двух разных направлений. Я мог бы, вероятно, решить эту проблему с кучей If-quices, но я бы предпочел более элегантное решение ...
Я надеюсь, что это было несколько понятно :)
заранее спасибо за любые идеи!
С уважением, Матиас