【问题标题】:How to Determine the Angle of Rotation for a Point如何确定一个点的旋转角度
【发布时间】:2015-01-26 19:35:16
【问题描述】:

我在 x、y 平面上有 2 个点。我想通过围绕 z 轴旋转将一个点旋转到另一点上。

如何找到将一个点旋转到另一个点的角度?

【问题讨论】:

  • 您使用什么语言?提供您的假设代码。
  • 这两点是否共面,以使 z 轴旋转可以精确对齐它们?
  • 它在 Python 中。但是,这些点是由不允许我通过 API 调用操作顶点的软件提供的。我必须找到角度然后旋转。这就是为什么我不考虑语言的原因。只是在寻找更高层次的方法。
  • @templatetypedef 是
  • @user2970916:我假设您的意思是“围绕原点旋转”,因为 2D 平面中没有 z 轴?

标签: algorithm math rotation angle


【解决方案1】:

也许最好的办法是从水平方向得到两点的角度,然后取差值。

angle_1 = atan2( y_1, x_1 );
angle_2 = atan2( y_2, x_2 );

rotation_angle = angle_1-angle_2;

【讨论】:

    【解决方案2】:

    嗯,这个角度的sin[a, b] / (abs(a) * abs(b)),它的cos(a, b) / (abs(a) * abs(b)),其中[a, b]ab的叉积,(a, b)是一个标量积abs(x) 是向量 x 的长度。给定它的sincos,很容易找到一个角度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      相关资源
      最近更新 更多