三维空间中物体两次旋转之间的连续旋转矩阵计算

问题:物体在三维空间中旋转两次(状态1,状态2),将这两次旋转平均分割成200份,使其自动的连续从状态1旋转到状态2,计算这个连续的旋转矩阵。

两种方法:

  1. 首先,据两次矩阵,可获得状态1到状态2的旋转矩阵A;
  2. 根据旋转矩阵A计算出欧拉角,alpha, beta, gamma(三个坐标轴);\gamma =\arctan \left ( A_{31},A_{_{32}} \right ) \beta =\arccos \left ( A_{33}} \right ) \alpha =\arctan \left ( A_{13},A_{_{23}} \right )
  3. 将欧拉角平均200份,根据欧拉角算出连续旋转矩阵。

由于欧拉角本身有一些缺点,再加上欧拉角平分200后角度太小,做正弦、余弦变换后数值精度不够,从状态1连续旋转后一般达不到状态2。

第二种方法。根据旋转矩阵,计算旋转向量(Rotate Vector)

首先,据两次矩阵,可获得状态1到状态2的旋转矩阵A;

根据旋转矩阵A计算出旋转向量;

将旋转向量的旋转角平分200,计算获得连续旋转矩阵。

通过旋转向量获得的连续矩阵,使得物体从状态1可达到一个比较好的状态2(比较了一下变换后的矩阵,旋转矩阵还是有一些差距)。

扫描二维码关注公众号,回复: 3069959 查看本文章

参考:

刚体在三维空间的旋转(关于旋转矩阵、DCM、旋转向量、四元数、欧拉角)

Rotation formalisms in three dimensions

 

猜你喜欢

转载自blog.csdn.net/ruihaha/article/details/82223489