0

在我的代码中,我有:

console.log(distance_along);
console.log('Cosine: ' + Math.cos(2 * Math.PI * distance_along));
var added_degrees = 
  (ANCIENT_CLOCK.cos(2 * Math.PI * distance_along) * ANCIENT_CLOCK.earth_tilt);

这将产生输出:

-0.2567721374914637
Cosine: -0.04253775592822526 

http://JonathansCorner.com/ancient-clock 提供更多代码

我做错了什么,我该如何解决?第一个记录值以弧度为单位(模 2π 的乘数),第二个记录值是完全不同数字的余弦。为什么?

我之前的帖子给人的印象是我不知道Math.cos()。我确实知道Math.cos()并且不知道为什么它似乎会产生与其他人cos(-0.2567721374914637)在 JavaScript 和 PHP 中报告的值不同的值。

我正在运行 Mint Chrome。

4

2 回答 2

2
console.log(distance_along); // -0.2567721374914637
console.log(Math.cos(2 * Math.PI * distance_along)); // -0.04253775592822526 

我做错了什么,我该如何解决?第一个记录值以弧度为单位(模 2π 的乘数),第二个记录值是完全不同数字的余弦。为什么?

因为你将弧度数乘以 2π,这是完全不同的数字。然而,确实希望它的论点以弧度为单位。利用Math.cos

console.log(Math.cos(distance_along)); // 0.9672147629178562
于 2013-05-06T00:04:43.760 回答
2

@jonathanhayward 我认为您在三角函数和/或三角函数方面存在概念问题。

我已经阅读了您的问题 5 次,并认为您想要:

console.log(Math.cos(distance_along));
console.log('Cosine: ' + Math.cos(2 * Math.PI + distance_along));

或者

console.log(distance_along);
console.log('Cosine: ' + (Math.cos(2 * Math.PI) * distance_along));

供参考:

Math.cos(2 * Math.PI + distance_along) == Math.cos(distance_along) // is true
于 2013-05-06T00:22:03.517 回答