问题:物体在三维空间中旋转两次(状态1,状态2),将这两次旋转平均分割成200份,使其自动的连续从状态1旋转到状态2,计算这个连续的旋转矩阵。
两种方法:
- 首先,据两次矩阵,可获得状态1到状态2的旋转矩阵A;
- 根据旋转矩阵A计算出欧拉角,alpha, beta, gamma(三个坐标轴);
- 将欧拉角平均200份,根据欧拉角算出连续旋转矩阵。

由于欧拉角本身有一些缺点,再加上欧拉角平分200后角度太小,做正弦、余弦变换后数值精度不够,从状态1连续旋转后一般达不到状态2。
第二种方法。根据旋转矩阵,计算旋转向量(Rotate Vector)
首先,据两次矩阵,可获得状态1到状态2的旋转矩阵A;
根据旋转矩阵A计算出旋转向量;

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

通过旋转向量获得的连续矩阵,使得物体从状态1可达到一个比较好的状态2(比较了一下变换后的矩阵,旋转矩阵还是有一些差距)。
参考:
刚体在三维空间的旋转(关于旋转矩阵、DCM、旋转向量、四元数、欧拉角)。
Rotation formalisms in three dimensions。

博客围绕物体在三维空间两次旋转,将其平均分割成200份并计算连续旋转矩阵展开。介绍了两种方法,一是通过旋转矩阵算欧拉角再平分计算,因欧拉角缺点和精度问题效果不佳;二是算旋转向量并平分旋转角计算,能使物体从状态1较好地到状态2。

9755

被折叠的 条评论
为什么被折叠?



