У меня есть heading
в градусах и bearing
для другого парня в градусах. Я также знаю свою позицию и его позицию. Как мне повернуться к нему?
heading
- градусы с севера по часовой стрелке, с которыми я сталкиваюсь
bearing
- градусы от севера по часовой стрелке до другого парня
У меня также есть myPosX
, myPosY
, badPosX
и badPosY
, если они будут полезны.
Я попробовал следующий фрагмент кода, и он вроде работает.
local x = heading - bearing
if (x < 0) then
TurnRight()
else
TurnLeft()
end
Проблема в том, что если подшипник меняется с моего правого на левое, то я в основном поворачиваю весь оборот по часовой стрелке, а не все еще движусь против часовой стрелки.
Я не уверен, как добиться того, чтобы трекинг продолжал плавно вращаться, когда подшипник движется слева (скажем, 120 градусов), вправо (скажем, 80 градусов), в то время как мой курс находится между (скажем, 100 градусов).
TurnRight()
будет +1
для моих heading
и TurnLeft()
будет -1
для моих heading
.