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