我有heading
的度数,而bearing
有另一个人的度数。我也知道我的位置和他的位置。我该如何转向他?
heading
-我正面临的北风角度bearing
-从北顺时针到另一个人的角度如果它们有用的话,我还有myPosX
,myPosY
,badPosX
和badPosY
。
我已经尝试了以下代码,它确实可以工作。
local x = heading - bearing
if (x < 0) then
TurnRight()
else
TurnLeft()
end
问题是,当方位从我的右向左变化时,我基本上是整个顺时针方向旋转,而不是仍然沿逆时针方向跟踪。
我不确定当方位角介于(例如100deg)时,当轴承从左侧(例如120deg)移到右侧(例如80deg)时如何使跟踪保持平稳旋转。
TurnRight()
将+1
移至我的heading
,TurnLeft()
将-1
移至我的heading
。
答案 0 :(得分:1)
假设heading
和bearing
的范围是[0,360),您可以编写:
local x = (360 + heading - bearing) % 360
if (x > 180) then
TurnRight()
else
TurnLeft()
end