• <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) = a,a0。那么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 閱讀(2294) 評論(0)  編輯 收藏 引用

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            久久人人爽人人爽人人AV东京热| 亚洲中文字幕伊人久久无码| 久久久久久久97| 国产高清美女一级a毛片久久w | 国内精品久久久久久久久电影网| 久久精品国产精品亚洲| 囯产精品久久久久久久久蜜桃| 高清免费久久午夜精品| 欧美亚洲国产精品久久| 亚洲国产成人久久精品影视| 亚洲精品乱码久久久久久中文字幕| 亚洲精品高清国产一久久| 亚洲中文字幕久久精品无码APP | 亚洲午夜精品久久久久久app| 97久久综合精品久久久综合| 久久婷婷五月综合成人D啪| 国产—久久香蕉国产线看观看 | 久久99免费视频| 久久综合国产乱子伦精品免费| 日韩亚洲国产综合久久久| 欧美久久精品一级c片片| 久久精品中文无码资源站| 精品无码久久久久国产动漫3d | 2020久久精品国产免费| 人妻精品久久无码专区精东影业| 欧美精品丝袜久久久中文字幕 | 四虎国产精品免费久久5151| 色欲综合久久躁天天躁蜜桃| 国产精品美女久久福利网站| 久久久久久极精品久久久| 国产成人久久777777| 成人精品一区二区久久久| 7国产欧美日韩综合天堂中文久久久久 | 久久精品国产99久久久| 久久精品蜜芽亚洲国产AV| 99久久国产热无码精品免费 | 99久久99这里只有免费的精品| 久久久噜噜噜久久中文福利| 国产精品久久久亚洲| 国产精品久久网| 久久强奷乱码老熟女|