Math.cos() в JavaScript — косинус кута


Загальний опис

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():

  1. Якщо вам потрібно працювати з кутами в градусах, зверніть увагу на перетворення градусів в радіани перед використанням Math.cos(). Формула для цього виглядає наступним чином: радіани = градуси * (Math.PI / 180).
  2. Результат Math.cos() завжди буде в межах від -1 до 1, оскільки це є особливістю функції косинуса.
автор: Bond

Порада

Якщо вам потрібно робити багато тригонометричних обчислень, розгляньте можливість використання інших математичних бібліотек або фреймворків, які можуть пропонувати додаткові оптимізації або зручні функції.

автор: Bond
Порада

При оптимізації ваших алгоритмів, особливо в графічних застосунках, розгляньте можливість використання таблиць передвирахованих косинусів замість постійного виклику Math.cos(). Це може значно прискорити обчислення, зокрема в циклах.

автор: Bond
Порада

Коли використовуєте Math.cos(), пам'ятайте, що він приймає аргумент у радіанах, а не в градусах. Щоб перетворити градуси в радіани, використовуйте формулу: радіани = градуси * (Math.PI / 180). Приклад:

let degrees = 45;
let radians = degrees * (Math.PI / 180);
let cosineValue = Math.cos(radians);
автор: Bond
Нотатка

Пам'ятайте, що результат Math.cos() завжди буде між -1 та 1 включно. Це може бути корисно для здійснення перевірок під час роботи з тригонометричними функціями.

автор: Bond

Синтаксис

Math.cos(x)

Параметри

x

Число, яке представляє кут в радіанах. Для цього числа розраховується косинус.

автор: Bond

Повернення

cosine

Повертає косинус числа x, значення якого знаходиться в межах між -1 та 1 включно. Якщо x дорівнює Infinity, -Infinity або NaN, метод повертає NaN.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 3 12 3
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
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}`);
автор: Bond

Цей приклад демонструє симуляцію руху об'єкта з початковою позицією 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)}`);
}
автор: Bond

У цьому прикладі ми створили інтерфейс для вводу кута у градусах. Користувач може ввести будь-який кут, натиснути на кнопку "Розрахувати косинус", і отримати відповідь у формі тексту, який виводиться під кнопкою.

HTML

<header>
  <h2 class="title">Math.cos()</h2>
  <p class="description">Повертає косинус числа.</p>
</header>
<main>
  <div class="result">
    <label for="angleInput">Введіть кут (у градусах): </label>
    <input type="number" id="angleInput" value="0">
    <button onclick="computeCosine()">Розрахувати косинус</button>
    <div id="output"></div>
  </div>
</main>

CSS

body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

button {
  margin-left: 15px;
}

JS

function degreesToRadians(degrees) {
  return degrees * (Math.PI / 180);
}

function computeCosine() {
  let angleInDegrees = parseFloat(document.getElementById("angleInput").value);
  let angleInRadians = degreesToRadians(angleInDegrees);
  let cosineOfAngle = Math.cos(angleInRadians);

  document.getElementById("output").innerHTML = `Косинус ${angleInDegrees} градусів дорівнює ${cosineOfAngle.toFixed(4)}`;
}
//# sourceURL=pen.js
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід