一、齊次坐標(biāo)

在3D世界中表示一個(gè)點(diǎn)的方式是:(x, y, z);然而在3D世界中表示一個(gè)向量的方式也是:(x, y, z);如果我們只給一個(gè)三元組(x, y, z)鬼知道這是向量還是點(diǎn),畢竟點(diǎn)與向量還是有很大區(qū)別的,點(diǎn)只表示位置,向量沒有位置只有大小和方向。為了區(qū)分點(diǎn)和向量我們給它加上一維,用(x, y, z, w)這種四元組的方式來表達(dá)坐標(biāo),我們規(guī)定(x, y, z, 0)表示一個(gè)向量,(x, y, z, 1)或(x', y', z', 2)等w不為0時(shí)來表示點(diǎn)。這種用n+1維坐標(biāo)表示n維坐標(biāo)的方式稱為齊次坐標(biāo)。

齊次坐標(biāo)除了能夠區(qū)分點(diǎn)和向量,在3D圖形學(xué)中還有重要的意義。齊次坐標(biāo)系使得我們可以在一中特殊的方程組中求出解,這個(gè)方程組中每一個(gè)方程都表示一個(gè)與系統(tǒng)中其他直線平行的直線。我們知道在歐幾里得空間中,對這種方程組是無解的,因?yàn)樗麄儧]有交點(diǎn)。然而在現(xiàn)實(shí)世界中我們是可以看到兩條平行線相交的。

兩條平行的鐵路最終相較于無窮遠(yuǎn)處。這就說明人眼看到的世界并不是歐幾里得空間,而是在一個(gè)名為透視空間中的世界。所以要在2D屏幕上表示3D世界,我們需要一個(gè)數(shù)學(xué)工具來承擔(dān)這項(xiàng)任務(wù),而齊次坐標(biāo)很完美的承擔(dān)了這項(xiàng)任務(wù)。

如果我們知道一個(gè)三維點(diǎn)的齊次坐標(biāo)為(X, Y, Z, w),那么它的3D空間坐標(biāo)為:

x = X / w

y = Y / w

z = Z / w

網(wǎng)友評論