math - 欧拉角 -> 四元数 -> 欧拉角是否总是产生等效旋转?

标签 math quaternions euler-angles

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

最佳答案

是的。

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

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

关于math - 欧拉角 -> 四元数 -> 欧拉角是否总是产生等效旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32235395/

相关文章:

c++ - 四元数到方向 vector

matrix - 如何使用原始陀螺仪数据°/s来计算3D旋转?

javascript - 如何将字符串解析为整数并保留小数位(如果它们为零)?

c - 交替的加号和减号运算符有什么作用?

java - 从编辑文本中获取值并将其与设置的变量进行比较

3d - 如何使用凸轮四元数计算物体相对于相机的方位角和仰角......?

c# - 随时间旋转游戏对象

rotation - 偏航、俯仰和滚动到 vectorDir 和 vectorUp

c++ - 使用 Eigen 库从旋转矩阵滚动俯仰和偏航

javascript - 尝试更改 "total_price"变量的值,但在 Javascript 中得到 "Undefined"