--- title: Math.atan2() slug: Web/JavaScript/Reference/Global_Objects/Math/atan2 tags: - JavaScript - Math - Довідка - метод translation_of: Web/JavaScript/Reference/Global_Objects/Math/atan2 ---
{{JSRef}}

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

{{EmbedInteractiveExample("pages/js/math-atan2.html")}}

Синтаксис

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.

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

Специфікація Статус документу Примітка
{{SpecName('ES1')}} {{Spec2('ES1')}} Первинне визначення. Реалізовано у JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.5', 'Math.atan2')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-math.atan2', 'Math.atan2')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-math.atan2', 'Math.atan2')}} {{Spec2('ESDraft')}}  

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

{{Compat("javascript.builtins.Math.atan2")}}

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