亚洲色无码国产精品网站可下载,亚洲h成年动漫在线观看网站,亚洲av中文无码乱人伦在线观看,亚洲国产一成人久久精品,亚洲av成人精品网站在线播放

用OpenGL開發(fā)虛擬制造環(huán)境(Ⅱ)

   2020-09-01 互聯(lián)網(wǎng)中國鑄造網(wǎng)17990
核心提示:  摘 要 本文介紹了OpenGL 3D圖形處理的管道過程,從建立模型坐標(biāo)、視平面坐標(biāo)到設(shè)備視區(qū)變換。論述了O

  摘 要 本文介紹了OpenGL 3D圖形處理的管道過程,從建立模型坐標(biāo)、視平面坐標(biāo)到設(shè)備視區(qū)變換。論述了OpenGL在虛擬制造環(huán)境開發(fā)實(shí)踐中的應(yīng)用。
  關(guān)鍵詞 虛擬制造,對象建模,坐標(biāo)變換

DEVELOPING VIRTUAL MANUFACTURING
ENVIRonMENT BY USING OPENGL (Ⅱ)

Zhou Jiehan Du Runsheng Wu Bo
Machinery Science and Engineering College, Huazhong University of Technology, Hubei*Wuhan 430074

  Abstract The OpenGL graphics transformation pipeline is introduced in the thesis. And these transformation from modeling coordinates, viewing coordinates to final device coordinates are discussed in virtual manufacturing development.
  Keywords Virtual manufacturing, Object modeling, Coordinates transformation

1 OpenGL簡介

  OpenGL是SGI公司的IRIS GL圖形工作站的分支。與 32位Windows圖形設(shè)備接口GDI的簡單圖形編程相比,OpenGL能進(jìn)行高級的三維圖形編程并能滿足圖形光照、紋理等特殊效果的要求。目前由 OpenGL體系結(jié)構(gòu)考察組OpenGL ARB控制OpenGL的語言標(biāo)準(zhǔn)。該組織成員有SGI、Microsoft、IBM、Intel與DEC公司等。OpenGL本身與硬件及操作系統(tǒng)的底層軟件無關(guān),因此可將OpenGL程序從一個(gè)系統(tǒng)方便地移植到另一個(gè)系統(tǒng)。OpenGL在CAD/CAM等需要高級三維對象可視化和圖形繪制的領(lǐng)域內(nèi)被廣泛應(yīng)用。許多計(jì)算機(jī)系統(tǒng)如UNIX,Windows NT都支持OpenGL標(biāo)準(zhǔn)。OpenGL通過各個(gè)平面的一系列頂點(diǎn)表示幾何體。定義幾何體是按照用戶畫幾何體的順序。OpenGL通過光柵化(將向量圖形轉(zhuǎn)換成由像素組成的圖像的過程)來處理幾何體對象。光柵化的結(jié)果以像素的形式存于幀緩沖區(qū)中。并通過多種模式變換控制輸出。

2 OpenGL 3D圖形變換

2.1 三維投影中的坐標(biāo)系
  OpenGL物體坐標(biāo)系采用左手坐標(biāo)系。投影三維物體的二維平面稱為投影平面,視平面坐標(biāo)系附在投影平面上。物體坐標(biāo)系描述物體的模型。取景參考點(diǎn)為物體建模參考點(diǎn),一般將物體坐標(biāo)系原點(diǎn)取為建模參考點(diǎn)。視平面坐標(biāo)系原點(diǎn)為取景參考點(diǎn)在投影平面上的投影點(diǎn),即平行于投影平面法線且通過取景參考點(diǎn)的直線與投影平面的交點(diǎn)。確定視平面坐標(biāo)系向上方向的向量稱為取景上方向量。取景上方向量確定視平面坐標(biāo)系繞取景參考點(diǎn)與視平面坐標(biāo)系原點(diǎn)連線旋轉(zhuǎn)的角度。觀察點(diǎn)或視點(diǎn)是觀察者眼睛所在的位置。以上概念如圖1所示。

2

圖1 三維投影中的坐標(biāo)系

2.2 OpenGL圖形處理的管道過程
  繪畫時(shí),OpenGL通過建模與取景變換設(shè)置物體坐標(biāo)系中對象的每個(gè)頂點(diǎn),然后由投影變換指定的取景體積對頂點(diǎn)進(jìn)行剪切,最后把這些頂點(diǎn)映射到視區(qū)上。其圖形處理的管道過程如圖2所示。

2.3 OpenGL圖形處理過程與照相過程對比
  設(shè)想物體坐標(biāo)系畫在支持物體的地板上,那么視平面坐標(biāo)系就在相機(jī)的膠卷上。OpenGL圖形處理過程與相機(jī)成相過程對比如下:
  把相機(jī)指向畫面(取景變換);
  擺好物體使得畫面被照進(jìn)(建模變換);
  選擇相機(jī)透鏡或調(diào)整焦距感光(投影變換);
  沖洗底片決定相片最終大?。ㄒ晠^(qū)變換)。

1

圖2 OpenGL圖形處理的管道過程

3 OpenGL物體模型繪制與圖形變換

