矩陣(matrix)
:在遊戲中提供高效的變換方式,幾何變換與座標變換
矩陣(矩形實數數組)
矩陣乘法(a中的行向量的維數必須與b中的列向量的維數相同)
例如:
轉置矩陣(transpose: 對一個矩陣的行和列進行互換)
標記爲T
單位矩陣(identity: 除了對角線上的元素爲1外,其他元素均爲0)
單位矩陣相當於1
逆矩陣(inverse: 乘法的逆運算(矩陣除法運算))
性質
:
基本變換(4x4矩陣與向量-矩陣乘積來描述變換)
齊次座標(homogeneous coordinate)
: 用於表示3D向量或點的四元組
通過它的第4個座標分量w(控制平移)來判斷:
縮放
:
例子:
假設我們通過一個最小點(−4,−4,0)和一個最大點(4,4,0)來定義一個正方形,我們希望
將正方形沿 x 軸縮小 0.5 倍,沿 y 軸放大 2.0 倍,z 軸保持不變則對應的縮放矩陣爲:
再對正方形進行縮放(變換),將正方形的兩個點與該矩陣相乘
結果
旋轉
:
繞n(x,y,z)軸旋轉的’萬能’旋轉矩陣
正交矩陣(orthogonal matrix)
: 行向量都是相互垂直且爲單位長度
性質
:
它的逆矩陣與它的轉置矩陣相等
繞x,y,z軸(n=(1,0,0) n=(0,1,0) n=(0,0,1))旋轉的矩陣
例子:
假設我們通過一個最小點(−1,0,−1)和一個最大點(1,0,1)來定義一個正方形。讓正方形
繞着 y 軸的順時針方向旋轉−30º(即,逆時針方向旋轉 30º)。則y軸旋轉矩陣爲:
再對正方形進行旋轉(變換),將正方形的兩個點與該矩陣相乘:
結果
平移
:
平移矩陣的逆矩陣如下:
例子:
假設我們通過一個最小點(−8,2,0)和一個最大點(−2,8,0)來定義一個正方形。讓正方形
沿x軸平移12,沿y軸平移−10,z軸保持不變。則對應的平移矩陣如下:
再對正方形進行平移(變換),將正方形的兩個點與該矩陣相乘:
結果