【发布时间】:2015-08-21 06:09:30
【问题描述】:
我正在使用这个 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
我可以使用另一个公式来获取以前的值吗?
更新: 坐标系可能是这里的问题。当您单击鼠标时,它会设置原点。如果您向上或向左移动,您将处于负空间。如果您向右或向下移动,则您处于正空间中。
【问题讨论】:
-
这是一个错误。我已经修好了。应该是 10, 0。
-
其他问题看起来不正确。它没有给我在我的问题中描述的结果(或者它有但不清楚)。请留下这个问题。
-
我不了解您的坐标系。即使 12:00 是 0 度......它在时钟的顶部(即正 y 坐标)。除非你同时旋转和翻转时钟。
-
坐标系按照您的描述旋转。当您单击鼠标时,如果向上移动,则为负数,如果向左移动,则为负数。如果您向右或向下移动,则处于积极状态。
标签: javascript math actionscript