分析
要计算两个点的坐标,即点 A (x1, y1) 和点 B (x2, y2) 之间的角度,可以使用以下公式:
angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI;
其中,Math.atan2()
返回点 B 相对于点 A 的方位角,这个角度由正 x 轴逆时针旋转到点 B 与点 A 连线的角度得出。因此,Math.atan2(y2 - y1, x2 - x1)
返回的是弧度制的角度。将这个角度乘以 180/π,即 * 180 / Math.PI
,就可以将其转换为角度制。
以下是一个 JavaScript 函数,它接受四个参数,分别是点 A 的 x/y 坐标和点 B 的 x/y 坐标,返回点 A 到点 B 之间的角度:
代码
function calculateAngle(x1, y1, x2, y2) {
var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI;
return angle;
}
例如,如果点 A 的坐标为 (4, 3),点 B 的坐标为 (1, 5),则调用该函数:
var angle = calculateAngle(4, 3, 1, 5);
console.log(angle);
将会在控制台输出 -138.814 (度)。