一、齊次坐標(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)只表示位置,向量沒(méi)有位置只有大小和方向。為了區(qū)分點(diǎn)和向量我們給它加上一維,用(x, y, z, w)這種四元組的方式來(lái)表達(dá)坐標(biāo),我們規(guī)定(x, y, z, 0)表示一個(gè)向量,(x, y, z, 1)或(x', y', z', 2)等w不為0時(shí)來(lái)表示點(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)中其他直線平行的直線。我們知道在歐幾里得空間中,對(duì)這種方程組是無(wú)解的,因?yàn)樗麄儧](méi)有交點(diǎn)。然而在現(xiàn)實(shí)世界中我們是可以看到兩條平行線相交的。

兩條平行的鐵路最終相較于無(wú)窮遠(yuǎn)處。這就說(shuō)明人眼看到的世界并不是歐幾里得空間,而是在一個(gè)名為透視空間中的世界。所以要在2D屏幕上表示3D世界,我們需要一個(gè)數(shù)學(xué)工具來(lái)承擔(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

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式