JS метод Math.atan2()
Загальний опис
Math.atan2()
– це метод в JavaScript, який приймає два аргументи та повертає арктангенс частки своїх аргументів. За допомогою цього методу можна визначити кут між позитивною півоссю X та точкою (x, y)
у двовимірному просторі.
Math.atan2()
є незамінним інструментом для знаходження кута відносно початку координат. Він широко використовується в графіці, анімації, геометричних обчисленнях і фізичних симуляціях.
Приклад використання: допустимо, у вас є дві точки на площині – одна центральна (0, 0)
та інша (x, y)
. Щоб знайти кут між оссю X і лінією, що проходить через обидві ці точки, вам знадобиться саме метод Math.atan2()
.
let x = 5;
let y = 5;
let angle = Math.atan2(y, x);
console.log(angle); // Повертає значення у радіанах
Основні особливості та прийоми:
Відрізняється від методу
Math.atan()
. ПокиMath.atan()
повертає арктангенс одного числа,Math.atan2()
розглядає обидва аргументи як координати на площині та повертає кут між оссю X і точкою(x, y)
.Вивід завжди у радіанах. Щоб конвертувати це значення в градуси, помножте його на 180/π.
let degrees = angle * (180 / Math.PI);
- Якщо потрібно знайти кут між двома відомими точками, зніміть координати однієї точки від координат другої та використайте їх як аргументи для
Math.atan2()
.
Порада: | Якщо розробляєте гру або графічний додаток, де потрібно знати напрямок руху об'єкта, |
Нотатка: | Для новачків це може стати пасткою. Пам'ятайте, що |
Порада: | Якщо у вас є дві точки на площині і ви хочете знати кут між ними та осію X,
|
Порада: | У випадках, коли необхідно робити велику кількість обчислень, розгляньте можливість збереження результатів |
Синтаксис
Math.atan2(y, x)
Параметри
- *
y
Координата
y
точки. Це перший параметр, який вказує вертикальне відстеження від початкової точки до точки призначення на двовимірній площині.- *
x
Координата
x
точки. Це другий параметр, який вказує горизонтальне відстеження від початкової точки до точки призначення на двовимірній площині.
Return
angle
Повертає кут у радіанах (між -π та π, включно) між позитивною віссю
X
та променем, що йде від точки(0, 0)
до точки(x, y)
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
Цей приклад демонструє взаємодію користувача з двома полями вводу, щоб вказати координати X
та Y
. Після натиснення кнопки "Розрахувати кут", відображається кут у радіанах між позитивною півоссю X
і заданою точкою.
У цьому прикладі ми обчислюємо кут між початковою точкою (0,0) та кінцевою точкою (4,3) використовуючи метод Math.atan2()
. Порядок аргументів важливий: спочатку передаємо різницю координат Y, потім X.
// Координати початкової точки
let startX = 0;
let startY = 0;
// Координати кінцевої точки
let endX = 4;
let endY = 3;
// Використовуємо Math.atan2() для обчислення кута між двома точками
let angle = Math.atan2(endY - startY, endX - startX);
console.log(`Кут між початковою та кінцевою точками: ${angle} радіан`);
У цьому прикладі ми визначаємо, під яким кутом об'єкт, розташований в позиції (5,5)
, повинен обертатися, щоб дивитися безпосередньо на ціль в позиції (10,10)
. Щоб визначити цей кут, ми використовуємо Math.atan2()
, передаючи різницю координат Y та потім X.
// Позиція об'єкта
let objX = 5;
let objY = 5;
// Позиція цілі
let targetX = 10;
let targetY = 10;
// Використовуємо Math.atan2() для визначення кута, під яким об'єкт повинен обертатися, щоб дивитися на ціль
let rotationAngle = Math.atan2(targetY - objY, targetX - objX);
console.log(`Об'єкт повинен обертатися під кутом: ${rotationAngle} радіан для спрямування на ціль`);