从网格上的2个点获取角度

时间:2018-04-10 18:08:56

标签: javascript math trigonometry angle

我有一个平面2D地图的网格,与通常有点不同。左上角为0,0,右下角为1000,1000。我在这张地图上有2个点,一个原点/锚点和一个目的地。

我希望找出从原点到目的地的度数(在javascript中)。我查看了许多答案,但都没有产生正确的结果。

function getAngle(origin_x, origin_y, destination_x, destination_y) {
var newx = destination_x - origin_x;
var newy = destination_y - origin_y;
var theta = Math.atan2(-newy, newx);
if (theta < 0) {
theta += 2 * Math.PI;
}
theta *= 180 / Math.PI;
return theta;
}

这是我到目前为止所做的,但它没有产生正确的角度。

Image of the problem

非常感谢你!

1 个答案:

答案 0 :(得分:1)

image from mdn Math.atan2 doc

它将给出相对于x轴而不是y轴的角度。转换所有你要做的是

var newAngle = 90 - theta;