首页 > 文章列表 > JavaScript中如何计算两点间的角度?

JavaScript中如何计算两点间的角度?

491 2025-03-20

JavaScript中如何计算两点间的角度?

使用JavaScript计算两点间角度

本文介绍如何用JavaScript计算点B相对于点A的弧度,特别是基于鼠标点击坐标获取角度的情况。

核心在于利用JavaScript的数学函数计算角度。 图片显示了点A和点B,我们需要计算B点相对于A点的弧度。JavaScript的Math.atan2(y, x)函数非常有用。

Math.atan2(y, x)根据坐标(x, y)计算点与原点间的角度(弧度)。但我们需要计算B点相对于A点的角度,所以先计算B点相对于A点的坐标差值:Δx = B.x - A.x,Δy = B.y - A.y。然后将Δy和Δx作为参数传入Math.atan2()

Math.atan2(y, x)返回弧度值,范围是(-π, π]。B点相对于A点位于第一或第二象限,弧度值在[0, π]之间;位于第三或第四象限,则在(0, -π]之间。

如果需要计算B点相对于A点的逆时针旋转弧度,需要对负弧度进行调整。当Math.atan2()返回负值时,加上2π将其转换为正值,表示逆时针旋转角度。

以下代码片段演示了这个功能:

// 获取B点相对于A点的逆时针旋转弧度
const getRadian = (b, a) => {
  let rad = Math.atan2(b.y - a.y, b.x - a.x);
  if (rad < 0) {
    rad += 2 * Math.PI;
  }
  return rad;
};

这个函数接收两个点对象ab作为参数,每个点对象包含xy属性表示坐标。函数返回B点相对于A点逆时针旋转的弧度值。 此函数方便地计算基于鼠标点击坐标得到的两点间角度。

来源:1741384610