齊次座標,怎麼你也叫Homogeneous

其實參考鏈接中已經解釋的很好了,這篇博客主要就是爲了碼一下別人的博客。鏈接1、2裏面不僅有關於齊次座標的解釋,還有很多其他的計算機圖像的知識點,鏈接2還做了很多《冰與火之歌》的彩蛋。

在平常數學運算中,我們一般使用笛卡爾座標,但是在計算機圖形學中使用的更多的是齊次座標(Homogeneous Coordinates)。數學裏,齊次座標(homogeneous coordinates),或投影座標(projective coordinates)是指一個用於投影幾何裏的座標系統,如同用於歐氏幾何裏的笛卡兒座標一般。該詞由奧古斯特·費迪南德·莫比烏斯於1827年在其著作《Der barycentrische Calcul》一書內引入齊次座標有三大優點。

一,還可以表示無窮遠處的點。在歐式空間(Euclidean space)或者笛卡爾空間(Cartesian space)中,平行線是無法相交的,但是真實世界中因爲透視關係,平行的鐵軌在無窮遠處也可以相交。而歐式空間中的座標$\left( {\infty \infty } \right)$沒有意義,所以齊次座標就出現了。齊次座標可以用$n + 1$維的座標表示笛卡爾座標系中$n $維的座標。齊次座標$\left( {\hat x,\hat y,\omega } \right)$對應笛卡爾座標\left( {\frac{{\hat x}}{\omega },\frac{{\hat y}}{\omega }} \right)$\omega $是縮放係數。這樣當取$\omega = 0$,就可以表示笛卡爾座標系中的無窮大,對應無窮點(points at infinity)。一般的,取$\omega = 1$,得到歸一化的齊次座標。\tilde x是齊次座標,{\rm{\bar x}}被稱爲增廣矢量(augmented vector)。

                                            \[\tilde x = \left( {\hat x,\hat y,\omega } \right) = \omega \left( {x,y,1} \right) = \omega {\rm{\bar x}}\]                                          

二,齊次座標可以區分點和向量。計算機圖形學(OpenGL版)》的作者F.S. Hill Jr. 寫到:齊次座標表示是計算機圖形學的重要手段之一,它既能夠用來明確區分向量和點,同時也更易用於進行仿射(線性)幾何變換[98]。在笛卡爾座標系中的一個座標,我們無法判斷它表示的是一個點還是一個從原點指向該點的向量。齊次座標因爲有一個冗餘的維度(縮放係數),可以作爲標誌位,當它取1時表示座標點,當它爲0時表示向量。這是因爲表達一個點比一個向量需要額外的信息:

三,齊次座標允許平移、旋轉、縮放和透視投影表示爲矩陣與向量相乘的運算,而使用笛卡爾座標,平移和透視投影不能表示成矩陣相乘。仿射變換其實就是線性變換(旋轉縮放)與平移的疊加。笛卡爾座標系不能用乘法表示仿射變換主要是因爲平移變換。現在利用齊次就可以將平移變換中的矩陣相加轉換爲矩陣相乘:

                                          \left[ {\begin{array}{*{20}{c}} {x'}\\ {y'}\\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1&0&{{t_x}}\\ 0&1&{{t_y}}\\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x\\ y\\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {x + {t_x}}\\ {y + {t_y}}\\ 1 \end{array}} \right]                                     

至於爲什麼叫齊次,這是因爲齊次座標與笛卡爾座標不是一一對應的。只要前n個分量與縮放係數的比例相同就會映射到同一個笛卡爾座標,即對齊次座標每一個分量同等進行縮放,都表示的是笛卡爾座標系中的同一個點,這就是尺度不變性(Scale Invariant),也就是齊次。谷歌翻譯Homogeneous是“同質”的意思,百度翻譯結果是“均勻的;同性質的。這裏寫作齊次。而之前學習的單應矩陣中單應英文單詞是Homography,指的是點與點一一對應。他們共同使用詞根homo,意爲“相同的”。

注意:

三元組 (0, 0, 0) 不表示任何點。原點表示爲 (0, 0, 1)

Reference

 

  1. http://www.songho.ca/math/homogeneous/homogeneous.html
  2. 冰與火之歌https://oncemore.wang/blog/homogeneous/
  3. https://www.cnblogs.com/xin-lover/p/9486341.html

 

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