久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2559|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:383430 發(fā)表于 2018-8-7 11:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式


     一直對(duì)齊次坐標(biāo)這個(gè)概念的理解不夠徹底,只見(jiàn)大部分的書(shū)中說(shuō)道“齊次坐標(biāo)在仿射變換中非常的方便”,然后就沒(méi)有了后文,今天在一個(gè)叫做“三百年 重生”的博客上看到一篇關(guān)于透視投影變換的探討的文章,其中有對(duì)齊次坐標(biāo)有非常精辟的說(shuō)明,特別是針對(duì)這樣一句話進(jìn)行了有力的證明:“齊次坐標(biāo)表示是計(jì)算機(jī)圖形學(xué)的重要手段之一,它既能夠用來(lái)明確區(qū)分向量和點(diǎn),同時(shí)也更易用于進(jìn)行仿射(線性)幾何變換。”—— F.S. Hill, JR。
     由于作者對(duì)齊次坐標(biāo)真的解釋的不錯(cuò),我就原封不動(dòng)的摘抄過(guò)來(lái):
     對(duì)于一個(gè)向量v以及基oabc,可以找到一組坐標(biāo)(v1,v2,v3),使得v = v1 a + v2 b + v3c          1
而對(duì)于一個(gè)點(diǎn)p,則可以找到一組坐標(biāo)(p1,p2,p3),使得 po = p1 a + p2 b + p3 c           2),
從上面對(duì)向量點(diǎn)的表達(dá),我們可以看出為了在坐標(biāo)系中表示一個(gè)點(diǎn)(如p),我們把點(diǎn)的位置看作是對(duì)這個(gè)基的原點(diǎn)o所進(jìn)行的一個(gè)位移,即一個(gè)向量——p – o(有的書(shū)中把這樣的向量叫做位置向量——起始于坐標(biāo)原點(diǎn)的特殊向量),我們?cè)诒磉_(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è)向量需要額外的信息。如果我寫(xiě)出一個(gè)代數(shù)分量表達(dá)(1, 4, 7),誰(shuí)知道它是個(gè)向量還是個(gè)點(diǎn)!
    我們現(xiàn)在把(1)(3)寫(xiě)成矩陣的形式: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)如果寫(xiě)成(1,4,7,0),它就是個(gè)向量;如果是(1,4,7,1),它就是個(gè)點(diǎn)。下面是如何在普通坐標(biāo)(OrdinaryCoordinate)和齊次坐標(biāo)(HomogeneousCoordinate)之間進(jìn)行轉(zhuǎn)換:
(1)從普通坐標(biāo)轉(zhuǎn)換成齊次坐標(biāo)時(shí)
   如果(x,y,z)是個(gè)點(diǎn),則變?yōu)?x,y,z,1);
   如果(x,y,z)是個(gè)向量,則變?yōu)?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)
