# 驗證旋轉矩陣是正交矩陣 對於旋轉矩陣($R \in \mathbb{R} ^{n\times n}$)來說 $R$是歐式空間的旋轉矩陣(線性等距離且保留方向性) $\iff$ $R^TR=I$ 且 $det(R)=+1$ Note: $\iff$ : 若且唯若(if and only if,iff) 1) 先 驗證正交(Orthogonal) 假設矩陣為$R \in \mathbb{R} ^{n\times n}$ Orthogonal定義是 $$ R^TR=I $$ 2. 再驗證旋轉特性 旋轉矩陣屬於特殊正交$SO(n)$ $$ det(R)=+1 $$ 當$det(R)=-1$則是帶鏡像的"反射+旋轉",不是單純的旋轉。 *特殊正交*: 每個正交矩陣($R \in \mathbb{R}^{n\times n}$)的行列式為$1$ or $-1$,其中行列式為+1的時候稱為特殊正交矩陣(Speical Orthogonal Matrix),記為$SO(n)$。 ## 證明: $\implies$ 旋轉的本質轉換後是向量之間是等距離 (如果有兩個點(向量)在歐式空間距離是10,透過旋轉矩陣的投影後兩個點的歐式距離在新的空間還是10)→ 等於兩個點投影前和投影後的內積值要一樣。 假設有任意$x,y\in \mathbb{R}^n$,透過旋轉矩陣$R$轉換後的結果為$R_x,R_y$, 旋轉的本質: $$<R_x,R_y>=<x,y>$$ 矩陣$R$的標準基礎向量為$e_i$和$e_j$,$i,j$表示不同基底。 -------------- 標準基礎向量為 $$ e_1=[1,0,0,...]^T,e_2=[0,1,0,...]^T,... $$ 基底之間內積為$<e_i,e_j>=\delta_{ij}$ $\delta_{ij}$是Kronecker delta: $$\delta_{ij}= \begin{cases} 1, & i=j \\ 0, & i\neq j \end{cases} $$ ------------ 設 $u_i=Re_i$ ($R$的第$i$欄),$R=[Re_1, Re_2, …Re_n]=[u_1,u_2,…,u_n]$ 這是線性代數基本 → $R$乘上基底$e_i$,得到$R$的第$i$欄向量。 可以自己手算看看 套用旋轉矩陣「保持內積」性質 $$<R_x,R_y>=<x,y> \implies x^TR^TRy=x^Ty \implies x^T(R^TR-I)y=0$$ 只有$(R^TR-I)=0$滿足,所以 $$ R^TR=I $$ $$ <u_i,u_j>=<Re_i,Re_j>=<e_i,e_j>=\delta_{ij} $$ $i=j$,$<u_i,u_j>=1$→每個欄位向量長度為1 $i\neq j$,$<u_i,u_j>=0$→不同欄位向量之間互相垂直。 所以$R$ 的每一欄都是單位向量,各欄位向量兩兩正交 $R$是歐式空間的旋轉矩陣(線性等距離且保留方向性) $\implies$ $R^TR=I$ 且 $det(R)=+1$ ## 證明: $\impliedby$ 條件是: $R^TR=I$且 $det(R)=1$ ,必為純旋轉 $$<Rx,Ry>=x^TR^TRy=x^Ty=<x,y>$$ 所以R保留內積一致性,也就是保留所有夾角和距離都是線性等距(isometry) 由 $$det(R^TR)=det(I)=1 \implies det(R)=\pm1$$ 因為我們的條件有$det(R)=1$,所以$R$為保向等距映射,為純旋轉的定義。 所以 「旋轉矩陣」$\iff$「正交且行列式為+1」 ###### tags: `SLAM Learning`