Java で角度を +/- π に正規化するためのライブラリ関数またはよく知られた迅速で効率的な方法はありますか?たとえば、2 つの角度を追加する場合は?
私が今持っているもの(この回答に基づいて)は、基本的に以下のコードです...
private static final double TWO_PI = 2 * Math.PI;
double normalize(double theta) {
double normalized = theta % TWO_PI;
normalized = (normalized + TWO_PI) % TWO_PI;
return normalized <= Math.PI ? normalized : normalized - TWO_PI;
}
...しかし、それは少し複雑で、パフォーマンスの観点からもモジュロ演算子に興奮していないようです。theta
(比較的大きな数ではないことを保証できないことに注意してください%
. )
私が使用できる十分にテストされた最適化されたライブラリ関数、またはより優れたアルゴリズムはありますか、それともこれで十分ですか?