--- title: Math.atan2() slug: Web/JavaScript/Reference/Global_Objects/Math/atan2 tags: - JavaScript - Math - Method - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Math/atan2 ---
Math.atan2() 関数は、Math.atan2(y, x) に対して点 (0, 0) から点 (x, y) までの半直線と、正の x 軸の間の平面上での角度 (ラジアン単位) を返します。
Math.atan2(y, x)
yx点 (0, 0) から点 までの半直線と、正の x 軸の間の ( 内の) ラジアン単位の角度です。
Math.atan2() メソッドは、(x, y) 座標のシータ角を表す -π から π までの数値を返します。これは、ラジアン単位で表された、正の X 軸と点 (x, y) の間の反時計回りの角度です。このメソッドへ渡す引数は、初めに y 座標、次に x 座標であることに注意してください。

Math.atan2() は、x と y が別々に渡され、 Math.atan() は2つの引数の比率が渡されます。
atan2() は Math の静的メソッドであるため、生成した Math オブジェクトのメソッドとしてではなく、常に Math.atan2() として使用するようにしてください (Math はコンストラクターではありません)。
Math.atan2(90, 15); // 1.4056476493802699 Math.atan2(15, 90); // 0.16514867741462683 Math.atan2(±0, -0); // ±PI. Math.atan2(±0, +0); // ±0. Math.atan2(±0, -x); // ±PI for x > 0. Math.atan2(±0, x); // ±0 for x > 0. Math.atan2(-y, ±0); // -PI/2 for y > 0. Math.atan2(y, ±0); // PI/2 for y > 0. Math.atan2(±y, -Infinity); // ±PI for finite y > 0. Math.atan2(±y, +Infinity); // ±0 for finite y > 0. Math.atan2(±Infinity, x); // ±PI/2 for finite x. Math.atan2(±Infinity, -Infinity); // ±3*PI/4. Math.atan2(±Infinity, +Infinity); // ±PI/4.
| 仕様書 |
|---|
| {{SpecName('ESDraft', '#sec-math.atan2', 'Math.atan2')}} |
{{Compat("javascript.builtins.Math.atan2")}}