1. 程式人生 > >齊次坐標

齊次坐標

此外 tro view try 之前 class ron 二維 切換

齊次坐標(homogeneous coordinates)是我所熟悉的計算機視覺和圖形學這兩個領域中經常要用到的概念,同時,坐標也是一般人都可以理解的東西。

二維空間中的一個點是用二元組技術分享表示的。我們可以增加一個額外的坐標得到三元組技術分享,同時我們聲明這是同一個點。這看起來完全無害,因為我們可以很簡單地通過增加或者刪除最後一個坐標值來在兩種表示方式之間來回切換。現在,有一個很重要的問題是:最後一個坐標齊次坐標的定義,即給定一個二維點技術分享,那麽形如技術分享的所有三元組就都是等價的,它們就是這個點的齊次坐標,我們只要把它除以三元組中的第三個數,即可得到原始的二維點坐標(這就是@祝文祥的答案中所說的同比收縮的一個例子)。不過我覺得,從字面上來看,
法還是不那麽形象,不過看看和齊次對應的英文單詞homogeneous,我們會發現這個詞有時還會被翻譯成“同質”,表示某一類東西擁有一些相同的性質,這麽來看的話,還是挺形象的吧。

需要再次註意的是這裏的k是非零的,那麽如果技術分享會怎樣?因為除數不能為技術分享的緣故,所以似乎沒有任何二維點是和技術分享對應的。事實上,技術分享就是無窮遠處的點。以前,我們用技術分享是無法描述二維平面上的無窮遠點,但當我們引入齊次坐標的一個好處。當然了,使用齊次坐標的內容翻譯並修改自《Multiview Geometry in Computer Vision (2nd Edition)》第2頁第9行開始的兩段。

2. 線性

再來說說“線性”。和“齊次”類似,帶“線性”的概念也很多,下面我也會給出一個具體的線性的東西來解釋,以防過於抽象。

“線性變換”(Linear Transformation)同樣是計算機視覺和圖形學中經常用到的東西。通常,我們會用一個矩陣來表示一個線性變換,對於二維空間中的線性變換,我們經常用3x3的矩陣來表示。當給定一個線性變換矩陣之後,我們把它和一個齊次坐標
了。

那麽線性變換而不是彎性變換呢?這裏拋開線性的數學定義不說,線性變換有一個重要的性質,非常形象地表達了這一概念,即保共線性(我記不清是不是這個名字了,望指正)。具體地說就是,在線性變換之前處於同一條直線上的3個點,經過線性變換之後必定還處於同一條直線上。換句話說,如果你畫了一條直線,這條直線在經過線性變換之後它必定還是一條直線。

所以說,線性變換最喜歡直線了,除了直線以外的東西,比如角,在經過線性變換之後可能就完全不一樣了,此外,還有長度、面積、平行等等,線性變換都不喜歡,不保證它們在變換之後還能維持原樣。

以上,希望能幫助大家理解這兩個概念。

齊次坐標