opengl中有三大矩陣,分別是模型矩陣(model matrix)、視口矩陣(view matrix)和投影矩陣(projection matrix)。模型矩陣是在世界中擺放物體用的,視口矩陣是把物體從世界座標系轉換到視口座標系中,即擺放虛擬攝像機用的,投影矩陣則是吧攝像機看到的物體的座標從世界座標系轉換到投影座標系。
三角形的初始狀態
首先,矩陣的操作有縮放,旋轉,平移
//縮放座標,影響下邊每乙個分量
glscalef(0.1f, 0.1f, 0.1f);
//旋轉
glrotatef(90.0f, 0.0f, 0.0f, 1.0f);
//移動
gltranslatef(1.0f, -1.0f, 0.0f);
將這段**插入到glbegin之前,就可以看到效果了
需要注意的是,先旋轉再平移和先平移再旋轉,得到的結果並不相同。
//縮放座標,影響下邊每乙個分量
glscalef(0.1f, 0.1f, 0.1f);
//移動
gltranslatef(1.0f, -1.0f, 0.0f);
//旋轉
glrotatef(90.0f, 0.0f, 0.0f, 1.0f);
效果如下,明顯的位置是不一樣的。
除此之外,矩陣的操作還有壓棧(glpushmatrix())、出棧(glpopmatrix())操作,用來處理復合運動的操作,後邊再詳細介紹。
opengl的轉換矩陣
矩陣真的是乙個很神奇的數學工具,雖然單純從數學上看,它並沒有什麼特別的意義,但一旦用到空間中的座標變換,它就 一遇風雲便成龍 大顯神威了。簡單的工具實現了複雜的功能,便預示著要理解它我們還是要花上點功夫的。下面就簡單介紹一下opengl中的轉換矩陣。1 轉換矩陣的原理 opengl中的轉換矩陣是這樣...
opengl的矩陣理解
矩陣真的是乙個很神奇的數學工具,雖然單純從數學上看,它並沒有什麼特別的意義,但一旦用到空間中的座標變換,它就 一遇風雲便成龍 大顯神威了。簡單的工具實現了複雜的功能,便預示著要理解它我們還是要花上點功夫的。下面就簡單介紹一下opengl中的轉換矩陣。1 轉換矩陣的原理 opengl中的轉換矩陣是這樣...
opengl矩陣堆疊的常識
1,實際上在opengl中對於乙個已經存在的矩陣 m 此時在畫點 c 旋轉 r 都是 mc 或者 mr在glmultmatrixf t 中也是已經存在的矩陣 m t 2 在opengl中有時需要獲取乙個矩陣內容而返回的是乙個指標,但是這個指標指向的記憶體轉為二維陣列時,與c或者c 中一維陣列轉二維陣...