如何检查四元数是否从级别旋转超过定义的度数

时间:2014-08-12 05:49:24

标签: 3d quaternions euler-angles

我有一个四元数q,我需要确定它是否在X / Y轴上旋转超过一定程度的度数。任何简单的快捷方式显然是将quat转换为x / y / z欧拉角,然后将x / x值与角度限制进行比较,但我想知道是否有更简洁的方法来执行此操作。

2 个答案:

答案 0 :(得分:0)

更好的解决方案应该是找到四元数与Identity之间的确切角度。

我不知道你使用了哪个Quaternion实现,其中许多都有一些辅助方法来计算这些东西。如果您的实施不支持此功能,您可以查看this答案以获取帮助。

答案 1 :(得分:0)

看看“摆动扭曲分解”,它用两个分量分割旋转

将旋转分解为2个部分。    1.扭转 - 围绕“方向”向量旋转    2.摆动 - 围绕与“方向”矢量垂直的轴旋转    旋转可以由后面组成    rotation = swing * twist

Component of a quaternion rotation around an axis http://www.euclideanspace.com/maths/geometry/rotations/for/decomposition/