• <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>

            天行健 君子當自強而不息

            3D數學 ---- 矩陣和線性變換(4)

             

            變換的組合

            設想世界中有一個任意方向、任意位置的物體,我們要把它渲染到任意方向、任意位置的攝像機中。為了做到這一點,必須將物體的所有頂點從物體坐標系變換到世界坐標系,接著再從世界坐標系變換到攝像機坐標系。其中的數學變換總結如下:

            矩陣乘法滿足結合律,所以我們能用一個矩陣直接從物體坐標系變換到攝像機坐標系:

            這樣就能在渲染的循環外先將所有矩陣組合起來,使循環內作矩陣乘法的時候只需要和一個矩陣相乘即可(物體有很多頂點,省一次矩陣乘法就會提高不少效率),如下:

            所以矩陣組合從代數角度看是利用了矩陣乘法的結合律。矩陣的行向量就是變換后的基向量,這在多個變換的情況下也是成立的。考慮矩陣乘法AB,結果中的每一行都是A中相應的行與矩陣B相乘的結果。換言之,設a1, a2, a3為A的行,矩陣乘法能夠寫為:

            這使得結論更加清晰,AB結果中的行向量確實是對A的基向量進行B變換的結果。

             

            變換分類

            變換的類別并不是互斥的,也不存在一定的“次序”或“層次”使得某一類比另一類多或少一些限制。

            當討論一般意義上的變換時,我們將使用類似的術語:映射或函數。在最一般的意義上,映射就是一種簡單的規則,接受輸入,產生輸出。我們把從abF映射記作F(a) = b

             

            線性變換

            在數學上,如果滿足下式,那么映射F(a)就是線性的:

            F(a + b) = F(a) + F(b)   以及  F(ka) = kF(a)

            如果映射F保持了基本運算:加法和數量乘,那么就可以稱該映射為線性的。在這種情況下,將兩個向量相加然后再進行變換得到的結果和先分別進行變換再將變換后的向量相加得到的結果相同。同樣,將一個向量數量乘再進行變換和先進行變換再數量乘的結果也是一樣的。

            這個線性變換的定義有兩條重要的引理:

            (1) 映射F(a) = aM,當M為任意方陣時,說映射是一個線性變換,這是因為:

            F(a + b) = (a + b)M = aM + bM = F(a) + F(b)

            F(ka) = (ka)M = k(aM) = kF(a)

            (2) 零向量的任意線性變換的結果仍然是零向量。(如果F(0) = aa0。那么F不可能是線性變換。因為F(k0) = a,但F(k0) ≠ kF(0)),因此線性變換不會導致平移(原點位置上不會變化)。

            在某些文獻中,線性變換的定義是平行線變換后仍然是平行線。大多數情況下它是對的,但有一個小小的例外:投影(當一條直線投影后變成一個點,能認為這個點平行于什么?)除了這點理論上的例外,這種定義是正確的。線性變換可能造成“拉伸”,但直線不會”彎折“,所以平行線仍然保持平行。

             

            仿射變換

            仿射變換是指線性變換后接著平移。因此仿射變換的集合是線性變換的超集,任何線性變換都是仿射變換,但不是所有仿射變換都是線性變換。

            任何具有形式 v' = vM + b 的變換都是仿射變換。

             

            可逆變換

            如果存在一個逆變換可以”撤銷“原變換,那么該變換是可逆的。換句話說,如果存在逆變換G,使得G(F(a)) = a,對于任意a,映射F(a)是可逆的。

            存在非仿射變換的可逆變換,但暫不考慮它們。現在,我們集中精力于檢測一個仿射變換是否可逆。一個仿射變換就是一個線性變換加上平移,顯然,可以用相反的量”撤銷“平移部分,所以問題變為一個線性變換是否可逆。

            顯然,除了投影以外,其他變換都能”撤銷“。當物體被投影時,某一維有用的信息被拋棄了,而這些信息時不可能恢復的。因此,所有基本變換除了投影都是可逆的。

            因為任意線性變換都能表達為矩陣,所以求逆變換等價于求矩陣的逆。如果矩陣是奇異的,則變換不可逆;可逆矩陣的行列式不為0。

             

            等角變換

            如果變換前后兩向量夾角的大小和方向都不改變,該變換是等角的。只有平移,旋轉和均勻縮放是等角變換。等角變換將會保持比例不變,鏡像并不是等角變換,因為盡管兩向量夾角的大小不變,但夾角的方向改變了。所有等角變換都是仿射和可逆的。

             

            正交變換

            術語“正交”用來描述具有某種性質的矩陣。正交變換的基本思想是軸保持互相垂直,而且不進行縮放變換。

            平移、旋轉和鏡像是僅有的正交變換。長度、角度、面積和體積都保持不變。(盡管如此,但因為鏡像變換被認為是正交變換,所以一定要密切注意角度、面積和體積的準確定義)。

            正交矩陣的行列式為1或者負1,所有正交矩陣都是仿射和可逆的。

             

            剛體變換

            剛體變換只改變物體的位置和方向,不包括形狀。所有長度、角度、面積和體積都不變。平移和旋轉是僅有的剛體變換,鏡像并不被認為是剛體變換。剛體變換也被稱作正規變換,所有剛體變換都是正交、等角、可逆和仿射的,某些剛體變換旋轉矩陣的行列式為1。


            posted on 2008-01-14 19:09 lovedday 閱讀(2293) 評論(0)  編輯 收藏 引用

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            狠狠色伊人久久精品综合网| 国产一区二区久久久| 亚洲精品国产美女久久久| 久久精品国产2020| 精品久久久久久无码专区| 精品久久久久久无码人妻热| 久久91精品国产91久| 精品精品国产自在久久高清| 手机看片久久高清国产日韩| 久久精品无码专区免费东京热| 久久精品中文字幕久久| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲狠狠综合久久| 波多野结衣久久一区二区| 久久久久久久综合日本亚洲 | 亚洲va久久久噜噜噜久久男同| 久久精品无码午夜福利理论片| 久久国产精品免费一区| 伊人久久综合精品无码AV专区 | 国产真实乱对白精彩久久| 青草国产精品久久久久久| 中文成人久久久久影院免费观看| 久久精品毛片免费观看| 香蕉99久久国产综合精品宅男自| 久久er热视频在这里精品| 一本色道久久88精品综合| 久久性生大片免费观看性| 欧美一区二区精品久久| 久久久久久久亚洲Av无码| 久久精品青青草原伊人| 精品国产乱码久久久久软件| 久久夜色撩人精品国产| 国产精品成人久久久久久久| 国产一区二区三区久久| 精品久久无码中文字幕| 奇米影视7777久久精品| 亚洲精品国产美女久久久| 亚洲精品乱码久久久久66| 亚洲欧美伊人久久综合一区二区| 久久综合久久美利坚合众国| 久久精品亚洲AV久久久无码|