如何获得 12 点钟为 0 度或 360 度的 360 度圆?
How do I get the degrees of a 360 circle where 12 o clock is 0 or 360 degrees?
我正在使用此 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
我可以使用另一个公式来获取以前的值吗?
更新:
坐标系可能是这里的问题。当您单击鼠标时,它会设置原点。如果向上或向左移动,则处于负值 space。如果向右或向下移动,则处于正 space.
像下面这样的东西怎么样:
function getAngle(y, x) {
var angle = Math.atan2(-x, -y) * 180/Math.PI - 90;
return angle < 0 ? 360 + angle : angle; // Ensure positive angle
}
我正在使用此 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
我可以使用另一个公式来获取以前的值吗?
更新: 坐标系可能是这里的问题。当您单击鼠标时,它会设置原点。如果向上或向左移动,则处于负值 space。如果向右或向下移动,则处于正 space.
像下面这样的东西怎么样:
function getAngle(y, x) {
var angle = Math.atan2(-x, -y) * 180/Math.PI - 90;
return angle < 0 ? 360 + angle : angle; // Ensure positive angle
}