W3docs

asin()

Функция asin() в PHP возвращает арксинус числа — угол в радианах, синус которого равен заданному значению.

Функция asin() в PHP возвращает арксинус (обратный синус) числа — то есть угол, синус которого равен заданному значению. Это математическая обратная операция к sin(): если sin() преобразует угол в отношение сторон, то asin() преобразует это отношение обратно в угол. Возвращаемый угол выражается в радианах.

На этой странице рассматриваются синтаксис, допустимый диапазон входных значений, способы перевода результата в градусы, граничные случаи с выходом за пределы диапазона, а также связь asin() с другими тригонометрическими функциями PHP.

Синтаксис

asin(float $num): float
  • $num — число с плавающей точкой в диапазоне от -1 до 1 (включительно). Это обязательное условие, поскольку синус любого вещественного угла всегда находится в этом диапазоне.
  • Возвращаемое значение — арксинус $num в радианах, в диапазоне от -π/2 до π/2 (примерно от -1.5708 до 1.5708). Если $num выходит за пределы -1..1, функция возвращает NAN (Not a Number).

Простой пример

php— editable, runs on the server

Мы передаём 0.5 в asin(), и функция возвращает примерно 0.5236 радиана — что в точности равно π / 6, углу, синус которого равен 0.5.

Перевод результата в градусы

Поскольку asin() возвращает радианы, почти всегда требуется перевод в градусы для удобочитаемого вывода. Используйте rad2deg() или умножьте на 180 / pi():

<?php
$angle_in_radians = asin(0.5);
$angle_in_degrees = rad2deg($angle_in_radians);

echo $angle_in_degrees; // 30
?>

Таким образом, угол, синус которого равен 0.5, составляет 30 градусов. Обратное преобразование — перевод градусов в радианы перед вызовом тригонометрической функции — выполняется с помощью deg2rad().

Часто используемые значения

Эти опорные точки полезно запомнить при работе с asin():

<?php
echo asin(-1);  // -1.5707963… (-π/2, i.e. -90°)
echo "\n";
echo asin(0);   // 0           (sin 0° = 0)
echo "\n";
echo asin(1);   // 1.5707963…  (π/2, i.e. 90°)
?>

Обработка значений вне допустимого диапазона

Если передать значение меньше -1 или больше 1, такое значение не может быть синусом ни одного вещественного угла, поэтому asin() возвращает NAN. Проверяйте входные данные, если они поступают от пользователя или из вычислений:

<?php
$value = 2; // outside the valid -1..1 range

if ($value >= -1 && $value <= 1) {
    echo rad2deg(asin($value));
} else {
    echo "Input must be between -1 and 1.";
}
// Output: Input must be between -1 and 1.
?>

Также можно проверить результат с помощью is_nan() после вызова функции.

Когда используется asin()?

asin() применяется везде, где нужно восстановить угол по значению синуса:

  • Геометрия и графика — нахождение угла наклона по отношению противолежащего катета к гипотенузе.
  • Навигация — вычисление широт и азимутов в сферической тригонометрии.
  • Физика — определение углов в задачах колебаний, оптики (закон Снеллиуса) и баллистики.

Функция относится к тому же семейству, что и acos() (арккосинус) и atan() (арктангенс). Для гиперболического варианта см. asinh().

Заключение

Функция asin() возвращает арксинус числа в виде угла в радианах, принимая входные значения от -1 до 1 и возвращая NAN для всего, что выходит за этот диапазон. Не забывайте конвертировать результат в градусы с помощью rad2deg() для удобочитаемого вывода и проверять входные данные, которые могут выйти за пределы допустимой области.

Практика

Практика
Какова функция 'asin' в PHP?
Какова функция 'asin' в PHP?
Was this page helpful?