// atan関数(tanの逆関数)を用いて、点が X 軸となす角度θを求める // ※ -π/2 〜 3π/2 の範囲で求める方が、atan 関数の連続領域を使って // 単純に求まるため、まずはその範囲で求め、最後に 0 〜 2π に直す float theta = 0.0; if ( x == 0.0 ) { if ( y > 0 ) { theta = PI / 2.0; } else { theta = -PI / 2.0; } } else if ( x > 0.0 ) { theta = atan ( y / x ); } else if ( x < 0.0 ) { theta = atan( y / x ) + PI; } if (theta < 0.0) { // -π/2 〜 3π/2 から 0 〜 2π に直す theta += 2.0 * PI; }