2

好的,我已经构建了一个小提琴

http://jsfiddle.net/roLLqfs6/1/

问题,为什么我看到所有的线都重叠,为什么即使我从一个度数构造一个弧度它仍然重叠?

var radians = 90 * (Math.PI/180); //90 degrees if I'm not mistaken

此图表还显示了介于 0 和 6.2 之间的弧度,但在 javascript 中,我看到的弧度数字有时前面带有减号。(例如:-3.0924735724101273)这是怎么回事?

在此处输入图像描述

这显示负

在此处输入图像描述

这是正确的(我想两者都是,但我发现自己对实际范围感到困惑)

4

2 回答 2

3

因为你应该乘以Math.sin()而不是Math.cos()Y 坐标。查看更新的 jsFiddle

for (var i = 0; i < r.length; i++) {
    c.lineTo(
        100 + 100 * Math.cos(r[i]),
        100 + 100 * Math.sin(r[i])
    );
}
于 2014-09-24T17:39:18.147 回答
1

这是因为您调用 Math.cos 两次,因为它们都在 x 和 y 轴上移动。所以你总是会画一条对角线。将第二次调用更改为 Math.sin:

for(var i=0;i<=r.length-1;i++){
    c.lineTo(
        100+(100)*Math.cos(r[i]),
        100+(100)*Math.sin(r[i])
    );}
于 2014-09-24T17:41:20.957 回答