OPENGL模型與投影變換

2021-08-31 12:28:38 字數 682 閱讀 3158

opengl中不設定模型,投影,視口,所繪製的幾何圖形的座標只能是-1到1(x軸向右,y軸向上,z軸垂直螢幕)。

產生目標場景的過程類似於用照相機進行拍照:

(1)把照相機固定在三角架上,並讓他對準場景

從不同位置觀察場景(檢視變換)

(2)對場景進行安排,使各個物體在**中的位置是我們所希望的

移動,旋轉或者放大縮小場景中的物體(模型變換)

(3)選擇照相機鏡頭,並調整放大倍數(調焦)

顯示物體時,可以選擇物體是如何投影到螢幕上(投影變換)

(4)確定**的大小,放大**還是縮小**

把圖形畫下來,是要佔據整個螢幕還是螢幕的一部分(視口變換)

三大變換:(都是通過操作矩陣來實現的)

1、模型檢視變換

在進行模型檢視變換之前,應先設定當前操作的矩陣為"模型檢視矩陣",通過設定glmatrixmode( gl_modelview),在進行變換

之前把當前矩陣設定為單位矩陣glloadidentity();如果不進行單位化,所有的後續操作都是在當前矩陣的前提下進行的。

2、投影變換

投影變換即定義乙個可視空間,可視空間以外的物體不會被繪製到螢幕上(從現在起,座標不在是-1.0到1.0了)

opengl支援兩種投影,透視投影和正投影,通過設定glmatrixmode( gl_projection )來操作投影矩陣。

投影變換與視口變換

一些說明 0.投影變換 描述如何指定視景體 viewing volume 的形狀和方向。視口變換 解釋如何控制三維模型座標到螢幕座標的變換。1.無論是透視投影還是平行投影 正交投影 只有在視景體中的物體才可見。2.下圖為opengl預設視點位置 eyex,eyey,eyez 0.0,0.0,0.0 ...

柵格重投影(投影變換)

openlayers能夠在不同的座標系統中顯示來自wms wmts 靜態影象和許多其他源的柵格資料。影象的地圖重投影直接發生在web瀏覽器中。在任何proj4js支援的座標參考系統中都是可視的,並且以前不相容的圖層現在可以組合和疊加。api的使用非常簡單。只需在ol view中指定正確的投影 例如使...

python opencv投影變換增強

邊緣填充 image cv2.copymakeborder image,add width,add width,add width,add width,cv2.border replicate,0 乙個是投影變換增強,乙個是旋轉增強 coding utf 8 import cv2 import nu...