考虑到0度和360度之间的两个轴承A和B,计算A到达B所需的最小旋转的最有效方法是什么?旋转可以是顺时针(正)或逆时针(负)。最小旋转应该在给出较小绝对度的任何方向上。
例如,
minRotation(30,20)产生-10。
minRotation(350,20)收益率为30。
我们如何制定函数minRotation(A,B)?
答案 0 :(得分:3)
D = B - A
while D < -180 // use "if" operator when angles are normalized to 0..360 range
D = D + 360
while D > 180
D = D - 360
答案 1 :(得分:1)
如果您的语言具有与
相同的C数学库余数()函数D = remainder( B-A, 360.0)