1. 三維空間中的點html
在三維空間P3中的一點(X, Y, Z)T,它的齊次座標爲4元向量(X1,X2,X3,X4)T,可歸一化表示爲((X, Y, Z, 1)T,若X4 = 0,則表示該點位於無限遠處。post
對三維空間P3上的點的投影變換,經過對齊次向量X左乘一個4x4非奇異矩陣H獲得,即X' = HX. 其中變換矩陣H有15個自由度,外加一個任意比例因子。3d
2. 三維空間中的平面htm
與二維空間中直線的表示方法類似,三維空間中的平面能夠用以下方程表示爲對象
π1X +π2Y +π3Z +π4 = 0blog
所以平面的齊次表示爲π = (π1,π2,π3,π4)T,它有3個自由度。上式可簡寫爲it
πTX = 0class
這表示點 X = (X, Y, Z, 1)T 位於平面π 上。方法
3. 平面的性質im
三點決定一個平面。設有3個線性獨立的點Xi, for i = 1,2, 3, 它們均位於一個平面 π 上,即知足πTXi = 0。進行矩陣堆疊獲得
因而平面 π 是這個3x4矩陣的零空間向量,可在任意比例尺度上,被惟一肯定。
在平面空間P2中,兩點決定一條直線,直線l 除了能夠用零空間向量法求解以外,還能夠經過兩個齊次點的叉積 l = x × y 直接求得。在三維空間P3中,也能夠用相似叉積的方法求解平面。
三個平面決定一點。設有3個線性獨立的平面πi, for i = 1,2, 3, 則它們的交點X能夠由下式求得
點X 是這個3x4矩陣的零空間向量。這是平面空間P2中兩線交於一點在三維空間P3中的推廣。
投影變換。在點變換 X' = HX 下,平面的變換表示爲:
π' =H-Tπ
參數化。在平面π上的一點X能夠寫成
X = Mx
其中4x3矩陣M的各列是πT的零空間,即πT M = 0。而3元向量 x 表示X在二維空間P2上的投影,是對點X的參數化。
4. 三維空間中的直線
直線能夠定義爲兩個點的連線,或兩個平面的相交。一個三維空間中的點有3個自由度,兩個點A和B的連線知足以下方程
可見,直線 l 是這個2x4 矩陣的零空間,它有4個自由度(由於3x4矩陣的零空間有3個自由度)。在空間P3中對一個自由度爲4的對象的齊次表示是困難的,由於它是一個5元向量,而點和平面的齊次表示都是4元向量。有多種表示方法能夠解決這個表達困難的問題。
直線的組合表示。三維空間中的直線能夠直接用上述的2x4矩陣W來表示:
它包含兩個點的組合,表明以這兩點爲基向量所張成的空間。該直線其實是W的零空間。另外一方面,W的零空間一定以兩個線性獨立的向量爲基,假設這兩個基向量分別爲P和Q,則WP = 0, 進而 ATP = BT P =0,意味着 P 是包含點A和點B的一個平面。一樣Q也是包含點A和點B的一個平面。故該直線是這兩個平面的交集,從而,直線也能夠表示爲以下2x4矩陣:
它表示以兩個平面爲基向量所張成的空間。該直線實際上也是W*的零空間。
這種組合表示方式也能夠推廣到平面,例如,一個平面π也能夠表示成一個點X和一條直線W的組合矩陣M,即
平面 π 就是矩陣M的零空間。矩陣M是一個3x4矩陣,所以它也能夠看作是三個共麪點的組合。
5. 三維空間中的二次曲面(quadrics and dual quadrics)
空間P3中的二次曲面由下式定義:
XTQX = 0
其中Q是一個對稱的4x4矩陣,它被用來表明二次曲面。
二次曲面的性質:
(1) 一個quadric有9個自由度,外加一個比例因子。
(2) 一個quadric由9個線性獨立的點決定。
(3) 一個quadric定義了一個點和一個平面之間的極化關係(相似於二維空間中一個conic定義了一個點和一條直線之間的極化關係)。點X相對於Q的極平面爲:
π = QX
(4) 平面π 與二次曲面Q相交於一個二次曲線C。
(5) 在點的投影變換X' = HX下,一個quadric的變換則爲
Q' = H-TQH-1
(6) 一個quadric的對偶還是一個quadric。在點的投影變換X' = HX下,一個dual quadric的變換則爲
Q*' = HQ*HT
可見,計算dual quadric的變換比point quadric的變換要容易。