Функція Math.atan2() повертає арктангенс частки поданих чисел.

Синтаксис

Math.atan2(y, x)

Аргументи

y
Перше число.
x
Друге число.

Результат

Арктангенс частки даних аргументів

Опис

Метод Math.atan2() повертає числове значення з-поміж -π та π, що являє собою кут Тета нахилу вектора (x, y). Тобто це кут між додатнім напрямком осі OX і вектором (x, y), виміряний проти годинникової стрілки. Як і інші методи Mathatan2() повертає значення кута у радіанах.

Зауважте порядок розміщення аргументів функції: першою йде координата y, а другою — x.

 

A simple diagram showing the angle returned by atan2(y, x)

На відміну від Math.atan(), що працює із часткою координат x та yMath.atan2() приймає їх на вхід окремо.

Оскільки 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.

Специфікації

Специфікація Статус документу Примітка
ECMAScript 1st Edition (ECMA-262) Standard Первинне визначення. Реалізовано у JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Math.atan2' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Math.atan2' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'Math.atan2' in that specification.
Draft  

Підтримка у браузерах

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

Дивіться також

Мітки документа й учасники

Зробили внесок у цю сторінку: AdriandeCita
Востаннє оновлена: AdriandeCita,