PHP 中的 Sin 和 cos 与 Javascript 的区别
Sin and cos in PHP difference from Javascript
我正在尝试获得角度为 9.590124942537262
的正弦和余弦。
在 Javascript 我会这样做:
var a = Math.sin(9.590124942537262);
var b = Math.cos(9.590124942537262);
结果将是:
a == -0.16459459028073223
b == -0.9863613034027227
如果我像这样在 PHP 中执行相同的操作:
$a = sin(9.590124942537262 * M_PI / 180); // ≈ 0.16737916966136 rad
$b = cos(9.590124942537262 * M_PI / 180);
我得到这些结果:
$a == 0.16659953926461
$b == 0.9860246414349
问题是:如何使这些操作统一,以便 PHP returns 带有负号的正确值?我试着四舍五入我的角度,但没有帮助。
PHP 和 JavaScript 的三角函数都以弧度为单位
在您的 PHP 示例中,您试图将度数转换为弧度,因为您实际上是在提供要转换为弧度的弧度,您只是添加 Pi 弧度或 180 度,因此为什么你得到否定的结果。
您应该能够使用相同的参数编写每种语言的代码:
Math.sin(9.590124942537262);
Math.cos(9.590124942537262);
sin(9.590124942537262);
cos(9.590124942537262);
我正在尝试获得角度为 9.590124942537262
的正弦和余弦。
在 Javascript 我会这样做:
var a = Math.sin(9.590124942537262);
var b = Math.cos(9.590124942537262);
结果将是:
a == -0.16459459028073223
b == -0.9863613034027227
如果我像这样在 PHP 中执行相同的操作:
$a = sin(9.590124942537262 * M_PI / 180); // ≈ 0.16737916966136 rad
$b = cos(9.590124942537262 * M_PI / 180);
我得到这些结果:
$a == 0.16659953926461
$b == 0.9860246414349
问题是:如何使这些操作统一,以便 PHP returns 带有负号的正确值?我试着四舍五入我的角度,但没有帮助。
PHP 和 JavaScript 的三角函数都以弧度为单位
在您的 PHP 示例中,您试图将度数转换为弧度,因为您实际上是在提供要转换为弧度的弧度,您只是添加 Pi 弧度或 180 度,因此为什么你得到否定的结果。
您应该能够使用相同的参数编写每种语言的代码:
Math.sin(9.590124942537262);
Math.cos(9.590124942537262);
sin(9.590124942537262);
cos(9.590124942537262);