Math.asin: примеры (JAVASCRIPT)

Арксинус в JavaScript: работа с Math.asin
Раздел: Математика, Тригонометрия
Math.asin(number): number

Описание функции Math.asin

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

Функция принимает один аргумент – числовое значение x, которое должно находиться в диапазоне от -1 до 1 включительно. Аргумент может быть целым или дробным числом.

Возвращаемое значение:

  • Если аргумент x находится в диапазоне [-1, 1], функция возвращает угол в радианах от -π/2 до π/2 (от -1.5707963267948966 до 1.5707963267948966).
  • Если аргумент меньше -1 или больше 1, возвращается специальное значение NaN (Not a Number).
  • Если аргумент не может быть преобразован в число, JavaScript попытается выполнить преобразование, и в случае неудачи также вернет NaN.

Краткие примеры использования

Пример с корректным аргументом:

let result = Math.asin(0.5);
console.log(result);
0.5235987755982989

Пример с граничным значением:

console.log(Math.asin(1));
1.5707963267948966

Пример с отрицательным аргументом:

console.log(Math.asin(-0.7071));
-0.7853981633974484

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

console.log(Math.asin(1.5));
NaN

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

console.log(Math.asin('text'));
NaN

Похожие функции в JavaScript

  • Math.acos() – вычисляет арккосинус числа. Возвращает угол в радианах от 0 до π. Применяется, когда известен косинус угла.
  • Math.atan() – вычисляет арктангенс числа. Возвращает угол в радианах от -π/2 до π/2. Подходит для нахождения угла по тангенсу.
  • Math.atan2(y, x) – возвращает угол между положительной осью X и точкой (x, y). Учитывает знаки обоих аргументов для определения квадранта. Более надежен, чем Math.atan(), при работе с декартовыми координатами.

Функцию Math.asin выбирают при работе конкретно с синусом. Если данные представлены в виде координат, предпочтительнее Math.atan2().

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

PHP: функция asin() работает аналогично, возвращает значение в радианах.

echo asin(0.5);
0.5235987755983

Python: модуль math предоставляет функцию asin(). Также возвращает результат в радианах.

import math
print(math.asin(0.5))
0.5235987755982989

MySQL: функция ASIN() вычисляет арксинус. Аргумент должен быть в диапазоне [-1, 1], иначе возвращается NULL.

SELECT ASIN(0.5);
0.5235987755982989

C/C++: в стандартной библиотеке math.h существует функция asin(). Она принимает и возвращает значения типа double. При аргументе вне диапазона может возникнуть ошибка домена.

#include 
double result = asin(0.5);

Типичные ошибки

1. Передача аргумента вне диапазона [-1, 1], что приводит к возврату NaN.

console.log(Math.asin(2)); // Ожидание числа
NaN

2. Неявное преобразование строки, которое может дать неожиданный результат.

console.log(Math.asin('0.5')); // Строка преобразуется
console.log(Math.asin('a0.5')); // Не преобразуется
0.5235987755982989
NaN

3. Забывают, что результат возвращается в радианах, а не градусах. Для перевода в градусы требуется умножение на (180 / Math.PI).

let radians = Math.asin(0.5);
let degrees = radians * (180 / Math.PI);
console.log(degrees);
30.000000000000004

История изменений

Функция Math.asin является частью стандарта ECMAScript 1 (1997 год) и с тех пор не претерпела значимых изменений в поведении или синтаксисе. Она поддерживается всеми современными браузерами и средой выполнения Node.js без особенностей.

Расширенные примеры применения

Вычисление угла при известном противолежащем катете и гипотенузе:

Пример javascript
let opposite = 3;
let hypotenuse = 5;
let angle = Math.asin(opposite / hypotenuse);
console.log('Угол в радианах:', angle);
console.log('Угол в градусах:', angle * (180 / Math.PI));
Угол в радианах: 0.6435011087932844
Угол в градусах: 36.86989764584402

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

Пример javascript
function safeAsin(x) {
  if (x < -1 || x > 1 || isNaN(x)) {
    return 'Некорректный аргумент';
  }
  return Math.asin(x);
}
console.log(safeAsin(0.7));
console.log(safeAsin(2));
0.775397496610753
Некорректный аргумент

Использование в функции для нахождения всех решений уравнения sin(x) = a в пределах одного периода:

Пример javascript
function solveSinEq(a) {
  if (a < -1 || a > 1) return [];
  let principal = Math.asin(a); // Главное решение
  let secondary = Math.PI - principal; // Второе решение в [0, 2π)
  return [principal, secondary];
}
console.log(solveSinEq(0.5));
[0.5235987755982989, 2.6179938779914944]

Создание простого графика функции арксинус:

Пример javascript
for (let x = -1; x <= 1; x += 0.2) {
  let y = Math.asin(x);
  console.log(`asin(${x.toFixed(1)}) = ${y.toFixed(4)}`);
}
asin(-1.0) = -1.5708
asin(-0.8) = -0.9273
asin(-0.6) = -0.6435
asin(-0.4) = -0.4115
asin(-0.2) = -0.2014
asin(0.0) = 0.0000
asin(0.2) = 0.2014
asin(0.4) = 0.4115
asin(0.6) = 0.6435
asin(0.8) = 0.9273
asin(1.0) = 1.5708

JS Math.asin function comments

En
Math.asin Returns the arcsine of a number (in radians)