三維旋轉矩陣 左乘和右乘分析
突然發現自己被旋轉矩陣的左乘右乘給搞糊塗了,查了不少部落格還是有點暈,這裡自己總結一下:
本文所討論均是基於右手座標系,旋轉也是以正方向旋轉,如圖所示:
左乘: 座標系不動,點動,則左乘。【若繞靜座標系(世界座標系)旋轉,則左乘,也是變換矩陣乘座標矩陣;】
右乘: 點不動,座標系動,則右乘。【若是繞動座標系旋轉(自身建立一個座標系),則右乘,也就是座標矩陣乘變換矩陣】
由於三維旋轉可以分解成分別繞三個軸旋轉,然後其實就是二維旋轉了。為了方便,這裡就使用二維旋轉舉例。
比如繞z軸旋轉 theta 角度;
左乘分析如圖所示:
而右乘分析:
則是旋轉座標系;點逆時針旋轉了theta角,其實也就是相當於座標軸也逆時針旋轉theta角。如圖所示:
設點原座標為
[
x
,
y
,
z
]
[x,y,z]
[x,y,z],旋轉後的座標為
[
x
′
,
y
′
,
z
′
]
[x',y',z']
[x′,y′,z′], 設左乘旋轉矩陣為
R
l
e
f
t
R_{left}
Rleft,右乘旋轉矩陣為
R
r
i
g
h
t
R_{right}
Rright,
則:
[
x
′
y
′
z
′
]
=
R
l
e
f
t
∗
[
x
y
z
]
\begin{bmatrix}x'\\y'\\z'\end{bmatrix}={R_{left}}*\begin{bmatrix}x\\y\\z\end{bmatrix}
⎣⎡x′y′z′⎦⎤=Rleft∗⎣⎡xyz⎦⎤
[
x
′
y
′
z
′
]
=
[
x
y
z
]
∗
R
r
i
g
h
t
\begin{bmatrix}x'&y'&z'\end{bmatrix}=\begin{bmatrix}x&y&z\end{bmatrix}*{R_{right}}
[x′y′z′]=[xyz]∗Rright
觀察上面兩圖計算出來的旋轉矩陣還可以得出結論,
R
l
e
f
t
∗
R
r
i
g
h
t
=
I
R_{left}*{R_{right}} = I
Rleft∗Rright=I,這意味這這兩個矩陣是互為逆。
另外,
R
l
e
f
t
(
θ
)
=
R
r
i
g
h
t
(
−
θ
)
R_{left}(\theta) = {R_{right}} (-\theta)
Rleft(θ)=Rright(−θ) 。
【可以說,如果一個旋轉矩陣左乘表示逆時針旋轉 theta 角,那麼將此矩陣右乘的話則表示順時針旋轉 theta 角】
左乘與右乘是可以變換的。也即是說:
R l e f t 3 ( θ ) ∗ R l e f t 2 ( θ ) ∗ R l e f t 1 ( θ ) ∗ [ x y z ] = R r i g h t 3 ( − θ ) ∗ R r i g h t 2 ( − θ ) ∗ R r i g h t 1 ( − θ ) ∗ [ x y z ] {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} Rleft3(θ)∗Rleft2(θ)∗Rleft1(θ)∗⎣⎡xyz⎦⎤=Rright3(−θ)∗Rright2(−θ)∗Rright1(−θ)∗⎣⎡xyz⎦⎤
不過建議只是用一種方法來計算旋轉矩陣,以免混淆。
【如有錯誤,歡迎各位批評指正。】
參考部落格:https://blog.csdn.net/csxiaoshui/article/details/65446125
相關文章
- 三維空間變換中旋轉矩陣左乘與右乘的區別矩陣
- 三維旋轉矩陣推導矩陣
- 矩陣連乘矩陣
- 三維旋轉:旋轉矩陣,尤拉角,四元數矩陣
- CUDA 版本矩陣乘矩陣
- 三維座標系的旋轉矩陣矩陣
- 利用三維旋轉矩陣在空間中旋轉平面矩陣
- 矩陣連乘問題矩陣
- hdu 1757 矩陣連乘矩陣
- CUDA版本稀疏矩陣向量乘矩陣
- OpenMP 版本稀疏矩陣向量乘矩陣
- 二維旋轉矩陣推導矩陣
- 三維座標系旋轉——旋轉矩陣到旋轉角之間的換算矩陣
- 三維空間座標系變換-旋轉矩陣矩陣
- 動態規劃&矩陣連乘動態規劃矩陣
- 旋轉矩陣矩陣
- 矩陣旋轉矩陣
- 三維重建學習(1):基礎知識:旋轉矩陣與旋轉向量矩陣
- 三維空間 旋轉矩陣 四元數 尤拉角 相互轉換 組合旋轉矩陣
- 三維圖形繞任意軸旋轉矩陣求解步驟矩陣
- 矩陣連乘演算法精講矩陣演算法
- 旋轉變換(一)旋轉矩陣矩陣
- 演算法題:矩陣鏈乘問題演算法矩陣
- 剛體在三維空間的旋轉(關於旋轉矩陣、DCM、旋轉向量、四元數、尤拉角)矩陣
- 旋轉矩陣(Rotate Matrix)的性質分析矩陣
- 旋轉矩陣推導矩陣
- 三維空間中物體兩次旋轉之間的連續旋轉矩陣計算矩陣
- NYOJ 1409 快速計算【矩陣連乘】矩陣
- 矩陣連乘(動態規劃演算法)矩陣動態規劃演算法
- 演算法題系列:矩陣鏈乘問題演算法矩陣
- 向量點乘為降維,叉乘為升維點乘
- 【矩陣求導】關於點乘 (哈達瑪積)的矩陣求導矩陣求導點乘
- lisp 習題 矩陣旋轉Lisp矩陣
- 原地旋轉矩陣(不申請新的記憶體空間旋轉矩陣)矩陣記憶體
- 矩陣連乘問題 Python 動態規劃矩陣Python動態規劃
- poj 2778 AC自動機與矩陣連乘矩陣
- hdu2243 ac自動機+矩陣連乘矩陣
- 三維旋轉矩陣的推導過程(以右手座標系為例)矩陣