我正在使用磁航向,并且在数学方面有点挣扎。假设我的航向为 270 度,顺时针旋转 110 度。我想要新的航向,020 度,作为输出,而不是 380 度。是做这样的事情的最好方法:
如果 (x > 360) { x = x - 360; }
或者我可以使用 M_PI 的计算来使其更正确吗?
感谢您的回复!
我正在使用磁航向,并且在数学方面有点挣扎。假设我的航向为 270 度,顺时针旋转 110 度。我想要新的航向,020 度,作为输出,而不是 380 度。是做这样的事情的最好方法:
如果 (x > 360) { x = x - 360; }
或者我可以使用 M_PI 的计算来使其更正确吗?
感谢您的回复!
这可能是最好的方法..
x = x % 360;
x
度数等于任何X
满足X = x [360]
模算术音符的角度,该角度x
可以小于 -360 或大于 720,因此在这种情况下,加或减 360 不会给您预期的结果。如果你想要一个纯粹的加减计算方法,你可以使用这段代码:
if (x >= 360){
while( x >= 360)
x -= 360;
}
}else if (x < 0){
while( x < 0)
x += 360;
}
}
或者,更容易的是,在 Objective-C 中,给出X
满足以下等式并在 , 区间内的[0;360[
值的算子是%
算子。你可以这样使用它:
X = x % 360
虽然,您的角度可能不是int
类型。比那个运算符不起作用,因为它需要int
作为参数。在这种情况下,您可以使用fmod
orfmodf
函数。您将使用的语法将是:
X = fmodf(x,360)