1. 齊次
事實上帶齊次的概念很多,純粹要說“齊次”的含義的話,似乎比較抽象難懂,所以我覺得給出一個具體的齊次的東西來解釋可能會更好一點。
下面我要解釋的齊次坐標(homogeneous coordinates)是我所熟悉的計算機視覺和圖形學這兩個領域中經常要用到的概念,同時,坐標也是一般人都可以理解的東西。
二維空間中的一個點是用二元組表示的。我們可以增加一個額外的坐標得到三元組
,同時我們聲明這是同一個點。這看起來完全無害,因為我們可以很簡單地通過增加或者刪除最后一個坐標值來在兩種表示方式之間來回切換。現在,有一個很重要的問題是:最后一個坐標為什么需要是1?畢竟,另外兩個數字沒有這樣的限制呀。比方說
。在這里,我們要再給出一個定義,即當k非零時,所有形如
的三元組都表示同一個點,比如
和
就表示同一個點。由此我們就可以引出齊次坐標的定義,即給定一個二維點
,那么形如
的所有三元組就都是等價的,它們就是這個點的齊次坐標。對每一個齊次坐標,我們只要把它除以三元組中的第三個數,即可得到原始的二維點坐標(這就是@祝文祥的答案中所說的同比收縮的一個例子)。不過我覺得,從字面上來看,齊次坐標這個叫法還是不那么形象,不過看看和齊次對應的英文單詞homogeneous,我們會發現這個詞有時還會被翻譯成“同質”,表示某一類東西擁有一些相同的性質,這么來看的話,還是挺形象的吧。
需要再次注意的是這里的k是非零的,那么如果會怎樣?因為除數不能為
的緣故,所以似乎沒有任何二維點是和
對應的。事實上,
就是無窮遠處的點。以前,我們用
是無法描述二維平面上的無窮遠點,但當我們引入齊次坐標之后,就可以用
來表示無窮遠點了。這就是引入齊次坐標的一個好處。當然了,使用齊次坐標還有很多好處。事實上,沒很多好處,我們干嘛要多用一個數字來表示二維點呀,多麻煩你說是吧。
以上關於齊次坐標的內容翻譯並修改自《Multiview Geometry in Computer Vision (2nd Edition)》第2頁第9行開始的兩段。
2. 線性
再來說說“線性”。和“齊次”類似,帶“線性”的概念也很多,下面我也會給出一個具體的線性的東西來解釋,以防過於抽象。
“線性變換”(Linear Transformation)同樣是計算機視覺和圖形學中經常用到的東西。通常,我們會用一個矩陣來表示一個線性變換,對於二維空間中的線性變換,我們經常用3x3的矩陣來表示。當給定一個線性變換矩陣之后,我們把它和一個齊次坐標一乘就可以得到經過變換后的齊次坐標了。
那么為什么我們要管這種變換叫線性變換而不是彎性變換呢?這里拋開線性的數學定義不說,線性變換有一個重要的性質,非常形象地表達了這一概念,即保共線性(我記不清是不是叫這個名字了,望指正)。具體地說就是,在線性變換之前處於同一條直線上的3個點,經過線性變換之后必定還處於同一條直線上。換句話說,如果你畫了一條直線,這條直線在經過線性變換之后它必定還是一條直線。
所以說,線性變換最喜歡直線了,除了直線以外的東西,比如角,在經過線性變換之后可能就完全不一樣了,此外,還有長度、面積、平行等等,線性變換都不喜歡,不保證它們在變換之后還能維持原樣。
以上,希望能幫助大家理解這兩個概念。