0

私は磁気見出しを扱っていますが、その周りの数学に少し苦労しています。機首方位が 270 度で、時計回りに 110 度回転するとします。出力として、380 度ではなく、新しい方位 020 度が必要です。次のようなことを行う最良の方法は次のとおりです。

もし (x > 360) { x = x - 360; }

または、M_PI で計算を使用して、より正確にすることはできますか?

返信ありがとうございます。

4

2 に答える 2

0

これは最善の方法かもしれません..

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

度の角度は、-360 より小さくても 720 より大きくてもよいモジュラー算術ノートを満たすx任意の角度に等しいため、その場合、360 を足したり引いたりしても、期待した結果が得られません。加算または減算による純粋な計算方法が必要な場合は、次のコードを使用できます。XX = x [360]x

if (x >= 360){
   while( x >= 360)
     x -= 360;
   }
}else if (x < 0){
   while( x < 0)
     x += 360;
   }
}

Xまたは、より簡単に、Objective-C では、次の式を満たし、 の区間にある値を与える演算子が[0;360[演算%子です。そのように使用できます:

X = x % 360

ただし、角度はintタイプではない場合があります。int引数として取るため、その演算子は機能しません。この場合、fmodまたはfmodf関数を使用できます。使用する構文は次のようになります。

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