以上是通過(guò)齊次坐標(biāo)來(lái)區(qū)分向量和點(diǎn)的方式。從中可以思考得知,對(duì)于平移T、旋轉(zhuǎn)R、縮放S這3個(gè)最常見(jiàn)的仿射變換,平移變換只對(duì)于點(diǎn)才有意義,因?yàn)槠胀ㄏ蛄繘](méi)有位置概念,只有大小和方向.
而旋轉(zhuǎn)和縮放對(duì)于向量和點(diǎn)都有意義,你可以用類(lèi)似上面齊次表示來(lái)檢測(cè)。從中可以看出,齊次坐標(biāo)用于仿射變換非常方便。
此外,對(duì)于一個(gè)普通坐標(biāo)的點(diǎn)P=(Px, Py, Pz),有對(duì)應(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è)分量來(lái)表達(dá)3D概念,使得平移變換可以使用矩陣進(jìn)行,從而如F.S. Hill, JR所說(shuō),仿射(線性)變換的進(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也是很有研究的,要想成為一名專(zhuān)業(yè)的計(jì)算機(jī)圖形學(xué)的學(xué)習(xí)者,除了知其然必須還得知其所以然。這樣在遇到問(wèn)題的時(shí)候才能迅速定位問(wèn)題的根源,從而解決問(wèn)題。
關(guān)于齊次坐標(biāo)
按照通常使用的數(shù)學(xué)知識(shí),二維平面上一個(gè)點(diǎn)可以用它在X、Y方向上的坐標(biāo)來(lái)標(biāo)示為 P(x,y),但是在圖形學(xué)中偏偏要‘畫(huà)蛇添足’的使用齊次坐標(biāo),這樣我們必須使用一個(gè)三維向量來(lái)表示一個(gè)二維點(diǎn)即P(x,y,w),最后一個(gè)w就是那個(gè)‘足’。
why?
首先想像有個(gè)絕對(duì)不變的坐標(biāo)系,記為W,然后以W為參照,建立兩個(gè)坐標(biāo)系O1和O2, O1的原點(diǎn)在W的(1,1)處,O2的原點(diǎn)在W的(2,2)處。那么W中的一個(gè)點(diǎn)P(x,y)在O1中將變?yōu)镻(x-1,y-1),在O2中將是P(x-2, y-2),這樣同一個(gè)點(diǎn)P在不同的坐標(biāo)系下就具有了不同的表示。這會(huì)產(chǎn)生一個(gè)問(wèn)題:顯然,P點(diǎn)在二維空間的位置是唯一的,是與坐標(biāo)系無(wú)關(guān)的,而不同坐標(biāo)系下的表示看上去體現(xiàn)不了這種無(wú)關(guān)性。
The Key
我們使用的是坐標(biāo)系這樣一個(gè)概念,坐標(biāo)系忽略了坐標(biāo)原點(diǎn)所具有的重要意義:正是原點(diǎn)標(biāo)示了該坐標(biāo)系處于哪個(gè)參照位置。如果用矩陣來(lái)表示一個(gè)二維坐標(biāo)系,將會(huì)是如下形式:
|1 0|
|0 1| ,其中(1 0)T表示一個(gè)基矢量,(0 1)T表示另一個(gè)基矢量,它們互相垂直,因此能利用它們標(biāo)記整個(gè)二維空間。
(x, y)|1 0| = (x, y)
|0 1|
這就是二維坐標(biāo)的實(shí)際意義。
現(xiàn)在考慮將坐標(biāo)原點(diǎn)(a,b)也引入到這個(gè)矩陣表示中來(lái):
|1 0 |
|0 1 |
|a b |
我們用這個(gè)矩陣可以表示二維空間中任意位置的一個(gè)坐標(biāo)系,當(dāng)然,這個(gè)坐標(biāo)系的基矢量可以不為(0 1)T和(1 0)T,為了和坐標(biāo)系區(qū)分,我們稱(chēng)這種新表示為標(biāo)架表示。
好,問(wèn)題來(lái)了,如果我們?nèi)匀挥茫▁ y)來(lái)表示點(diǎn)P,那么根據(jù)矩陣的乘法規(guī)則,我們無(wú)法完成其乘法:mx N 的矩陣只能和 N xk的矩陣相乘。解決的辦法就是: 給P點(diǎn)添一個(gè)尾巴,這個(gè)尾巴通常為1:P(x y 1),這就是P的齊次坐標(biāo),利用新的齊次坐標(biāo)和矩陣相乘得到的結(jié)果為:
(x+a, y+b),這樣同一個(gè)點(diǎn)在不同標(biāo)架下的不同表示最終會(huì)得到同一個(gè)計(jì)算結(jié)果,它反映了這樣一個(gè)事實(shí):同一個(gè)點(diǎn)在不同標(biāo)架下的不同表示其實(shí)是等價(jià)的,這一點(diǎn)恰恰是使用坐標(biāo)系無(wú)法體現(xiàn)出來(lái)的。
顯然上面那個(gè) 3x2的矩陣和P的齊次表示相乘得到的不是齊次坐標(biāo),所以應(yīng)該將它擴(kuò)充成3x3的方陣:
|1 0 0|
|0 1 0|
|a b 1|
經(jīng)過(guò)擴(kuò)充以后的新矩陣具有一些有趣的特性:利用它可以非常輕松的實(shí)現(xiàn)平移、旋轉(zhuǎn)以及縮放和剪切變換。為什么要寫(xiě)這個(gè)呢,因?yàn)槲覀兇蟛糠謺r(shí)間只是不停的接收而不太愿意去思考為什么,難得有人提了一下讓我也順便思考了一下,然后順便把它記下來(lái)
---------------------------------------------------------------------------
所謂齊次坐標(biāo)就是將一個(gè)原本是n維的向量用一個(gè)n+1維向量來(lái)表示。
在空間直角坐標(biāo)系中,任意一點(diǎn)可用一個(gè)三維坐標(biāo)矩陣[x y z]表示。如果將該點(diǎn)用一個(gè)四維坐標(biāo)的矩陣[Hx Hy Hz H]表示時(shí),則稱(chēng)為齊次坐標(biāo)表示方法。在齊次坐標(biāo)中,最后一維坐標(biāo)H稱(chēng)為比例因子。
  在OpenGL中,二維坐標(biāo)點(diǎn)全看作三維坐標(biāo)點(diǎn),所有的點(diǎn)都用齊次坐標(biāo)來(lái)描述,統(tǒng)一作為三維齊次點(diǎn)來(lái)處理。每個(gè)齊次點(diǎn)用一個(gè)向量(x, y, z, w)表示,其中四個(gè)元素全不為零。
