OpenGL關於空間變換的一些說明

2021-09-01 12:22:44 字數 849 閱讀 9927

首先,說一下將三維笛卡爾座標轉換為四維齊次座標的作用:1、用於透視變換;2、可以利用線性變換實現模型平移。

頂點座標向量vertexposition左乘mvp矩陣(注意順序,若右乘,根據矩陣乘法的性質則為各自轉置後倒序相乘),gl_position=p(projection)v(view)m(model)vertexposition,其中,m(model)=t(translate)r(rotate)s(scale)。

為避免偏移量被scale,要按scale(scale變換後,z軸範圍[-1.0, 1.0])、rotate、translate(進行translation變換時,頂點位置向量的w分量應為1.0)的順序進行變換。模型變換(model transform)的rotate&translate和檢視變換(view transform)實質相同,只不過變換方向相反,實際上還是對頂點座標變換,m矩陣和v矩陣完全可以合併為乙個矩陣,例如:gl2.1的glmatrixmode(gl_modelview)(see also glulookat()),如果是自己寫的vertex shader,uniform mat4 model, view; 可以合併定義uniform mat4 modelview; 採用view變換實際是為了模擬camera視角(opengl本身並沒有camera),看上去好像是camera在旋轉、平移。如果不進行view變換和projection變換,即在預設檢視空間和預設透視空間下,視角如下圖:

在透視空間裡,兩條平行線可在無窮遠處相交於一點,projection變換可造成」近大遠小「的效果,經過projection變換後,如果nearplane=0.0,則視角是從z=0.0(深度值=0)看向z軸負方向(深度值》0)。注:深度值(距離鏡頭的深度)就是相對於camera鏡頭來說的,鏡頭處深度值為0。

關於對傅利葉變換的一些理解

近日以來,由於學習影象處理,感覺其對傅利葉變換等內容要求較高,故重整旗鼓又過了一遍訊號系統等章節,做了不少實驗,有所感悟,特記錄下,以便備忘!首先,對於傅利葉變換,最為需要理解的便是傅利葉級數,個人感覺這個是後邊最為基礎也是最為重要的部分,對於連續傅利葉級數有 從傅利葉級數的定義可以很明顯看出,對於...

關於小波變換和Gabor變換的一些知識!

通過昨天的學術報告,覺得自己對這兩個基本的概念還有些模糊,於是查詢了相關的一些資料 1.關於小波變換 一種多解析度分析工具,為不同尺度上訊號的的分析和表徵提供了精確和統一框架。它的原理是 於fourier變換!但是它比傳統的fourier變換有更多優點,比如 1 小波變換可以覆蓋整個頻域 2 可以通...

OpenGL的一些基礎概念

一 什麼是opengl opengl是乙個圖形api,包含了一系列的可以操作圖形 影象的函式。它並不是乙個獨立的平台,需要使用乙個程式語言來工作,最常見的就是使用c 然而,更嚴格的定義來講,opengl應該是指一套規範。二 opengl的一些基礎概念 1 核心模式與立即渲染模式 早期的opengl使...