裁減平面座標的設定

2021-05-27 19:51:38 字數 1018 閱讀 1034

通過函式gluunproject()得到三個座標點p1,p2,p3確定裁剪平面的問題,如果你是要基於物體座標系(世界座標)做裁剪,那麼請不用看後文了;

如果你是在視覺座標系下做裁剪那麼請看後文,因為這三個點很有可能是在已經發生檢視變換之後的座標系下獲取的反投影座標,就要把這些座標值轉換成在模型檢視變換後和投影變換之前的座標值,也就是該座標必須再經過與模型檢視矩陣相乘變換才能用來作為裁剪面的三個點。然後根據這新的三點p1』,p2』,p3』確定乙個平面方程,得到相應係數a,b,c和d。分三點說明:

1.使用glgetdoublev(gl_modelview_matrix,modelviewmatrix)獲取模型檢視矩陣要注意在此函式前面應用已經使用的模型檢視變換,保持座標系對應吻合,從而得到正確的模型檢視矩陣modelviewmatrix。modelviewmatrix是乙個16個double元素的一維陣列。對應到二維陣列m就是modelviewmatrix [4j+i]對應於m[i][j]元素中,其中i,j=0=0,1,2,3。

2.再通過根據1所得的modelviewmatrix [4j+i]把p1,p2,p3變換到相應的座標空間,也就是

p1』=p1 *m』,//注意是m的轉置m'

p2』=p2* m』,

p3』=p3* m』

注意相乘的規則是座標點乘以矩陣的轉置,如下所示(hx,hy,hz表示原座標p值,new_x,new_y,new_z表示新座標)

new_x=modelviewmatrix[0]*hx+modelviewmatrix[4]*hy+modelviewmatrix[8]*hz+modelviewmatrix[12];

new_y=modelviewmatrix[1]*hx+modelviewmatrix[5]*hy+modelviewmatrix[9]*hz+modelviewmatrix[13];

new_z=modelviewmatrix[2]*hx+modelviewmatrix[6]*hy+modelviewmatrix[10]*hz+modelviewmatrix[14];

3,利用新的三點確定裁剪面的方程

ArcEngine中平面座標與地理座標的轉換

假如你的地圖單位是以平面座標 公里網 為單位的,而現在要做乙個地理座標 經緯網 來進行定位的功能,這個過程就涉及到了座標的轉換。我們知道,在地圖中地理座標和投影是兩個非常重要的概念,具體的定義和區分請自己google。在進行地理座標與平面座標轉換工作之前,必須保證地圖具有某個具體的投影才可以。下面是...

座標的轉換

各地圖api座標系統比較與轉換 wgs84座標系 即地球座標系,國際上通用的座標系。裝置一般包含gps晶元或者北斗晶元獲取的經緯度為wgs84地理座標系,谷歌地圖採用的是wgs84地理座標系 中國範圍除外 gcj02座標系 即火星座標系,是由中國國家測繪局制訂的地理資訊系統的座標系統。由wgs84座...

圓心座標的提取

用opencv的話,這樣的活兒也就那麼兩三行 而且靈活可靠。但是,玩影象處理只懂玩成這樣就悲哀了,就如同遊戲引擎之於計算機圖形學,太依賴影象庫是不利於自己的成長和知識的提公升的。圓心提取的本質是從一張含有圓形 橢圓標誌物的 見下圖1,現實經各種處理到達這種圓與背景分明的樣態 中,選擇一定座標系,提取...