【问题标题】:Does Euler angles -> quaternion -> Euler angles always result in an equivalent rotation?欧拉角 -> 四元数 -> 欧拉角是否总是导致等效旋转?
【发布时间】:2015-08-26 19:43:48
【问题描述】:

从欧拉角转换为四元数再转换回欧拉角时,resulting Euler angles may not be the same as the original Euler angles.但它们总是等价的吗?我的意思是,如果我将原始欧拉旋转或生成的欧拉旋转应用到一个对象,那么该对象最终会以相同的方向结束吗?

【问题讨论】:

  • 简短回答:是的。 (假设是无限精度。)

标签: math quaternions euler-angles


【解决方案1】:

是的。

每个旋转都可以(不一定是唯一的)使用欧拉角来描述。四元数也是如此。除非您在转换时出错,否则转换将使得每个转换步骤的输入和输出仍然描述相同的旋转。因此,通过传递性,原始旋转与最终旋转相同,因为它们都等于四元数描述的中间旋转。

唯一的问题可能来自这样一个事实,如果你不小心,某些情况可能会导致algorithm of your conversion 失败,例如导致gimbal-locked 的情况被零除。如果你正确处理了这些奇点,那么最终的结果将等同于初始输入。

【讨论】:

  • “方向”这个词是正确的,但“旋转”可以用作随时间变化的方向。所以一个方向可以用“欧拉天使”的几种组合来表示,可以表达不同的“旋转”,例如,常用的做法是用“欧拉天使”来表示动画的一部分(供用户输入)
  • 我将旋转解释为单个原子操作,而不是随时间的连续变化。我认为我对这些词的使用很常见,我希望 OP 的意思是一样的。我将使用轴和角速度的某种组合或四元数指数来描述连续旋转。我唯一一次看到用欧拉角来描述连续运动是在天体力学的背景下,其中两个角描述轨迹的平面,第三个角描述该平面上的位置,暗示最后一个角会随着时间而改变。你是这个意思吗?
  • Argee 这是常用的用法,重要的是 TS 以同样的方式使用它。附言很多时候我在动画中使用 EA 来定义简单的旋转运动。
猜你喜欢
  • 2012-06-21
  • 2013-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 2019-10-27
  • 1970-01-01
  • 2013-06-22
相关资源
最近更新 更多