JS метод Math.cos()
Загальний опис
Math.cos()
- це метод об'єкта Math
у мові програмування JavaScript, який використовується для обчислення косинуса дійсного числа. Цей метод приймає один аргумент - число, що представляє кут у радіанах, та повертає його косинус.
Тригонометрія є фундаментальною частиною математики, і косинус є однією з основних тригонометричних функцій. У програмуванні ця функція часто використовується для різних математичних обчислень, як-то в роботі з графікою, обчисленнях у геометрії або фізиці та багатьох інших задачах.
Спробуємо розглянути декілька практичних прикладів. Припустимо, ви хочете створити анімацію, де об'єкт рухається по горизонталі в гармонійному русі. Ви можете використовувати Math.cos()
, щоб визначити горизонтальне положення об'єкта в будь-який момент часу:
let time = 0;
function updatePosition() {
let amplitude = 100; // максимальне відхилення
let position = amplitude * Math.cos(time);
// тут ви можете встановити горизонтальне положення об'єкта на основі змінної position
time += 0.05;
}
Додатково, Math.cos()
може використовуватися у комбінації з Math.sin()
для обчислення координат точки на колі. Якщо у вас є кут (в радіанах) та радіус кола, ви можете легко знайти координати цієї точки:
let radius = 50;
let angle = Math.PI / 4; // 45 градусів у радіанах
let x = radius * Math.cos(angle);
let y = radius * Math.sin(angle);
Особливості та прийоми роботи з Math.cos()
:
- Якщо вам потрібно працювати з кутами в градусах, зверніть увагу на перетворення градусів в радіани перед використанням
Math.cos()
. Формула для цього виглядає наступним чином:радіани = градуси * (Math.PI / 180)
. - Результат
Math.cos()
завжди буде в межах від -1 до 1, оскільки це є особливістю функції косинуса.
Нотатка: | Пам'ятайте, що результат |
Порада: | Коли використовуєте
|
Порада: | При оптимізації ваших алгоритмів, особливо в графічних застосунках, розгляньте можливість використання таблиць передвирахованих косинусів замість постійного виклику |
Порада: | Якщо вам потрібно робити багато тригонометричних обчислень, розгляньте можливість використання інших математичних бібліотек або фреймворків, які можуть пропонувати додаткові оптимізації або зручні функції. |
Синтаксис
Math.cos(x)
Параметри
- *
x
Число, яке представляє кут в радіанах. Для цього числа розраховується косинус.
Return
cosine
Повертає косинус числа
x
, значення якого знаходиться в межах між -1 та 1 включно. Якщоx
дорівнюєInfinity
,-Infinity
абоNaN
, метод повертаєNaN
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі ми створили інтерфейс для вводу кута у градусах. Користувач може ввести будь-який кут, натиснути на кнопку "Розрахувати косинус", і отримати відповідь у формі тексту, який виводиться під кнопкою.
У цьому прикладі ми створюємо функцію degreesToRadians
, яка конвертує градуси в радіани. Потім використовуючи Math.cos
(), ми знаходимо косинус для кута в 60 градусів.
// Функція для конвертації градусів в радіани
function degreesToRadians(degrees) {
return degrees * (Math.PI / 180);
}
// Визначення косинуса для 60 градусів
let angleInDegrees = 60;
let angleInRadians = degreesToRadians(angleInDegrees);
let cosineOfAngle = Math.cos(angleInRadians);
console.log(`Косинус ${angleInDegrees} градусів дорівнює ${cosineOfAngle}`);
Цей приклад демонструє симуляцію руху об'єкта з початковою позицією startPosition
та амплітудою amplitude
. За допомогою косинусної функції Math.cos
() ми можемо створити рух об'єкта вгору та вниз над початковою позицією, імітуючи, наприклад, рух маятника.
let startPosition = 100; // початкова позиція об'єкта
let amplitude = 50; // амплітуда руху об'єкта
let speed = 0.05; // швидкість руху об'єкта
// Функція, яка визначає поточну позицію об'єкта на основі часу
function computePosition(time) {
return startPosition + amplitude * Math.cos(speed * time);
}
// Демонстрація руху об'єкта протягом 10 секунд
for (let time = 0; time <= 10; time += 0.5) {
console.log(`Після ${time} секунд об'єкт знаходиться на позиції ${computePosition(time)}`);
}