齊次點(diǎn)具有下列幾個(gè)性質(zhì):
  1)如果實(shí)數(shù)a非零,則(x, y, x, w)和(ax, ay, az, aw)表示同一個(gè)點(diǎn),類(lèi)似于x/y = (ax)/( ay)。
  2)三維空間點(diǎn)(x, y, z)的齊次點(diǎn)坐標(biāo)為(x, y, z, 1.0),二維平面點(diǎn)(x,y)的齊次坐標(biāo)為(x, y, 0.0, 1.0)。
  3)當(dāng)w不為零時(shí),齊次點(diǎn)坐標(biāo)(x, y, z, w)即三維空間點(diǎn)坐標(biāo)(x/w, y/w, z/w);當(dāng)w為零時(shí),齊次點(diǎn)(x, y, z, 0.0)表示此點(diǎn)位于某方向的無(wú)窮遠(yuǎn)處。
  注意:OpenGL中指定w大于或等于0.0。
那么引進(jìn)齊次坐標(biāo)有什么必要,它有什么優(yōu)點(diǎn)呢?
1.它提供了用矩陣運(yùn)算把二維、三維甚至高維空間中的一個(gè)點(diǎn)集從一個(gè)坐標(biāo)系變換到另一個(gè)坐標(biāo)系的有效方法。
2.它可以表示無(wú)窮遠(yuǎn)的點(diǎn)。n+1維的齊次坐標(biāo)中如果h=0,實(shí)際上就表示了n維空間的一個(gè)無(wú)窮遠(yuǎn)點(diǎn)。對(duì)于齊次坐標(biāo)[a,b,h],保持a,b不變, 點(diǎn)沿直線 ax+by=0 逐漸走向無(wú)窮遠(yuǎn)處的過(guò)程


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: www国产亚洲精品久久网站 | 久久毛片 | 综合精品久久久 | 韩日精品视频 | 日韩国产欧美视频 | 婷婷国产一区二区三区 | 成人免费精品视频 | 免费成人在线网 | 免费一级片 | 中文字幕亚洲视频 | 亚洲成人福利视频 | 中国美女一级黄色片 | 国产一区视频在线 | wwww.8888久久爱站网 | 亚洲国产精品suv | 久久久高清 | 日日夜夜天天久久 | 久久国产精品网站 | 中文天堂在线一区 | 免费成人高清在线视频 | 夜夜爽99久久国产综合精品女不卡 | 欧美一区二区三区四区五区无卡码 | 欧美黑人国产人伦爽爽爽 | 青青操91| 成人a在线观看 | 国产大毛片 | 一区二区三区免费 | 中文字幕一区在线观看视频 | 欧美性video| 一区在线观看 | 视频精品一区二区三区 | 国产农村一级国产农村 | 中文视频在线 | 欧美成年人网站 | 在线不卡av | 久久久久久久久久久久久9999 | 天堂网中文字幕在线观看 | 国产99久久久久 | www.99热.com | 美女福利视频网站 | 精品乱码一区二区三四区视频 |