• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            misschuer

            常用鏈接

            統(tǒng)計

            積分與排名

            百事通

            最新評論

            齊次坐標的理解(轉(zhuǎn)載別人的)

            來源 https://www.cnblogs.com/csyisong/archive/2008/12/09/1351372.html


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

             

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

                我們現(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)是坐標基矩陣,右邊的列向量分別是向量v和點p在基下的坐標。這樣,向量和點在同一個基下就有了不同的表達:3D向量的第4個代數(shù)分量是0,而3D的第4個代數(shù)分量是1。像這種這種用4個代數(shù)分量表示3D幾何概念的方式是一種齊次坐標表示。

             

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

            (1)從普通坐標轉(zhuǎn)換成齊次坐標時

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

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

            (2)從齊次坐標轉(zhuǎn)換成普通坐標時   

               如果是(x,y,z,1),則知道它是個點,變成(x,y,z);

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

             

            以上是通過齊次坐標來區(qū)分向量和點的方式。從中可以思考得知,對于平移T、旋轉(zhuǎn)R、縮放S3個最常見的仿射變換,平移變換只對于點才有意義,因為普通向量沒有位置概念,只有大小和方向.

             

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

             

            此外,對于一個普通坐標的P=(Px, Py, Pz),有對應(yīng)的一族齊次坐標(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乘上同一個非零數(shù)w,然后增加第4個分量w;如果把一個齊次坐標轉(zhuǎn)換成普通坐標,把前三個坐標同時除以第4個坐標,然后去掉第4個分量。

             

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

             

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

            posted on 2017-12-04 14:34 此最相思 閱讀(212) 評論(0)  編輯 收藏 引用 所屬分類: mathematics

            久久久久久九九99精品| 久久99精品久久久久久秒播| 欧美日韩中文字幕久久久不卡 | 久久精品极品盛宴观看| 国内精品久久久久久中文字幕| 国产精品久久自在自线观看| 久久99精品久久久久久动态图 | 亚洲午夜无码久久久久小说| 岛国搬运www久久| 国内精品免费久久影院| 日韩亚洲欧美久久久www综合网| 精品熟女少妇av免费久久| 久久久久无码精品国产不卡| 99久久成人国产精品免费| 久久精品国产只有精品2020| 丁香久久婷婷国产午夜视频| 久久综合久久综合亚洲| 久久综合噜噜激激的五月天| 久久被窝电影亚洲爽爽爽| 久久这里有精品视频| 久久精品青青草原伊人| 久久99精品国产自在现线小黄鸭| 97精品国产91久久久久久| 久久久久女教师免费一区| 亚洲人成电影网站久久| 人妻精品久久无码区| 大美女久久久久久j久久| 久久精品国产亚洲αv忘忧草 | 久久99国产精品久久| 久久久久亚洲爆乳少妇无| 日韩人妻无码精品久久免费一 | 久久av高潮av无码av喷吹| 色婷婷久久久SWAG精品| 人妻少妇久久中文字幕一区二区| 国产精品gz久久久| 久久久久久久久久久久中文字幕| 久久97久久97精品免视看秋霞| 久久久精品人妻一区二区三区四 | 狠狠色丁香婷婷久久综合| 久久国产色AV免费观看| 日批日出水久久亚洲精品tv|