В настоящее время я работаю над навигационной системой с использованием маршрутных точек. Мы можем определить следующие периметры, предположим, что точка B - это то место, где мы хотим go, а точка A - ваше текущее местоположение:
- Мы знаем, что местоположения (X, Y) обеих точек A и B.
- Точка A (вы) и точка B (наш пункт назначения) положительны в соответствующих значениях X и Y.
- Мы знаем угол, на который направлена точка А (вы). (360 - 0 градусов)
Мой вопрос заключается в том, как бы получить наименьший угол поворота, чтобы повернуть к точке B (пункт назначения)?
Мой текущий метод использует ArcTan2 (X, Y)
B: = ArcTan2 (Y1 - Y2, X1 - X2)
B: = B * 180 / pi ---- Для преобразования радианы в градусы.
Это возвращает подходящий угол, но только иногда ... В других случаях он возвращает угол, который заставит меня повернуться лицом к противоположному направлению точки B (наш пункт назначения).
Другая проблема I Я выясняю, должен ли я повернуть налево или направо - Предположим, у нас есть угол возврата 80 градусов. Значит ли это, что я поворачиваю влево или вправо?
Надеюсь, мое объяснение несколько ясное Тригонометрия никогда не была моей сильной стороной.
Я был бы очень благодарен за любой вклад или источники, которые вы, ребята, могли бы предоставить мне.
Спасибо, MrClear