<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            游戲開發中的矩陣初探

            時間:2024-10-24 17:25:33 游戲動漫 我要投稿
            • 相關推薦

            游戲開發中的矩陣初探

              游戲制作,是指一個電子游戲的制作過程。由于游戲的類型、大小和要求,游戲制作需要的人員和時間也不一樣。以下是小編整理的關于游戲開發中的矩陣初探,希望大家認真閱讀!

              1.矩陣在3d空間中的作用

              (1)長方體A想繞(10,3,4)旋轉50°且沿著x方向放大2倍且向(9,-1,8)方向平移2個單位,那么經過上面的變換后,新的長方體各個點的坐標是多少呢?應用矩陣可以很輕松的算出答案。

              (2)知道子坐標系在父坐標系中的位置,可以求出子坐標系中的店在父坐標系中的位置。

              2.矩陣的基礎知識

              矩陣能描述任意線性變換。線性變換保留了直線和平行線,線性變換保留直線的同時,其他的幾何性質如長度、角度、面積和體積可能被變換改變了。簡單的說,線性變換可能“拉伸”坐標系,但不會“彎曲”或“卷折”坐標系。

              (1)平移

              以下矩陣能把一點向t矢量方向平移:

              (2)旋轉

              正方向為從旋轉軸正向看過去的逆時針方向,比如繞z軸[0,0,1]旋轉,正方向為x至y軸方向

              知道了繞著三軸后的旋轉矩陣,那么下面就是繞任意向量所得的矩陣了。設M為單位矩陣經向量a旋轉后的矩陣,且a = (xa, ya, za),旋轉角度為α,則

              不要問為什么,記住即可。

              (3)縮放

              縮放點為r,X軸縮放sx,y軸縮放sy,z軸縮放sz,則新坐標為:

              (4)綜合

              比如要把坐標系中的所有點平移[2,3,4](X軸平移2,y軸平移3,z軸平移4),

              3.子空間向父空間的變換

              把點或方向從任何子坐標系C變換至父坐標系P的矩陣,可寫作Mc-p。此矩陣表示把點或方向從子空間變換至父空間。以下等式把任何子空間位置矢量Pc變換至父空間位置矢量Pp,Pp = PcMc-p

              ic為子空間x軸的單位基矢量,此矢量以父空間坐標表示

              jc為子空間y軸的單位基矢量,此矢量以父空間坐標表示

              kc為子空間z軸的單位基矢量,此矢量以父空間坐標表示

              tc為子坐標系相對于父坐標系的平移

              4.坐標系中點的RST(旋轉平移縮放)

              OpenGl超級寶典第四版P101頁說:如果一個4×4矩陣包含了一個不同的坐標系統的位置和方向(可以看成上面的Mc-p),那么,把一個頂點Pp與這個矩陣相乘,其結果就是一個變換到該坐標系統的新頂點Pc(坐標還是相對于原坐標系)。這看起來像公式Pc =Pp Mc-p ,錯錯錯!這用Pp完全是個誤導,把Pp改名字叫A,坐標V,由于是線性變換,所以在新坐標系統中A的坐標還是V,所以這就與Pp = PcMc-p 一致了,Pp為A在新坐標系統中V在原坐標系中的坐標。

              5.OpenGl中的矩陣變換

              OpenGl中矩陣的變換是疊加的,每做一次矩陣變換,就把零點移到新的坐標系中。下次變換只影響當前坐標系及其子坐標系,不會影響其父坐標系。載入單位矩陣是將零點重新置為最初的零點。

              單純的矩陣運算不會移動零點位置,所以與單位矩陣相乘沒有任何效果。


            【游戲開發中的矩陣初探】相關文章:

            Word2010中創建包含矩陣公式步驟07-07

            常規游戲項目開發流程09-16

            詳述游戲開發的初衷及當代10-01

            游戲開發需要學什么06-08

            開發智力的游戲的好處10-18

            網頁游戲主流開發技術08-07

            開發制作游戲過程詳解07-11

            開發智力的游戲有哪些08-04

            游戲開發后的獨立推廣方法10-14

            游戲開發完整學習路線10-27

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院