• /  5
  • 下載費用: 19.90積分  

齊次坐標的理解.doc

'齊次坐標的理解.doc'
?齊次坐標的理解      一直對齊次坐標這個概念的理解不夠徹底,只見大部分的書中說道“齊次坐標在仿射變換中非常的方便”,然后就沒有了后文,今天在一個叫做“三百年 重生”的博客上看到一篇關于透視投影變換的探討的文章,其中有對齊次坐標有非常精辟的說明,特別是針對這樣一句話進行了有力的證明:“齊次坐標表示是計算機圖形學的重要手段之一,它既能夠用來明確區分向量和點,同時也更易用于進行仿射(線性)幾何變換?!薄?F.S. Hill, JR。     由于作者對齊次坐標真的解釋的不錯,我就原封不動的摘抄過來:     對于一個向量v以及基oabc,可以找到一組坐標(v1,v2,v3),使得v = v1 a + v2 b + v3 c          (1) 而對于一個點p,則可以找到一組坐標(p1,p2,p3),使得 p – o = p1 a + p2 b + p3 c            (2), 從上面對向量和點的表達,我們可以看出為了在坐標系中表示一個點(如p),我們把點的位置看作是對這個基的原點o所進行的一個位移,即一個向量——p – o(有的書中把這樣的向量叫做位置向量——起始于坐標原點的特殊向量),我們在表達這個向量的同時用等價的方式表達出了點p:p = o + p1 a + p2 b + p3 c (3) (1)(3)是坐標系下表達一個向量和點的不同表達方式。這里可以看出,雖然都是用代數分量的形式表達向量和點,但表達一個點比一個向量需要額外的信息。如果我寫出一個代數分量表達(1, 4, 7),誰知道它是個向量還是個點!    我們現在把(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)是坐標基矩陣,右邊的列向量分別是向量v和點p在基下的坐標。這樣,向量和點在同一個基下就有了不同的表達:3D向量的第4個代數分量是0,而3D點的第4個代數分量是1。像這種這種用4個代數分量表示3D幾何概念的方式是一種齊次坐標表示。 這樣,上面的(1, 4, 7)如果寫成(1,4,7,0),它就是個向量;如果是(1,4,7,1),它就是個點。下面是如何在普通坐標(Ordinary Coordinate)和齊次坐標(Homogeneous Coordinate)之間進行轉換:(1)從普通坐標轉換成齊次坐標時   如果(x,y,z)是個點,則變為(x,y,z,1);   如果(x,y,z)是個向量,則變為(x,y,z,0)(2)從齊次坐標轉換成普通坐標時      如果是(x,y,z,1),則知道它是個點,變成(x,y,z);   如果是(x,y,z,0),則知道它是個向量,仍然變成(x,y,z) 以上是通過齊次坐標來區分向量和點的方式。從中可以思考得知,對于平移T、旋轉R、縮放S這3個最常見的仿射變換,平移變換只對于點才有意義,因為普通向量沒有位置概念,只有大小和方向. 而旋轉和縮放對于向量和點都有意義,你可以用類似上面齊次表示來檢測。從中可以看出,齊次坐標用于仿射變換非常方便。 此外,對于一個普通坐標的點P=(Px, Py, Pz),有對應的一族齊次坐標(wPx, wPy, wPz, w),其中w不等于零。比如,P(1, 4, 7)的齊次坐標有(1, 4, 7, 1)、(2, 8, 14, 2)、(-0.1, -0.4, -0.7, -0.1)等等。因此,如果把一個點從普通坐標變成齊次坐標,給x,y,z乘上同一個非零數w,然后增加第4個分量w;如果把一個齊次坐標轉換成普通坐標,把前三個坐標同時除以第4個坐標,然后去掉第4個分量。 由于齊次坐標使用了4個分量來表達3D概念,使得平移變換可以使用矩陣進行,從而如F.S. Hill, JR所說,仿射(線性)變換的進行更加方便。由于圖形硬件已經普遍地支持齊次坐標與矩陣乘法,因此更加促進了齊次坐標使用,使得它似乎成為圖形學中的一個標準。    以上很好的闡釋了齊次坐標的作用及運用齊次坐標的好處。其實在圖形學的理論中,很多已經被封裝的好的API也是很有研究的,要想成為一名專業的計算機圖形學的學習者,除了知其然必須還得知其所以然。這樣在遇到問題的時候才能迅速定位問題的根源,從而解決問題。關于齊次坐標按照通常使用的數學知識,二維平面上一個點可以用它在X、Y方向上的坐標來標示為 P(x,y),但是在圖形學中偏偏要‘畫蛇添足’的使用齊次坐標,這樣我們必須使用一個三維向量來表示一個二維點即P(x,y,w),最后一個w就是那個‘足’。why?首先想像有個絕對不變的坐標系,記為W,然后以W為參照,建立兩個坐標系O1和O2, O1的原點在W的(1,1)處,O2的原點在W的(2,2)處。那么W中的一個點P(x,y)在O1中將變為P(x-1,y-1),在O2中將是P(x-2, y-2),這樣同一個點P在不同的坐標系下就具有了不同的表示。這會產生一個問題:顯然,P點在二維空間的位置是唯一的,是與坐標系無關的,而不同坐標系下的表示看上去體現不了這種無關性。The Key我們使用的是坐標系這樣一個概念,坐標系忽略了坐標原點所具有的重要意義:正是原點標示了該坐標系處于哪個參照位置。如果用矩陣來表示一個二維坐標系,將會是如下形式:|1 0||0 1| ,其中(1 0)T表示一個基矢量,(0 1)T表示另一個基矢量,它們互相垂直,因此能利用它們標記整個二維空間。(x, y)|1 0| = (x, y)|0 1|這就是二維坐標的實際意義?,F在考慮將坐標原點(a,b)也引入到這個矩陣表示中來:|1 0 ||0 1 ||a b |我們用這個矩陣可以表示二維空間中任意位置的一個坐標系,當然,這個坐標系的基矢量可以不為(0 1)T和(1 0)T,為了和坐標系區分,我們稱這種新表示為標架表示。好,問題來了,如果我們仍然用(x y)來表示點P,那么根據矩陣的乘法規則,我們無法完成其乘法:mx N 的矩陣只能和 N xk的矩陣相乘。解決的辦法就是: 給P點添一個尾巴,這個尾巴通常為1:P(x y 1),這就是P的齊次坐標,利用新的齊次坐標和矩陣相乘得到的結果為:(x+a, y+b),這樣同一個點在不同標架下的不同表示最終會得到同一個計算結果,它反映了這樣一個事實:同一個點在不同標架下的不同表示其實是等價的,這一點恰恰是使用坐標系無法體現出來的。顯然上面那個 3x2的矩陣和P的齊次表示相乘得到的不是齊次坐標,所以應該將它擴充成3x3的方陣:|1 0 0||0 1 0||a b 1|經過擴充以后的新矩陣具有一些有趣的特性:利用它可以非常輕松的實現平移、旋轉以及縮放和剪切變換。為什么要寫這個呢,因為我們大部分時間只是不停的接收而不太愿意去思考為什么,難得有人提了一下讓我也順便思考了一下,然后順便把它記下來---------------------------------------------------------------------------所謂齊次坐標就是將一個原本是n維的向量用一個n+1維向量來表示。在空間直角坐標系中,任意一點可用一個三維坐標矩陣[x y z]表示。如果將該點用一個四維坐標的矩陣[Hx Hy Hz H]表示時,則稱為齊次坐標表示方法。在齊次坐標中,最后一維坐標H稱為比例因子?! ≡贠penGL中,二維坐標點全看作三維坐標點,所有的點都用齊次坐標來描述,統一作為三維齊次點來處理。每個齊次點用一個向量(x, y, z, w)表示,其中四個元素全不為零。齊次點具有下列幾個性質:  1)如果實數a非零,則(x, y, x, w)和(ax, ay, az, aw)表示同一個點,類似于x/y = (ax)/( ay)?! ?)三維空間點(x, y, z)的齊次點坐標為(x, y, z, 1.0),二維平面點(x,y)的齊次坐標為(x, y, 0.0, 1.0)?! ?)當w不為零時,齊次點坐標(x, y, z, w)即三維空間點坐標(x/w, y/w, z/w);當w為零時,齊次點(x, y, z, 0.0)表示此點位于某方向的無窮遠處?! ∽⒁猓篛penGL中指定w大于或等于0.0。那么引進齊次坐標有什么必要,它有什么優點呢?1.它提供了用矩陣運算把二維、三維甚至高維空間中的一個點集從一個坐標系變換到另一個坐標系的有效方法。2.它可以表示無窮遠的點。n+1維的齊次坐標中如果h=0,實際上就表示了n維空間的一個無窮遠點。對于齊次坐標[a,b,h],保持a,b不變, 點沿直線 ax+by=0 逐漸走向無窮遠處的過程
關 鍵 詞:
齊次 理解 坐標
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:齊次坐標的理解.doc
鏈接地址: http://www.094347.live/p-55539511.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.094347.live 網站版權所有

粵ICP備19057495號 

收起
展開
有没有苹果软件赚钱的 手机炒股软件免费下载 幸运28预测加拿大 浙江6+1几点开奖 新手怎样买股票怎样卖股票 天津11选五5直选走势图 3d万能6码走势图 体育彩票排列三 免费公开一码资料 30选5开奖结果122期 正规配资网上上盈下载