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).
Простой пример
Мы передаём 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() для удобочитаемого вывода и проверять входные данные, которые могут выйти за пределы допустимой области.