cos()
Функция cos() в PHP возвращает косинус угла. Узнайте синтаксис, примеры и типичные ошибки.
Функция cos() в PHP возвращает косинус угла. Это одна из встроенных тригонометрических функций PHP, незаменимая при работе с углами, волнами, вращениями и геометрией. На этой странице описаны синтаксис, обязательное требование к радианам, диапазон возвращаемых значений, примеры с пояснениями и типичные ошибки.
Синтаксис
cos(float $num): float$num— угол, выраженный в радианах (не в градусах).- Возвращаемое значение — косинус
$num, всегдаfloatв диапазоне от -1 до 1 включительно.
Радианы, а не градусы
Это самая распространённая ошибка при использовании cos(). PHP ожидает угол в радианах, тогда как люди привыкли мыслить в градусах. Вызов cos(45) не вернёт косинус 45 градусов — он трактует 45 как 45 радиан и возвращает неожиданный результат.
Для перевода градусов в радианы используйте deg2rad(). Формула такова:
radians = degrees × (π / 180)Базовый пример
Здесь мы берём 45 градусов, переводим их в радианы с помощью deg2rad(), а затем передаём результат в cos(). Вывод составит примерно 0.70710678118655 — это √2 / 2, точное значение косинуса 45 градусов.
Распространённые углы
В таблице ниже показаны значения, которые возвращает cos() для нескольких знакомых углов. Обратите внимание, что cos(M_PI / 2) не возвращает точно 0: результатом будет крошечное число вроде 6.1232339957368E-17. Это нормальное округление с плавающей точкой — π не может быть представлено точно, поэтому результат «очень близок к нулю», а не равен чистому нулю.
<?php
echo cos(0), "\n"; // 1
echo cos(M_PI), "\n"; // -1
echo cos(M_PI / 2), "\n"; // 6.1232339957368E-17 (≈ 0)
echo cos(deg2rad(60)), "\n"; // 0.5
?>M_PI — встроенная константа PHP для значения π. См. pi() для функциональной формы.
Когда использовать cos()?
cos() применяется далеко за пределами учебных задач по математике:
- Графика и игры — вращение точки вокруг начала координат или равномерное размещение объектов по окружности.
- Анимация — создание плавного, циклического движения (значение, колеблющееся между -1 и 1).
- Физика и обработка сигналов — моделирование волн и периодического поведения.
Размещение точек по окружности
Практическое применение косинуса — вычисление координаты X точки на окружности заданного радиуса:
<?php
$radius = 100;
for ($deg = 0; $deg < 360; $deg += 90) {
$x = $radius * cos(deg2rad($deg));
echo "At {$deg}°, x = " . round($x, 2) . "\n";
}
?>Это выведет 100, 0, -100 и 0 (координаты X при 0°, 90°, 180° и 270°), причём значения при 90° и 270° будут практически равны нулю с точностью до погрешности представления чисел с плавающей точкой.
Связанные функции
sin()— синус угла.tan()— тангенс угла.acos()— обратная функция: по косинусу возвращает угол.deg2rad()— перевод градусов в радианы перед вызовомcos().
Заключение
cos() возвращает косинус угла, заданного в радианах, всегда возвращая float в диапазоне от -1 до 1. Главное — помнить о необходимости перевода градусов с помощью deg2rad() и о том, что для углов вроде 90° вместо чистого нуля будет получено крошечное число из-за особенностей арифметики с плавающей точкой. Учитывая это, cos() является надёжным строительным блоком для графики, анимации и любых периодических или геометрических вычислений.