小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

齊次坐標(biāo)的理解

 westlife88 2011-04-10

齊次坐標(biāo)的理解

     一直對齊次坐標(biāo)這個(gè)概念的理解不夠徹底,只見大部分的書中說道“齊次坐標(biāo)在仿射變換中非常的方便”,然后就沒有了后文,今天在一個(gè)叫做“三百年 重生”的博客上看到一篇關(guān)于透視投影變換的探討的文章,其中有對齊次坐標(biāo)有非常精辟的說明,特別是針對這樣一句話進(jìn)行了有力的證明:“齊次坐標(biāo)表示是計(jì)算機(jī)圖形學(xué)的重要手段之一,它既能夠用來明確區(qū)分向量和點(diǎn),同時(shí)也更易用于進(jìn)行仿射(線性)幾何變換。”—— F.S. Hill, JR。

     由于作者對齊次坐標(biāo)真的解釋的不錯(cuò),我就原封不動(dòng)的摘抄過來:

     對于一個(gè)向量v以及基oabc,可以找到一組坐標(biāo)(v1,v2,v3),使得v = v1 a + v2 b + v3 c          1

 而對于一個(gè)點(diǎn)p,則可以找到一組坐標(biāo)(p1,p2,p3),使得 po = p1 a + p2 b + p3 c            2),

 

從上面對向量點(diǎn)的表達(dá),我們可以看出為了在坐標(biāo)系中表示一個(gè)點(diǎn)(如p),我們把點(diǎn)的位置看作是對這個(gè)基的原點(diǎn)o所進(jìn)行的一個(gè)位移,即一個(gè)向量——p – o(有的書中把這樣的向量叫做位置向量——起始于坐標(biāo)原點(diǎn)的特殊向量),我們在表達(dá)這個(gè)向量的同時(shí)用等價(jià)的方式表達(dá)出了點(diǎn)p:p = o + p1 a + p2 b + p3 c (3)

 

(1)(3)是坐標(biāo)系下表達(dá)一個(gè)向量點(diǎn)的不同表達(dá)方式。這里可以看出,雖然都是用代數(shù)分量的形式表達(dá)向量和點(diǎn),但表達(dá)一個(gè)點(diǎn)比一個(gè)向量需要額外的信息。如果我寫出一個(gè)代數(shù)分量表達(dá)(1, 4, 7),誰知道它是個(gè)向量還是個(gè)點(diǎn)!

    我們現(xiàn)在把(1)(3)寫成矩陣的形式:v = (v1 v2 v3 0) X (a b c o)

p = (p1 p2 p3 1) X (a b c o),這里(a,b,c,o)是坐標(biāo)基矩陣,右邊的列向量分別是向量v和點(diǎn)p在基下的坐標(biāo)。這樣,向量和點(diǎn)在同一個(gè)基下就有了不同的表達(dá):3D向量的第4個(gè)代數(shù)分量是0,而3D點(diǎn)的第4個(gè)代數(shù)分量是1。像這種這種用4個(gè)代數(shù)分量表示3D幾何概念的方式是一種齊次坐標(biāo)表示。

 

這樣,上面的(1, 4, 7)如果寫成(1,4,7,0),它就是個(gè)向量;如果是(1,4,7,1),它就是個(gè)點(diǎn)。下面是如何在普通坐標(biāo)(Ordinary Coordinate)和齊次坐標(biāo)(Homogeneous Coordinate)之間進(jìn)行轉(zhuǎn)換:

(1)從普通坐標(biāo)轉(zhuǎn)換成齊次坐標(biāo)時(shí)

   如果(x,y,z)是個(gè)點(diǎn),則變?yōu)?/span>(x,y,z,1);

   如果(x,y,z)是個(gè)向量,則變?yōu)?/span>(x,y,z,0)

(2)從齊次坐標(biāo)轉(zhuǎn)換成普通坐標(biāo)時(shí)   

   如果是(x,y,z,1),則知道它是個(gè)點(diǎn),變成(x,y,z);

   如果是(x,y,z,0),則知道它是個(gè)向量,仍然變成(x,y,z)

 

以上是通過齊次坐標(biāo)來區(qū)分向量和點(diǎn)的方式。從中可以思考得知,對于平移T、旋轉(zhuǎn)R、縮放S3個(gè)最常見的仿射變換,平移變換只對于點(diǎn)才有意義,因?yàn)槠胀ㄏ蛄繘]有位置概念,只有大小和方向.

 

而旋轉(zhuǎn)和縮放對于向量和點(diǎn)都有意義,你可以用類似上面齊次表示來檢測。從中可以看出,齊次坐標(biāo)用于仿射變換非常方便。

 

此外,對于一個(gè)普通坐標(biāo)的點(diǎn)P=(Px, Py, Pz),有對應(yīng)的一族齊次坐標(biāo)(wPx, wPy, wPz, w),其中w不等于零。比如,P(1, 4, 7)的齊次坐標(biāo)有(1, 4, 7, 1)、(2, 8, 14, 2)、(-0.1, -0.4, -0.7, -0.1)等等因此,如果把一個(gè)點(diǎn)從普通坐標(biāo)變成齊次坐標(biāo),給x,y,z乘上同一個(gè)非零數(shù)w,然后增加第4個(gè)分量w;如果把一個(gè)齊次坐標(biāo)轉(zhuǎn)換成普通坐標(biāo),把前三個(gè)坐標(biāo)同時(shí)除以第4個(gè)坐標(biāo),然后去掉第4個(gè)分量。

 

由于齊次坐標(biāo)使用了4個(gè)分量來表達(dá)3D概念,使得平移變換可以使用矩陣進(jìn)行,從而如F.S. Hill, JR所說,仿射(線性)變換的進(jìn)行更加方便。由于圖形硬件已經(jīng)普遍地支持齊次坐標(biāo)與矩陣乘法,因此更加促進(jìn)了齊次坐標(biāo)使用,使得它似乎成為圖形學(xué)中的一個(gè)標(biāo)準(zhǔn)。

 

   以上很好的闡釋了齊次坐標(biāo)的作用及運(yùn)用齊次坐標(biāo)的好處。其實(shí)在圖形學(xué)的理論中,很多已經(jīng)被封裝的好的API也是很有研究的,要想成為一名專業(yè)的計(jì)算機(jī)圖形學(xué)學(xué)習(xí)者,除了知其然必須還得知其所以然。這樣在遇到問題的時(shí)候才能迅速定位問題的根源,從而解決問題。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多