• <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數學 ---- 矩陣和線性變換(1)

            包含平移的線性變換稱作仿射變換,3D中的仿射變換不能用 3 x 3 矩陣表達,必須使用4 x 4矩陣。

            一般來說,變換物體相當于以相反的量變換描述這個物體的坐標系。當有多個變換時,則需要以相反的順序變換相反的量。例如,將物體順時針旋轉20度,擴大200%,等價于將坐標系縮小200%,再逆時針旋轉20度。

             

            2D中的旋轉

            在2D環境中,物體只能繞某個點旋轉,因為現在暫不考慮平移。這里我們進一步限制物體,使其只繞原點旋轉。2D中繞原點的旋轉只有一個參數,角度θ,它描述了旋轉量。逆時針旋轉經常(不是必須)被認為是正方向,順時針方向是負方向。圖8.5展示了基向量pq繞原點旋轉,得到新的基向量p'q'

            現在我們知道了旋轉后基向量的值,就可以以公式8.1的形式構造矩陣如下:

            3D中繞坐標軸的旋轉

            在3D場景中,繞軸旋轉而不是點(此時軸指的是旋轉所繞的直線,不一定是笛卡爾坐標軸x,y,z)。再次聲明,這里暫不考慮平移,所以只討論旋轉軸穿過原點的情況。

            繞軸旋轉角度θ時,必須知道哪個方向被認為“正”,哪個方向被認為“負”,左手坐標系中定義此方向的規則為左手法則。首先,要明確旋轉軸指向哪個方向。當然,旋轉軸在理論上是無限延伸的,但我們還是要認為它有正端點和負端點。與笛卡爾坐標軸定義坐標系相同,左手法則是這樣的:伸出左手,大拇指向上,其余手指彎曲。大拇指指向旋轉軸的正方向,此時,四指彎曲的方向就是旋轉的正方向。如圖8.6所示。

            如果用的是右手坐標系,也有類似的法則,不過是用右手代替左手,如圖8.7所示:

            圖8.8顯示了另一種正方向的定義:

            最為常見的旋轉是繞某坐標軸的簡單旋轉,讓我們從繞x軸旋轉開始,如圖8.9所示:

            求出旋轉后的基向量,可以得到矩陣,見公式8.2。

            Rotation about the y-axis is similar:

            The matrix to rotate about the y-axis:

            Finally, rotating about the z-axis:

             

            3D中繞任意軸的旋轉

            當然也能繞3D中的任意軸旋轉。因為這里不考慮平移,可以假設旋轉軸通過原點,這種旋轉比繞坐標軸的旋轉更復雜也更少見。用單位向量n描述旋轉軸,和前面一樣用θ描述旋轉量。

            讓我們導出繞軸n旋轉角度θ的矩陣,也就是說,我們想得到滿足下面條件的矩陣 R(n, θ):

            vR(n, θ) = v'

            v'是向量v繞軸n旋轉后的向量。讓我們看看能否用vn和θ表示v'。我們的想法是在垂直于n的平面中解決這個問題,那么這就轉換為了一個簡單的2D問題。為了做到這一點,將v分解為兩個分量:v||v⊥,分別平行于n和垂直于n,并有v = v|| + v⊥。因為v||平行于n,所以繞n旋轉不會影響它。故只要計算出v⊥n旋轉后的 v⊥',就能得到 v' =v|| + v⊥'。為了計算v⊥',我們構造向量v||v⊥和臨時向量w,如圖8.12所示:

            上圖展示了以下向量:

            (1)v||v平行于n的分量,另一種說法就是v||vn上的投影,用(v.n)n計算。

            (2)v⊥v垂直于n的分量,因為 v = v|| + v⊥,所以 v⊥ = v - v||。v⊥v投影到垂直于n的平面上的結果。

            (3)w是同時垂直于v||v⊥的向量它的長度和v⊥的相同。wv⊥同在垂直于n的平面中,wv⊥n旋轉90度的結果,由n x v⊥可以得到。

            現在,v'垂直于n的分量可以表示為:

            posted on 2008-01-12 16:44 lovedday 閱讀(12808) 評論(1)  編輯 收藏 引用

            評論

            # re: 3D數學 ---- 矩陣和線性變換(1)[未登錄] 2008-11-22 16:01 dd

            well done  回復  更多評論   

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            老男人久久青草av高清| 好属妞这里只有精品久久| 久久毛片免费看一区二区三区| 欧美激情精品久久久久| 久久93精品国产91久久综合| 一本色综合久久| 欧美大香线蕉线伊人久久| 久久福利青草精品资源站| 久久精品国产99久久久香蕉 | 日韩人妻无码精品久久免费一| 伊人久久大香线蕉av不卡 | 精品久久久久久无码人妻热| 亚洲国产成人久久精品99| 国产偷久久久精品专区 | 午夜精品久久久久久久久| 国产精品九九久久免费视频| 亚洲精品无码成人片久久| 久久亚洲高清综合| 久久免费精品一区二区| 99久久香蕉国产线看观香| 四虎国产永久免费久久| 久久精品中文无码资源站| 午夜不卡888久久| 久久无码人妻一区二区三区| 久久中文字幕人妻丝袜| 国产 亚洲 欧美 另类 久久| 久久Av无码精品人妻系列| 久久亚洲AV成人无码软件| 国产精品美女久久久久av爽 | 久久久久亚洲精品天堂久久久久久| 伊人久久大香线蕉综合影院首页 | 久久久久久综合网天天| 久久精品国产色蜜蜜麻豆| 青青草国产成人久久91网| 久久久久亚洲AV无码专区体验| 欧美激情一区二区久久久| 99久久做夜夜爱天天做精品| 久久婷婷午色综合夜啪| 久久久亚洲裙底偷窥综合| 精品国产日韩久久亚洲| 久久精品一本到99热免费|