0

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

4

2 回答 2

0

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

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

四元数绕轴旋转的分量 http://www.euclideanspace.com/maths/geometry/rotations/for/decomposition/

于 2014-08-12T15:45:42.777 回答
0

更好的解决方案应该是找到你的四元数和Identity一个之间的精确角度。

我不知道Quaternion您使用哪种实现,其中许多都有一些辅助方法来计算这些东西。如果您的实现不支持这一点,您可以查看答案以寻求帮助。

于 2014-08-12T13:28:41.213 回答