本部落格試圖用一些最直觀,形象,執行個體的方式解釋相關概念
對於一個攝影測量學(photogrammetry)或者三維電腦視覺(3D computer vision)的學習者來說,第一個要接觸的應該就是各種座標系之間的轉換,攝影測量領域有一套自己的座標系統規則,電腦視覺也有一套自己的規則。下面就讓我們看看到底它們之間是如何轉換的。攝影測量中的旋轉歐拉角構成的旋轉矩陣 R R (rotation),基準 (baseline) B B 和電腦視覺中的旋轉矩陣 (camera rotation) R R ,平移向量 (camera translation) T T ,相機位置 (camera position) C C 之間到底是什麼關係。
為了回答這些問題,首先我們給出兩個非常直觀的例子來理清楚三維空間中的旋轉問題.
當談及到空間中的旋轉,我們需要特別注意兩個問題:
(1)旋轉的方向,即從 A A 旋轉到 B B 還是從 B B 旋轉到 A A;
(2)旋轉是順時針 (clockwise) 還是逆時針 (counter-clockwise).
當然,它們都是相對的關係,順時針從 A A 到 B B 就是逆時針 從 B B 到 A A 。好了,說的這麼抽象,看一個簡單的二維座標系的例子:
假設 P P 點的在 O−XY O-XY 座標系下的座標是 (1,1) (1,1),那麼 P P 點在 o1−XY o_1-XY 座標系下的座標是多少呢。從圖中我們可以直接看出是 (1,−1) (1,-1)。但是從理論上是如何計算出來的呢。我們知道 P P 點在 o1−XY o_1-XY 下的座標是將 o−XY o-XY 座標系逆時針旋轉 π2 \frac{\pi}{2} 得到的,這裡需要注意的是,在旋轉座標系的時候, P P 點並沒有變化,我們要得到的僅僅是 P P 點在不同座標系下的表示,那麼如何用矩陣來表示這一過程呢。
這裡,我們首先直接給出二維座標系順時針旋轉 θ \theta 的公式(這裡就不做推導,有興趣可以自己推導,也很簡單)。
[cosθ