三维旋转矩阵 左乘和右乘分析

突然发现自己被旋转矩阵的左乘右乘给搞糊涂了,查了不少博客还是有点晕,这里自己总结一下:
本文所讨论均是基于右手座标系,旋转也是以正方向旋转,如图所示:
右手座标系及旋转正方向
左乘: 座标系不动,点动,则左乘。【若绕静座标系(世界座标系)旋转,则左乘,也是变换矩阵乘座标矩阵;】
右乘: 点不动,座标系动,则右乘。【若是绕动座标系旋转(自身建立一个座标系),则右乘,也就是座标矩阵乘变换矩阵】

由于三维旋转可以分解成分别绕三个轴旋转,然后其实就是二维旋转了。为了方便,这里就使用二维旋转举例。
比如绕z轴旋转 theta 角度;
左乘分析如图所示:
在这里插入图片描述
而右乘分析:
则是旋转座标系;点逆时针旋转了theta角,其实也就是相当于座标轴也逆时针旋转theta角。如图所示:
在这里插入图片描述
设点原座标为[x,y,z][x,y,z],旋转后的座标为[x,y,z][x',y',z'], 设左乘旋转矩阵为RleftR_{left},右乘旋转矩阵为RrightR_{right}
则:
[xyz]=Rleft[xyz]\begin{bmatrix}x'\\y'\\z'\end{bmatrix}={R_{left}}*\begin{bmatrix}x\\y\\z\end{bmatrix}
[xyz]=[xyz]Rright\begin{bmatrix}x'&y'&z'\end{bmatrix}=\begin{bmatrix}x&y&z\end{bmatrix}*{R_{right}}

观察上面两图计算出来的旋转矩阵还可以得出结论,RleftRright=IR_{left}*{R_{right}} = I,这意味这这两个矩阵是互为逆。
另外,Rleft(θ)=Rright(θ)R_{left}(\theta) = {R_{right}} (-\theta)
【可以说,如果一个旋转矩阵左乘表示逆时针旋转 theta 角,那么将此矩阵右乘的话则表示顺时针旋转 theta 角】
左乘与右乘是可以变换的。也即是说:

Rleft3(θ)Rleft2(θ)Rleft1(θ)[xyz]=Rright3(θ)Rright2(θ)Rright1(θ)[xyz]{R_{left_3}}(\theta)*{R_{left_2}}(\theta)*{R_{left_1}}(\theta)*\begin{bmatrix}x\\y\\z\end{bmatrix} = {R_{right_3}}(-\theta)*{R_{right_2}}(-\theta)*{R_{right_1}}(-\theta)*\begin{bmatrix}x\\y\\z\end{bmatrix}

不过建议只是用一种方法来计算旋转矩阵,以免混淆。

【如有错误,欢迎各位批评指正。】

参考博客:https://blog.csdn.net/csxiaoshui/article/details/65446125

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章