網站備案org甘肅百度推廣電話
3D坐標系
左手系和右手系
點
x,y,z與w(齊次坐標)
矩陣
- 第一個下標表示行號,第二個下標表示列號。
- 矩陣乘法不滿足交換律
- 矩陣乘法=矩陣合并
- 一個矩陣乘以它的逆矩陣=單位矩陣
變化矩陣
平移矩陣
縮放矩陣
除了可以縮放,
還可以利用縮放,在給定右手系的情況確定左手系,相互轉換
旋轉矩陣
3D空間中旋轉物體,需要指定旋轉軸和旋轉角
向量
向量的加減法
歸一化
點積的應用
- 求兩個向量的夾角 (單位向量點積)
- 是否正交
- 是否同向
- 是否平行相反
- 是否在夾角范圍內
- 向量大小
- 點到平面的距離
叉積的應用
生成一個正交于兩個向量的向量
遵循右手定則
局部空間與世界空間
局部空間 local space:物體的坐標系,又名模型空間 model space 物體空間 object space
在世界空間中為對象定位及定向的矩陣稱為模型矩陣,通常記為 M
視覺空間和合成相機
已知OpenGl相機的位置永遠是原點,相機的方向永遠是z軸負方向,相機的上方永遠是y軸正方向。
那么想要將物體放到相機前方,需要將物體的坐標系轉換到相機坐標系即可。
我們根據虛擬/期望的相機位置/歐拉角,來計算視圖變換矩陣,將物體從世界坐標轉換到相機坐標系。
將平移和旋轉矩陣(相機從原點移動到期望位置)合并得到的矩陣稱為視圖變換矩陣(viewing transform),記作 V。
視圖變換矩陣
模型-視圖(Model-View,MV)矩陣:模型空間直接轉換至相機空間(把M模型矩陣和V視圖變換矩陣合并了)
投影矩陣
透視投影矩陣
參數:縱橫比、視場、近剪裁平面(也稱投影平面)、遠剪裁平面
視場 Field Of View, FOV:是可視空間的縱向角度
橫縱比 aspect ratio:遠近剪裁平面的寬度與高度之比
正交投影矩陣
參數:
(a)從相機到投影平面的距離 znear;
(b)從相機到遠剪裁平面的距離 zfar;
(c)L、R、T 和 B 的值,其中 L 和 R 分別是投影平面左、右邊界的 x 坐標,T 和 B 分別是投影、平面上、下邊界的 y 坐標。
LookAt矩陣
當你想要把相機放在某處并看向一個特定的位置時,就需要用到它。
參數
- 叉積計算
- fwd相機正面
- side相機側面
- up相機上面
- 相機位置
- 目標位置
構建矩陣變換的GLSL函數
GLSL