視點變換和模型變換

2021-09-06 00:23:14 字數 719 閱讀 6139

在opengl中,視點變換和模型變換被當做一種變換來看待。改變視點的位置和改變模型的位置是乙個相對的過程,例如將物體從(0.0, 0.0, 0.0)移至(0.0, 0.0, -1.0)相當於將相機從(0.0, 0.0, 0.0)移至(0.0, 0.0, 1.0)。視點變換、模型變換將被合併,形成模型視點矩陣。可以使用函式glmatrixmode(gl_modelview)來指定當前矩陣模式為模型視點變換。在**中,視點變換在模型變換之前指定,但投影變換和視口變換可以在繪圖之前的任意時候指定。

一些建議:

(1)視點變換採用glulookat來改變相機的位置,朝向以及向上方向。

(2)模型變換使用gltranslate, glrotate, glscale來進行平移,旋轉,縮放反射,從而改變物體在場景中位置。

void glrotatef(glfloatangle,glfloatx,glfloaty,glfloatz)

angle的方向與向量v(x,y,z)符合右手法則,如下圖(乙個三稜錐圍繞y軸旋轉90°):

仿射變換和射影變換 等距變換 相似變換

參考 射影變換組成了乙個群,這個群被稱為射影變換群,n n可逆實矩陣稱為一般線性群gl n 當把相差非零純量因子的矩陣都視為等同時,便得到射影對映群,記為pl n 在平面,射影變換為pl 3 射影變換在平面的變換矩陣形式如下,也就是乙個3 3的矩陣。其中當上面矩陣的最後一行為 0,0,1 時的變換就...

Z變換和反變換

在 matlab語言中有專門對訊號進行正反 z變換的函式 ztrans 和itrans 其呼叫格式分別如下 lf ztrans f 對f n 進行z 變換,其結果為 f z lf ztrans f,v 對f n 進行z 變換,其結果為 f v lf ztrans f,u,v 對f u 進行z 變換,...

DCT變換和DFT變換

這裡我只談論二維的dft變換,有關一維的dft,請檢視一下部落格,裡面有詳細介紹 根據上面的公式,我們可以得到對應的離散傅利葉變換呃 下面是matlab版本的 和公式 12 是一一對應的,時間複雜度為 mn 2,通常記成n 4,因此對於乙個512 512的來說,計算量就已經很大了,更不用說別的高解析...