3.1 OpenGL繪制物體模型與畫幾何體的順序
  利用OpenGL圖元功能如線、多邊形等功能繪制物體模型。所有圖元最終都以一組頂點(diǎn)坐標(biāo)來描述。OpenGL使用glVertex命令定義頂點(diǎn)坐標(biāo),使用glColor命令定義頂點(diǎn)顏色。定義點(diǎn)的定義順序是按照用戶畫幾何體的順序。定義立方體的點(diǎn)順序如圖3所示。定義物體模型可以在glBegin和 glEnd命令對之間給出頂點(diǎn)的坐標(biāo)。glBegin命令的參數(shù)決定如何繪制幾何圖元。其參數(shù)值的含義如下所示:

 GLPOINTS: 單獨(dú)的點(diǎn);
 GLLINES: 一隊(duì)頂點(diǎn)組成一單獨(dú)的線段;
 GLPOLYGON: 一簡單凸多邊形的邊界輪廓;
 GLTRIANGLES: 三個(gè)頂點(diǎn)組成三角形;
 GLQUADS: 四個(gè)頂點(diǎn)組成四邊形;
 GLLINESTRIP: 一組首尾相連的線段;
 GLLINELOOP: 一組首尾相連的線段,且起始點(diǎn)相連;
 GLTRIANGLESTRIP: 相連的三角形;
 GLTRIANGLEFAN: 扇形三角形;
 GLQUADSTRIP: 相連的四邊形。

1

圖3

3.2 建模變換與取景變換
  建模變換用來放置模型與確定模型的取景上方向量。建模變換包括移動、旋轉(zhuǎn)或縮放,也可以是三者的聯(lián)合操作。OpenGL分別用glTranslate命令和glRotate命令來移動與旋轉(zhuǎn)物體。glTranslate命令移動物體到某新位置,其參數(shù)指定新位置的坐標(biāo)。glRotate命令旋轉(zhuǎn)物體使其取景上方向量為新方向,其參數(shù)為一個(gè)旋轉(zhuǎn)軸向量與旋轉(zhuǎn)角度。glScale為比例變換命令,其參數(shù)指定物體沿著三個(gè)坐標(biāo)軸進(jìn)行縮放的比例。建模變換是變換物體的位置與方向。而取景變換是變換視平面的位置與方向。物體與視平面的運(yùn)動是相對運(yùn)動,因此也可以用改變視平面位置與取景上方向的取景變換來代替建模變換。OpenGL默認(rèn)物體的取景參考點(diǎn)與視平面的原點(diǎn)為物體坐標(biāo)系原點(diǎn),取景上方向量與y軸一致。OpenGL使用glMatrixMode改變模式矩陣命令來啟動建模與取景變換。由于建模與取景變換本質(zhì)上的一致性,在變換應(yīng)用之前,建模與取景變換被連接為建模取景矩陣。GlMatrixMode的參數(shù)必須設(shè)置為GLMODELVIEW。

3.3 透視投影變換
  現(xiàn)實(shí)生活中的景物,由于距離遠(yuǎn)近不同,方位不同,在視覺中引起不同反映的現(xiàn)象就是透視現(xiàn)象。OpenGL透視投影利用去角錐的截頭體作為取景體積。取景體積決定物體投影的可視部分,而且滿足透視投影的遠(yuǎn)大近小規(guī)則。OpenGL用gluPerspective命令指定的透視取景體積如圖4所示,視點(diǎn)放置在角錐的頂點(diǎn)。其參數(shù)fovy為yz平面上取景域的角度,aspect為截頭體x(寬度)與y(高度)的比值,zNear與zFar分別為視點(diǎn)與前后剪切面的距離,二者總為正值。進(jìn)行透視投影變換前,必須用glMatrixMode將參數(shù)設(shè)置為投影模式GLPROJECT,用glLoadIdentity置恒等矩陣命令清除過去矩陣的影響,同時(shí)用gluPerspective命令指定取景體積進(jìn)行透視投影。

1

圖4 gluPerspective建立的取景體積

3.4 視區(qū)變換
  對比于照相過程,投影變換對應(yīng)于膠卷底片感光階段。視區(qū)變換則對應(yīng)于選擇照片大小階段。視區(qū)變換決定物體圖像在顯示設(shè)備的最終尺寸與位置。OpenGL 圖形系統(tǒng)默認(rèn)視區(qū)為窗口客戶區(qū)域。使用glViewport命令可以選擇一個(gè)視區(qū)。其參數(shù)(x,y)指定視區(qū)的左下角位置,width與height指定視區(qū)矩形的大小。在MFC窗口視結(jié)構(gòu)中,視區(qū)尺寸通常不是絕對尺寸,而是響應(yīng)窗口寬度與高度的變化而變化?! ?/P>

4 虛擬制造環(huán)境下繪制加工中心

  加工中心是虛擬制造環(huán)境中重要的加工設(shè)備之一。在創(chuàng)建三維仿真虛擬車間的實(shí)踐中,選取Windows 95操作系統(tǒng)與MFC作為 OpenGL圖形應(yīng)用程序的開發(fā)環(huán)境。加工中心的物體坐標(biāo)設(shè)定如圖5所示。

1

圖5 OpenGL環(huán)境下加工中心物體模型

  投影平面與y-z平面平行。取景參考點(diǎn)設(shè)在物體坐標(biāo)系的原點(diǎn)。視平面離物體坐標(biāo)系原點(diǎn)的距離為m-fDistence。取景體積的前后剪切面距離視點(diǎn)(計(jì)算機(jī)前觀者的眼睛)分別為fNearPlane與fFarPlane。視窗口大小設(shè)定客戶區(qū)域,并隨客戶區(qū)大小變化而變化。

 
舉報(bào) 收藏 打賞 評論 0
 
更多>同類資訊
推薦圖文
推薦資訊
點(diǎn)擊排行
網(wǎng)站首頁  |  付款方式  |  關(guān)于我們  |  聯(lián)系方式  |  使用協(xié)議  |  版權(quán)隱私  |  網(wǎng)站地圖  |  排名推廣  |  廣告服務(wù)  |  積分換禮  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào) 營業(yè)執(zhí)照  |  粵ICP備18059797號-1
×