相关疑难解决方法(0)

旋转矩阵之间的插值

我有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角的每个分量之间的最小距离确定使用哪个角.这肯定会产生我想要的那种旋转,但是我想不出一个合适的方法来确定插入哪个角度,因为有时导致最小误差的角度组会导致围绕错误的轴/轴旋转.我也尝试了四元数,但这基本上给了我相同的结果.谁能指出我正确的方向?

opengl interpolation rotation matrix

12
推荐指数
2
解决办法
7268
查看次数

旋转矩阵的特征 - 重新正交化

在乘以大量旋转矩阵之后,由于舍入问题(去正交化),最终结果可能不再是有效的旋转矩阵

重新正交化的一种方法是遵循以下步骤:

  1. 将旋转矩阵转换为轴角度表示(链接)
  2. 将轴角转换回旋转矩阵(链接)

Eigen库中有什么东西可以通过隐藏所有细节来做同样的事情吗?或者有更好的食谱吗?

由于特殊的奇点情况,必须小心处理此过程,因此如果Eigen为此提供了更好的工具,那将是很好的.

algorithm math rotation eigen rotational-matrices

8
推荐指数
3
解决办法
5472
查看次数