插件窝 干货文章 JavaScript中如何计算两点间的角度(弧度)?

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

角度 弧度 deltaX deltaY 810    来源:    2025-03-19

在JavaScript中,计算两点之间的角度(弧度)可以通过以下步骤实现:

  1. 确定两点的坐标:假设你有两个点 A(x1, y1)B(x2, y2)

  2. 计算两点之间的差值:计算 xy 的差值。

    • deltaX = x2 - x1
    • deltaY = y2 - y1
  3. 使用 Math.atan2 函数计算角度Math.atan2(deltaY, deltaX) 返回的是从 x 轴到点 (deltaX, deltaY) 的角度(以弧度为单位)。

  4. 返回角度Math.atan2 返回的角度范围是 π,表示从 x 轴正方向到点 (deltaX, deltaY) 的角度。

以下是实现代码:

function calculateAngle(x1, y1, x2, y2) {
    // 计算x和y的差值
    const deltaX = x2 - x1;
    const deltaY = y2 - y1;

    // 使用Math.atan2计算角度(弧度)
    const angle = Math.atan2(deltaY, deltaX);

    return angle;
}

// 示例使用
const x1 = 0, y1 = 0;
const x2 = 1, y2 = 1;

const angle = calculateAngle(x1, y1, x2, y2);
console.log(`两点之间的角度(弧度)为: ${angle}`);

解释:

  • Math.atan2(deltaY, deltaX) 返回的是从 x 轴正方向到点 (deltaX, deltaY) 的角度,范围是 π
  • 如果你需要将弧度转换为角度,可以使用 angle * (180 / Math.PI)

示例输出:

对于点 (0, 0)(1, 1),输出将是 0.7853981633974483 弧度,即 45 度。

注意事项:

  • Math.atan2 的参数顺序是 (y, x),而不是 (x, y)
  • 如果你需要角度值在 0 之间,可以通过简单的条件判断来调整结果。