cos() 函数返回一个角度的余弦值。该函数接受弧度制的角度作为参数,并返回 -1 到 1 之间的数值。
deg2rad() 函数。
cos(float $num): float
| 参数 | 描述 |
|---|---|
num |
必需。规定一个以弧度表示的角度。 |
返回 num 的余弦值,范围为 -1 到 1 之间。
<?php
echo cos(0) . "<br>"; // 1
echo cos(M_PI) . "<br>"; // -1 (π 弧度 = 180°)
echo cos(M_PI / 2) . "<br>"; // 约 0 (π/2 弧度 = 90°)
?>
输出:
1
-1
6.1232339957368E-17 (非常接近0)
<?php
function cos_deg($degrees) {
return cos(deg2rad($degrees));
}
echo cos_deg(60) . "<br>"; // 0.5
echo cos_deg(45) . "<br>"; // 约 0.70710678118655
echo cos_deg(90) . "<br>"; // 约 0
?>
输出:
0.5
0.70710678118655
6.1232339957368E-17
<?php
// 计算两个向量的夹角(弧度)
function angleBetweenVectors($x1, $y1, $x2, $y2) {
$dot = $x1 * $x2 + $y1 * $y2;
$mag1 = sqrt($x1 * $x1 + $y1 * $y1);
$mag2 = sqrt($x2 * $x2 + $y2 * $y2);
if ($mag1 == 0 || $mag2 == 0) return 0;
return acos($dot / ($mag1 * $mag2));
}
$angle = angleBetweenVectors(1, 0, 0, 1);
echo "向量 (1,0) 和 (0,1) 的夹角为: " . $angle . " 弧度 (" . rad2deg($angle) . "°)";
?>
输出:
向量 (1,0) 和 (0,1) 的夹角为: 1.5707963267949 弧度 (90°)
cos() 接受的参数必须以弧度为单位。如果使用度数,请先用 deg2rad() 转换。