一、齊次坐標(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
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
