0

我正在使用磁航向,并且在数学方面有点挣扎。假设我的航向为 270 度,顺时针旋转 110 度。我想要新的航向,020 度,作为输出,而不是 380 度。是做这样的事情的最好方法:

如果 (x > 360) { x = x - 360; }

或者我可以使用 M_PI 的计算来使其更正确吗?

感谢您的回复!

4

2 回答 2

0

这可能是最好的方法..

x = x % 360;
于 2013-04-01T11:05:50.127 回答
0

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作为参数。在这种情况下,您可以使用fmodorfmodf函数。您将使用的语法将是:

X = fmodf(x,360)
于 2013-04-01T12:59:31.500 回答