我怎么得到一个360度的圆12度是0或360度

How do I get the degrees of a 360 circle where 12 o clock is 0 or 360 degrees?

本文关键字:360度 12度 一个      更新时间:2023-09-26

我使用这个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 

是否有另一个公式我可以使用,以获得以前的值?

更新:坐标系统可能是问题所在。当你点击鼠标时,它会设置原点。如果你向上或向左移动,你就在负空间。

不如这样写:

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