小编Dan*_*nby的帖子

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

我正在尝试用 JavaScript 创建一个基于 2d 图块的游戏,并且我需要能够计算两点之间的角度。我正在使用 atan2 函数来查找两点之间的角度,如下所示:

function getAngleDegrees(fromX, fromY, toX, toY, force360 = true) {
    let deltaX = toX - fromX;
    let deltaY = toY - fromY;
    let radians = Math.atan2(deltaY, deltaX);
    let degrees = (radians * 180) / Math.PI;
    if (force360) {
      while (degrees >= 360) degrees -= 360;
      while (degrees < 0) degrees += 360;
    }
    return degrees;
  }
Run Code Online (Sandbox Code Playgroud)

但是,这并没有为我提供正确的结果。我检查了代码是否存在逻辑或数学错误,但找不到任何错误。无论我向该函数输入什么点,结果都会有很多偏差。

我创建了一个 JS 小提琴来可视化问题:

https://jsfiddle.net/fa6o7wdy/40/

如果有人知道我如何修复角度函数以提供正确的结果,请帮助!

编辑:

这是问题的图片:

https://i.stack.imgur.com/EpLXC.jpg

html javascript math geometry

3
推荐指数
1
解决办法
6388
查看次数

标签 统计

geometry ×1

html ×1

javascript ×1

math ×1