【问题标题】:Angle from vector从矢量角度
【发布时间】:2013-12-30 20:40:35
【问题描述】:

假设我有 A 点 (20,20) 和 B 点 (60,60)。

得到的向量将是 40、40。我怎样才能得到这个向量的角度?

我的意思是,想象在原点周围有一个假想的圆圈。

我猜 atan2 做了什么,但没有 atan2。

谢谢

【问题讨论】:

  • Math.atan2 有什么问题?
  • 我没有在脑海中进行任何计算,我猜测结果向量 (40,40) 的角度是 45 度或 π/4 弧度......称之为预感。跨度>

标签: algorithm vector


【解决方案1】:

假设您想要找到向量相对于 X 轴的角度(在 JavaScript 中):

var vector = {x: 40, y: 40};

var rad = Math.atan(vector.y/vector.x)
var deg = rad * 180/Math.PI;

alert(deg); // 45 deg

【讨论】:

    【解决方案2】:

    我不确定您所说的角度是什么意思,因为您在示例中只给出了一个向量。但是,给定两个向量,您可以像这样找到它们之间的角度:

    给定向量 a 和 b,将它们都归一化。然后,dot(a, b) = cos(θ),其中 θ 是两个向量之间的夹角。使用 arccos 求 θ。

    【讨论】:

      【解决方案3】:

      下面的链接将向您展示如何找到两个向量之间的角度:

      http://www.wikihow.com/Find-the-Angle-Between-Two-Vectors

      【讨论】:

      • 我认为 OP 是在询问差异向量 B-A 的极角。至少这是我认为将 (40, 40) 作为“结果向量”的唯一方法。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 2014-05-10
      • 1970-01-01
      相关资源
      最近更新 更多