代码之家  ›  专栏  ›  技术社区  ›  Paul Spain

如何用四元数调整欧拉角

  •  0
  • Paul Spain  · 技术社区  · 7 年前

    我正在寻找一种返回由四元数旋转的欧拉角的方法。

    我也可以将欧拉角转换为四元数,然后将二者结合起来,但剩下的四元数我无法转换为欧拉。

    我承认我在最好的时候也在努力学习四元数,所以任何帮助都会得到很好的回报。

    为了清楚起见,我只需要返回一个欧拉角,如果需要,所有其他计算都可以用四元数完成。

    我用的是子弹物理,直接X,C++

    谢谢

    2 回复  |  直到 7 年前
        1
  •  1
  •   minorlogic    7 年前
    1. 不能将Euler角与Euler角或Euler角与四元数直接组合。

    2. 在组合旋转后,将其转换回欧拉角。

        2
  •  0
  •   Paltoquet    7 年前

    可以来回转换,但需要尊重应用不同Euler角度的顺序,否则会得到一些糟糕的结果。

    我没有亲自尝试过,如前所述,minorlogic最好坚持使用旋转矩阵/四元数。

    这是一个很好的链接

    https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles

    enter image description here

    其中q0、q1、q2、q3表示w、x、y、z 在这个网站上,他们认为

    飞机在滑向跑道时首先偏航转弯,然后在起飞时俯仰,最后在空中滚动。