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

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

角度 弧度 const 之间 83    来源:    2025-03-19

在JavaScript中,计算两点之间的角度可以通过数学公式来实现。假设你有两个点 (x1, y1)(x2, y2),你可以使用以下步骤来计算它们之间的角度:

  1. 计算两点之间的差值(dxdy)。
  2. 使用 Math.atan2(dy, dx) 来计算两点之间的弧度。
  3. 将弧度转换为角度。

以下是一个示例代码:

function calculateAngle(x1, y1, x2, y2) {
    // 计算两点之间的差值
    const dx = x2 - x1;
    const dy = y2 - y1;

    // 使用 Math.atan2 计算弧度
    const rad = Math.atan2(dy, dx);

    // 将弧度转换为角度
    const angle = rad * (180 / Math.PI);

    // 返回角度值
    return angle;
}

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

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

解释:

  • Math.atan2(dy, dx) 返回的是从 (x1, y1)(x2, y2) 的直线与 x 轴之间的弧度值。
  • rad * (180 / Math.PI) 将弧度转换为角度。

注意:

  • 返回的角度值范围是 -180180 度。如果你需要 0360 度的范围,可以对结果进行调整:
function calculateAngle(x1, y1, x2, y2) {
    const dx = x2 - x1;
    const dy = y2 - y1;
    const rad = Math.atan2(dy, dx);
    let angle = rad * (180 / Math.PI);

    // 将角度调整为 0 到 360 度
    if (angle < 0) {
        angle += 360;
    }

    return angle;
}

这样,你就可以得到 0360 度之间的角度值。