Math.atan2()
Функція Math.atan2()
повертає плоский кут (в радіанах) між додатним напрямком осі Ox, і променем з точки (0,0) до точки (x,y), для переданих аргументів Math.atan2(y,x)
.
Спробуйте його в дії
Синтаксис
Math.atan2(y, x)
Параметри
y
Координата Y точки.
x
Координата X точки.
Повернене значення
Кут в радіанах (значення з проміжку ) між додатним напрямком осі Ox та променем з точки (0,0) до точки (x,y).
Опис
Метод Math.atan2()
повертає числове значення між -π та π, що відповідає куту θ (тета) точки (x, y)
. Це кут, виміряний в радіанах проти годинникової стрілки, між додатним напрямком осі Ox та точкою (x, y)
. Зауважте, що аргументи цієї функції передають координату y
першою, а x
— другою.
До Math.atan2()
передаються окремо аргументи x
та y
, тоді як Math.atan()
приймає відношення цих аргументів.
Оскільки atan2()
— це статичний метод об'єкта Math
, його потрібно завжди використовувати через Math.atan2()
. Не слід звертатись до нього, як до методу власноруч створеного екземпляра Math
(Math
не є конструктором).
Приклади
Застосування Math.atan2()
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.
Специфікації
Сумісність із браузерами
desktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
atan2
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 4 | Opera Full support 3 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 | Deno Full support 1.0 | Node.js Full support 0.10.0 |