對於齊次座標的理解

2021-09-01 06:34:00 字數 1442 閱讀 2400

問題:兩條平行線在透視空間內可以相交於一點

在歐氏幾何空間,同一平面的兩條平行線不能相交,這是我們都熟悉的一種場景。

然而,在透視空間裡面,兩條平行線可以相交,例如:火車軌道隨著我們的視線越來越窄,最後兩條平行線在無窮遠處交於一點。

歐氏空間(或者笛卡爾空間)描述2d/3d幾何非常適合,但是這種方法卻不適合處理透視空間的問題(實際上,歐氏幾何是透視幾何的乙個子集合),2維笛卡爾座標可以表示為(x,y)。

如果乙個點在無窮遠處,這個點的座標將會(∞,∞),在歐氏空間,這變得沒有意義。平行線在透視空間的無窮遠處交於一點,但是在歐氏空間卻不能,數學家發現了一種方式來解決這個問題。

方法:齊次座標

簡而言之,齊次座標就是用n+1維來代表n維座標

我們可以在乙個2d笛卡爾座標末尾加上乙個額外的變數w來形成2d齊次座標,因此,乙個點(x,y)在齊次座標裡面變成了(x,y,w),並且有

x = x/w

y = y/w

例如,笛卡爾座標系下(1,2)的齊次座標可以表示為(1,2,1),如果點(1,2)移動到無限遠處,在笛卡爾座標下它變為(∞,∞),然後它的齊次座標表示為(1,2,0),因為(1/0, 2/0) = (∞,∞),我們可以不用」∞"來表示乙個無窮遠處的點了,哈哈。

為什麼叫齊次座標?

我們把齊次座標轉化為笛卡爾座標的方法是前面n-1個座標分量分別除以最後乙個分量即可。

轉化齊次座標到笛卡爾座標的過程中,我們有乙個發現,例如:

你會發現(1, 2, 3), (2, 4, 6) 和(4, 8, 12)對應同乙個euclidean point (1/3, 2/3),任何標量的乘積,例如(1a, 2a, 3a) 對應 笛卡爾空間裡面的(1/3, 2/3) 。因此,這些點是「齊次的」,因為他們代表了笛卡爾座標系裡面的同乙個點。換句話說,齊次座標有規模不變性。

證明:兩條直線可以相交

考慮如下方程組:

我們知道在笛卡爾座標系裡面,該方程組無解,因為c ≠ d,如果c=d,兩條直線就相同了。

讓我們在透視空間裡面,用齊次座標x/w, y/w代替x ,y,

現在我們有乙個解(x, y, 0),兩條直線相交於(x, y, 0),這個點在無窮遠處。

小結:齊次座標在圖形學中是乙個非常基礎的概念,例如3d場景對映到2d場景的過程中

參考:

@[toc](這裡寫自定義目錄標題)

對於齊次座標的理解

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

齊次座標的理解

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

齊次座標的理解

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