為什麼使用齊次座標

2021-06-13 16:28:48 字數 1192 閱讀 6562

按照通常使用的數學知識,二維平面上乙個點可以用它在x、y方向上的座標來標示為 p(x,y),但是在圖形學中偏偏要『畫蛇添足』的使用齊次座標,這樣我們必須使用乙個三維向量來表示乙個二維點即p(x,y,w),最後乙個w就是那個『足』。

why?

首先想像有個絕對不變的座標系,記為w,然後以w為參照,建立兩個座標系o1和o2, o1的原點在w的(1,1)處,o2的原點在w的(2,2)處。

那麼w中的乙個點p(x,y)在o1中將變為p(x-1,y-1),在o2中將是p(x-2, y-2),這樣同乙個點p在不同的座標系下就具有了不同的表示。這會產生乙個問題:顯然,p點在二維空間的位置是唯一的,是與座標系無關的,而不同座標系下的表示看上去體現不了這種無關性。

the key

我們使用的是座標系這樣乙個概念,座標系忽略了座標原點所具有的重要意義:正是原點標示了該座標系處於哪個參照位置。如果用矩陣來表示乙個二維座標系,將會是如下形式:

|1 0|

|0 1| 

其中(1 0)t表示乙個基向量,(0 1)t表示另乙個基向量,它們互相垂直,因此能利用它們標記整個二維空間。

(x, y)|1 0| = (x, y)

|0 1|

這就是二維座標的實際意義。

現在考慮將座標原點(a,b)也引入到這個矩陣表示中來:

|1 0 |

|0 1 |

|a b |

我們用這個矩陣可以表示二維空間中任意位置的乙個座標系,當然,這個座標系的基向量可以不為(0 1)t和(1 0)t,為了和座標系區分,我們稱這種新表示為標架表示。

好,問題來了,如果我們仍然用(x y)來表示點p,那麼根據矩陣的乘法規則,我們無法完成其乘法:mx n 的矩陣只能和 n xk的矩陣相乘。解決的辦法就是: 給p點添乙個尾巴,這個尾巴通常為1:p(x y 1),這就是p的齊次座標,利用新的齊次座標和矩陣相乘得到的結果為:

(x+a, y+b),這樣同乙個點在不同標架下的不同表示最終會得到同乙個計算結果,它反映了這樣乙個事實:同乙個點在不同標架下的不同表示其實是等價的,這一點恰恰是使用座標系無法體現出來的。

顯然上面那個 3x2的矩陣和p的齊次表示相乘得到的不是齊次座標,所以應該將它擴充成3x3的方陣:

|1 0 0|

|0 1 0|

|a b 1|

經過擴充以後的新矩陣具有一些有趣的特性:利用它可以非常輕鬆的實現平移、旋轉以及縮放和剪下變換。

為什麼用齊次座標

定義 齊次座標就是將乙個原本是n維的向量用乙個n 1維向量來表示,是指乙個用於投影幾何裡的座標系統,如同用於歐氏幾何裡的笛卡兒座標一般。x,y x,y,1 x,y,z x,y,z,1 齊次座標的使用能夠大大簡化在三維空間中的點線面表達方式和旋轉平移等操作,具體分如下幾點進行說明。能非常方便的表達點在...

為何使用齊次座標系表達座標點?

簡介 一直對齊次座標這個概念的理解不夠徹底,只見大部分的書中說道 齊次座標在仿射變換中非常的方便 然後就沒有了後文,今天在乙個叫做 三百年 重生 的部落格上看到一篇關於透視投影變換的 的文章,其中有對齊次座標有非常精闢的說明,特別是針對這樣一句話進行了有力的證明 齊次座標表示是計算機圖形學的重要手段...

為什麼引入齊次座標的變換矩陣可以表示平移呢?

1.為什麼引入齊次座標可以表示平移?首先我們用乙個向量來表示空間中乙個點 如果我們要將其平移,平移的向量為 那麼正常的做法就是 如果不引入齊次座標,單純採用3x3矩陣乘法來實現平移 你想做的就是找到乙個矩陣,使得 然後你就會發現你永遠也找不到這樣的矩陣 所以我們需要新引入乙個維度,原來 那麼我們可以...