我有2个旋转矩阵(让我们称之为A和B),其中:
A = 1 0 0
0 0 -1
0 1 0
Run Code Online (Sandbox Code Playgroud)
和
B = -1 0 0
0 0 -1
0 -1 0
Run Code Online (Sandbox Code Playgroud)
这基本上只是一个旋转,相机旋转在后面看自己.显然,我不能直接在矩阵中插值,因为它看起来很奇怪.我已经尝试将矩阵转换为欧拉角,产生2组X,Y,Z角,并试图根据X,Y,Z角的每个分量之间的最小距离确定使用哪个角.这肯定会产生我想要的那种旋转,但是我想不出一个合适的方法来确定插入哪个角度,因为有时导致最小误差的角度组会导致围绕错误的轴/轴旋转.我也尝试了四元数,但这基本上给了我相同的结果.谁能指出我正确的方向?
在乘以大量旋转矩阵之后,由于舍入问题(去正交化),最终结果可能不再是有效的旋转矩阵
重新正交化的一种方法是遵循以下步骤:
Eigen库中有什么东西可以通过隐藏所有细节来做同样的事情吗?或者有更好的食谱吗?
由于特殊的奇点情况,必须小心处理此过程,因此如果Eigen为此提供了更好的工具,那将是很好的.