W3docs

acos()

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

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

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

Синтаксис

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

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

php— editable, runs on the server

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

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

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

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

echo $angle_in_degrees; // 60
?>

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

Характерные значения

Следующие опорные точки полезно запомнить при работе с acos():

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

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

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

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

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

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

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

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

  • Геометрия и графика — нахождение угла между двумя векторами с использованием формулы скалярного произведения.
  • Навигация — вычисление азимутов и ортодромических расстояний на сфере.
  • Физика — определение углов в задачах о движении снаряда или волновых процессах.

Эта функция входит в одно семейство с asin() (арксинус) и atan() (арктангенс). Гиперболический вариант см. в acosh().

Заключение

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

Практика

Практика
Что делает функция acos() в PHP?
Что делает функция acos() в PHP?
Was this page helpful?