旋轉(zhuǎn)平移

二維旋轉(zhuǎn)

二維

\left\{\begin{matrix} x=r\cos \phi \\ y=r\sin \phi \end{matrix}\right.

\left\{\begin{matrix} x'=r\cos (\phi+\theta) \\ x'=r\sin (\phi+\theta) \end{matrix}\right.

三角函數(shù)展開:

\left\{\begin{matrix} x′=r\cos(\theta)\cos(\phi)?r\sin(\theta)\sin(\phi)\\ y′=r\sin(\theta)\cos(\phi)+y\cos(\theta)\sin(\phi) \end{matrix}\right.

帶入xy公式:

\left\{\begin{matrix} x′=x\cos(\theta)?y\sin(\theta)\\ y′=x\sin(\theta)+y\cos(\theta) \end{matrix}\right.

轉(zhuǎn)為矩陣形式:

\begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} \cos(\theta) &-\sin(\theta) \\ \sin(\theta) &\cos(\theta) \end{bmatrix} \ast \begin{bmatrix} x\\ y \end{bmatrix}

  • 二維繞點旋轉(zhuǎn),旋轉(zhuǎn)矩陣對角記憶
加入平移引入齊次坐標:

\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} \cos(\theta) &-\sin(\theta) &t_x\\ \sin(\theta) &\cos(\theta) &t_y\\ 0& 0&1 \end{bmatrix} \ast \begin{bmatrix} x\\ y\\ 1 \end{bmatrix}

三維旋轉(zhuǎn)(齊次坐標下)

三維坐標系定義
繞X軸旋轉(zhuǎn)

\begin{bmatrix} x' \\ y' \\ z' \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0& 0\\ 0 & \cos(\theta) &-\sin(\theta) &0 \\ 0 & \sin(\theta) &\cos(\theta)&0\\ 0 & 0& 0&1 \end{bmatrix} \ast \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix}

繞Y軸旋轉(zhuǎn)

\begin{bmatrix} x' \\ y' \\ z' \\ 1 \end{bmatrix} = \begin{bmatrix} \sin(\theta) & 0 & \cos(\theta) &0\\ 0 &1 &0 &0\\ \cos(\theta) &0 &-\sin(\theta) &0\\ 0 & 0 & 0 &1 \end{bmatrix} \ast \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix}

繞Z軸旋轉(zhuǎn)

\begin{bmatrix} x' \\ y' \\ z' \\ 1 \end{bmatrix} = \begin{bmatrix} \cos(\theta) &-\sin(\theta) &0 &0 \\ \sin(\theta) &\cos(\theta) &0 &0 \\ 0 &0 &1 &0\\ 0& 0& 0& 1 \end{bmatrix} \ast \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix}

  • 右手坐標系,拇指為旋轉(zhuǎn)軸方向,四指彎曲方向由源軸指向目標軸
  • 旋轉(zhuǎn)矩陣中,源軸為cos -sin 目標軸為 sin cos
    參考

如何求旋轉(zhuǎn)矩陣

知道源坐標系及目標坐標系在原坐標系下的定義即可求得旋轉(zhuǎn)矩陣

點乘叉乘的定義
注意:numpy中點乘結(jié)果為標量 叉乘結(jié)果為矢量 外積結(jié)果是矩陣

在剛體運動中,同一個向量在各個坐標系下的長度和夾角不發(fā)生變換,這種變換稱為歐式變換,由旋轉(zhuǎn)和平移組成

設(shè)兩個單位正交基,\begin{bmatrix} e_1,e_2,e_3\end{bmatrix}\begin{bmatrix} e_1^,,e_2^,,e_3^,\end{bmatrix},e_i為3x1列向量。

即已知源坐標系e_i和目標坐標系e_i^,及向量a在源坐標系的定義

對于同一個向量a=[a_1,a_2,a_3]^T
\begin{bmatrix}e_1,e_2,e_3\end{bmatrix} \begin{bmatrix} a_1\\ a_2\\ a_3 \end{bmatrix} = \begin{bmatrix}e_1^,,e_2^,,e_3^,\end{bmatrix} \begin{bmatrix} a_1^,\\ a_2^,\\ a_3^, \end{bmatrix}
將坐標系e旋轉(zhuǎn)為坐標系e^,,需將上式左邊乘以\begin{bmatrix}e_1^,,e_2^,,e_3^,\end{bmatrix}^{-1}.

單位正交矩陣,單位正交矩陣的性質(zhì)其逆矩陣等于其轉(zhuǎn)置矩陣:\begin{bmatrix}e_1^,,e_2^,,e_3^,\end{bmatrix}^{-1} = \begin{bmatrix}e_1^,,e_2^,,e_3^,\end{bmatrix}^{T}

得到如下公式:
\begin{bmatrix} a_1^,\\ a_2^,\\ a_3^, \end{bmatrix} = \begin{bmatrix}e_1^{,T}\\e_2^{,T}\\e_3^{,T}\end{bmatrix} \begin{bmatrix}e_1,e_2,e_3\end{bmatrix} \begin{bmatrix} a_1\\ a_2\\ a_3 \end{bmatrix}
展開
\begin{bmatrix} a_1^,\\ a_2^,\\ a_3^, \end{bmatrix} = \begin{bmatrix} e_1^{,T}e_1 & e_1^{,T}e_2 &e_1^{,T}e_2 \\ e_2^{,T}e_1 & e_2^{,T}e_2 &e_2^{,T}e_2 \\ e_3^{,T}e_1 & e_3^{,T}e_2 &e_3^{,T}e_2 \end{bmatrix} \begin{bmatrix} a_1\\ a_2\\ a_3 \end{bmatrix}
R= \begin{bmatrix} e_1^{,T}e_1 & e_1^{,T}e_2 &e_1^{,T}e_2 \\ e_2^{,T}e_1 & e_2^{,T}e_2 &e_2^{,T}e_2 \\ e_3^{,T}e_1 & e_3^{,T}e_2 &e_3^{,T}e_2 \end{bmatrix}

其中R為旋轉(zhuǎn)矩陣,加上平移向量t改為齊次坐標
\begin{bmatrix} a^,\\ 1 \end{bmatrix} = \begin{bmatrix} R & t\\ 0^T &1 \end{bmatrix} \begin{bmatrix} a\\ 1 \end{bmatrix}

參考資料

當僅知道原坐標系和目標坐標系時

以相機坐標系旋轉(zhuǎn)為例
相機坐標系a滿足以下條件:
a=\begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix}
可得:
a^,=Ra\ a^,=R
即若能求得目標坐標系在原坐標系下的定義矩陣,則旋轉(zhuǎn)矩陣R即為a^,坐標系的描述,該矩陣每個列向量即為坐標軸x,y,z的分量
R_1^{T} R_2^{T} R_3^{T}

旋轉(zhuǎn)矩陣的性質(zhì)及理解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容