如何在12点钟为0或360度的情况下获得360度的圆度?

时间:2015-06-06 09:08:13

标签: javascript math actionscript

我正在使用此JavaScript / ActionScript代码来确定给定两个x和y值的角度,但它不正确:

var deltaX = 10;
var deltaY = -10;
var angleInDegrees:int = -(Math.atan2(deltaY, deltaX) * 180 / Math.PI);
trace(angleInDegrees); // 45'

结果在不同点:

clock    x    y    angle
========================
12:00    0, -10  =    90
 3:00   10,   0  =     0
 6:00    0,  10  =   -90
 9:00  -10,   0  =  -180 

我正在尝试获取以下角度值:

clock    x    y    angle
========================
12:00    0, -10  =     0
 3:00   10,   0  =    90
 6:00    0,  10  =   180
 9:00  -10,   0  =   270 

我可以使用另一个公式来获取以前的值吗?

更新 坐标系可能是这里的问题。单击鼠标时,它会设置原点。如果向上或向左移动,则处于负空间。如果你向右或向下移动,你就处于积极的空间。

1 个答案:

答案 0 :(得分:1)

如下所示:

function getAngle(y, x) {
    var angle = Math.atan2(-x, -y) * 180/Math.PI - 90;
    return angle < 0 ? 360 + angle : angle;  // Ensure positive angle
}