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