【发布时间】:2011-11-16 16:08:56
【问题描述】:
Math.sin 有问题。我认为它会输出给定整数的正弦值。所以我尝试了Math.sin(30),我的输出是-0.9880316240928618,然后我用我的计算器检查了一下,结果是0.5。
【问题讨论】:
标签: javascript math trigonometry
Math.sin 有问题。我认为它会输出给定整数的正弦值。所以我尝试了Math.sin(30),我的输出是-0.9880316240928618,然后我用我的计算器检查了一下,结果是0.5。
【问题讨论】:
标签: javascript math trigonometry
假定参数以弧度为单位,而不是度数。
试试
Math.sin(Math.PI * (30/180));
下面的评论指出,预先计算比率 π/180 是个好主意。可以向Math.sin 添加一个以这种方式工作的同伴:
Math.dsin = function() {
var piRatio = Math.PI / 180;
return function dsin(degrees) {
return Math.sin(degrees * piRatio);
};
}();
(有些人不喜欢扩展内置对象,但由于没有实例化 Math 实例——至少我没有——这看起来并不令人反感。)
【讨论】:
Math.PI / 180 已证明如果经常使用它可以极大地提升性能。
Math.sin 在radians 中工作,我猜你的计算器是度数。
【讨论】:
如上所述,Math.sin() 需要使用弧度作为输入。要将度数转换为弧度,请使用:
Radians = (Degrees * (Math.PI/180))
【讨论】:
Math.sin 接受弧度值,而您的计算器设置为度数。
【讨论】: