まず、これは非常に自明ではないかもしれませんが、現在、与えられた角度から象限を戻す関数getQuadrant(度)を作成しています。角度の現在の象限を取得する最も速い方法
例えばdegreeが> = 0で、<の場合、1を返します。degreeが90以上で、<の場合は2を返します。これはとても簡単です。しかし、0-360以外度に対処できるように、私は、単にこのような、第0〜360度の範囲にあると、それらの数値を正規化:その後
while (angle > 360)
angle = angle - 360;
end
while (angle < 0)
angle = angle + 360;
end
、私が計算します。しかし、率直に言って、私はこのようなwhileステートメントを使うのは嫌です。 1つの角度の象限を指摘できる他の数学的方法はありますか?
編集:私は多くの良い答えがあることがわかります。私が追加することを許可する
私はフォローしても分かりません。それらはありません(角度/ 360)* 360 =角度ですか?そして、行1の最終結果は常に0になりますか? – Karl
OK、私はそれを得た。私はMatlabでこれをやっていました。しかし、C言語では整数演算のangle/360は暗黙的に数値を下げるため、これは完全に機能します。 (私はCモードではなかった) – Karl