Tan: примеры (JAVASCRIPT)

Функция tan в JavaScript: полный обзор и применение
Раздел: Математика, Тригонометрия
tan(number): number

Основы функции Math.tan() в JavaScript

Функция Math.tan() является частью стандартного объекта Math в JavaScript. Она возвращает тангенс числа, где число представляет угол в радианах. Эта математическая операция часто используется в вычислениях, связанных с геометрией, физикой, компьютерной графикой и обработкой сигналов.

Функция принимает только один обязательный аргумент:

  • x - число, выражающее угол в радианах, для которого вычисляется тангенс. Если аргумент не является числом, он автоматически преобразуется в число.

Возвращаемое значение - числовое значение тангенса угла. Для углов, где тангенс стремится к бесконечности (например, π/2 + πk), возвращается очень большое число, близкое к бесконечности, или может быть возвращено значение Infinity или -Infinity.

Пример вызова: Math.tan(Math.PI / 4) возвращает примерно 1, так как тангенс π/4 равен 1.

Простые примеры использования Math.tan()

Пример вычисления тангенса для основных углов:

console.log(Math.tan(0));
console.log(Math.tan(Math.PI / 4));
console.log(Math.tan(Math.PI));
0
0.9999999999999999
-1.2246467991473532e-16

Пример с преобразованием строкового аргумента:

console.log(Math.tan('0.7854'));
0.9999999999999999

Пример с очень большим углом, где тангенс стремится к бесконечности:

console.log(Math.tan(Math.PI / 2));
16331239353195370

Похожие математические функции в JavaScript

В объекте Math существует несколько функций, связанных с тригонометрией:

  • Math.sin() - возвращает синус угла в радианах.
  • Math.cos() - возвращает косинус угла в радианах.
  • Math.atan() - возвращает арктангенс числа в радианах.
  • Math.atan2(y, x) - возвращает арктангенс от частного своих аргументов, учитывая знаки для определения квадранта.

Функцию Math.tan() применяют, когда требуется именно тангенс угла. Для обратной задачи - нахождения угла по значению тангенса - используют Math.atan() или Math.atan2(). Функции синуса и косинуса чаще используются вместе, например, при работе с координатами на окружности.

Аналоги функции в других языках программирования

Вычисление тангенса поддерживается в большинстве языков программирования. Синтаксис обычно похож, но могут быть различия в точности или поведении для граничных значений.

Пример на Python:

import math
print(math.tan(math.pi / 4))
0.9999999999999999

Пример на PHP:

echo tan(M_PI / 4);
1

Пример на C:

#include <math.h>
#include <stdio.h>
int main() {
printf('%f\n', tan(M_PI / 4));
return 0;
}
1.000000

Пример на MySQL:

SELECT TAN(PI() / 4);
0.9999999999999999

Основное отличие JavaScript - отсутствие отдельной константы для π, используется Math.PI. В PHP и C есть встроенные константы M_PI.

Распространенные ошибки при работе с Math.tan()

Частой ошибкой является передача угла в градусах вместо радиан. Функция ожидает радианы, поэтому градусы нужно преобразовать.

// Неправильно
console.log(Math.tan(45));
// Правильно
console.log(Math.tan(45 * Math.PI / 180));
1.6197751905438615
0.9999999999999999

Еще одна проблема - точность вычислений для углов, где тангенс не определен математически. JavaScript возвращает очень большое число, но это может привести к неожиданным результатам в вычислениях.

let result = Math.tan(Math.PI / 2);
console.log(result);
console.log(1 / result);
16331239353195370
6.123233995736766e-17

Также стоит помнить о преобразовании типов. Если передать аргумент, который не преобразуется в число, результатом будет NaN.

console.log(Math.tan('текст'));
NaN

Изменения в работе функции

Функция Math.tan() остается неизменной с момента стандартизации ECMAScript 1 (1997 год). Ее поведение и спецификация стабильны во всех версиях JavaScript. Нет документально подтвержденных изменений в алгоритме вычисления или возвращаемых значениях в последних версиях ECMAScript.

Единственное развитие касается общего контекста - улучшение производительности математических операций в движках JavaScript, но это не меняет API или результаты функции.

Расширенные примеры применения Math.tan()

Использование в геометрических расчетах, например, вычисление высоты объекта по расстоянию и углу:

Пример javascript
function calculateHeight(distance, angleRad) {
return distance * Math.tan(angleRad);
}
console.log(calculateHeight(10, Math.PI / 6));
5.773502691896258

Создание простой анимации движения по касательной:

Пример javascript
let angle = 0;
function animate() {
let tangentValue = Math.tan(angle);
// Использование tangentValue для позиционирования элемента
angle += 0.1;
if (angle < 2 * Math.PI) {
requestAnimationFrame(animate);
}
}
animate();

Использование в обработке сигналов для фильтрации:

Пример javascript
function tangentFilter(signal, coefficient) {
return signal.map(value => Math.tan(value * coefficient));
}
console.log(tangentFilter([0, 0.5, 1], 0.1));
[0, 0.05004170837605279, 0.10033467208545055]

Проверка периодичности функции тангенса с периодом π:

Пример javascript
let x = Math.PI / 3;
console.log(Math.tan(x));
console.log(Math.tan(x + Math.PI));
1.7320508075688767
1.732050807568878

Вычисление тангенса через синус и косинус для демонстрации математической связи:

Пример javascript
function tanViaSinCos(angle) {
return Math.sin(angle) / Math.cos(angle);
}
console.log(tanViaSinCos(Math.PI / 4));
0.9999999999999999

JS tan function comments

En
Tan Returns the tangent of a number (in radians)