《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 面向遠程應(yīng)用的真三維可視化仿真及其實現(xiàn)技術(shù)
面向遠程應(yīng)用的真三維可視化仿真及其實現(xiàn)技術(shù)
來源:微型機與應(yīng)用2011年第7期
徐冰飛1,,馬 斌2
(1.北京電研華源電力技術(shù)有限公司,,北京 100192;2.華北水利水電學(xué)院,,河南 鄭州 45001
摘要: 基于Web的三維可視化仿真及其實現(xiàn)技術(shù),,設(shè)計了一種基于J2EE平臺和B/S結(jié)構(gòu)的三維可視化仿真系統(tǒng)框架,,采用JOGL手段構(gòu)建了基于B/S結(jié)構(gòu)模式的三維可視化仿真系統(tǒng)原型,形成了基于Web的工程系統(tǒng)的三維可視化仿真及其實現(xiàn)技術(shù)。經(jīng)實踐驗證了所采用的三維可視化仿真技術(shù)的可行性,,展示了基于J2EE平臺和B/S結(jié)構(gòu)的三維可視化仿真系統(tǒng)的發(fā)展與應(yīng)用前景,。
Abstract:
Key words :

摘  要: 基于Web的三維可視化仿真及其實現(xiàn)技術(shù),設(shè)計了一種基于J2EE平臺和B/S結(jié)構(gòu)的三維可視化仿真系統(tǒng)框架,,采用JOGL手段構(gòu)建了基于B/S結(jié)構(gòu)模式的三維可視化仿真系統(tǒng)原型,,形成了基于Web的工程系統(tǒng)的三維可視化仿真及其實現(xiàn)技術(shù)。經(jīng)實踐驗證了所采用的三維可視化仿真技術(shù)的可行性,,展示了基于J2EE平臺和B/S結(jié)構(gòu)的三維可視化仿真系統(tǒng)的發(fā)展與應(yīng)用前景,。
關(guān)鍵詞: 仿真;三維可視化,;Web,;J2EE;JOGL

 隨著數(shù)據(jù)庫技術(shù),、多媒體技術(shù),、可視化技術(shù)以及虛擬現(xiàn)實技術(shù)的發(fā)展[1],特別是傳統(tǒng)互聯(lián)網(wǎng)應(yīng)用的普及和新一代互聯(lián)網(wǎng)技術(shù)的到來,,Web技術(shù)從僅能夠提供文字與靜態(tài)圖片瀏覽,,逐漸發(fā)展成為可以支持豐富的影音數(shù)據(jù)流、海量的數(shù)據(jù)挖掘,、遠程實時交互的監(jiān)控等功能,,基于Web的三維可視化技術(shù)正在成為工程系統(tǒng)三維仿真技術(shù)的發(fā)展方向之一。本文構(gòu)建了一種基于Web結(jié)構(gòu)和J2EE平臺的工程系統(tǒng)三維可視化仿真框架,,以JOGL為手段,,給出了相應(yīng)的三維仿真及其實現(xiàn)技術(shù),并運用工程數(shù)據(jù)予以檢驗,。
1 基于J2EE的真三維可視化仿真框架
 工程系統(tǒng)(如地礦工程系統(tǒng))大多具有空間屬性,,其仿真技術(shù)需要表現(xiàn)系統(tǒng)的空間屬性及其空間關(guān)系。Web技術(shù)的發(fā)展,,使得工程系統(tǒng)的遠程真三維仿真成為可能,。為此,本研究設(shè)計了一種基于J2EE平臺的三維可視化仿真系統(tǒng)框架,,如圖1所示,。

 根據(jù)J2EE定義的服務(wù)和規(guī)范,本研究將三維可視化仿真系統(tǒng)分為客戶層,、中間層(Web層,、業(yè)務(wù)層)和數(shù)據(jù)層,以實現(xiàn)工程系統(tǒng)的三維可視化仿真功能,;以JOGL作為三維圖形的顯示工具,,用點,、線、面,、體來表達三維工程系統(tǒng),;以Applet作為用戶與三維圖形的交互手段,,用AWT,、Swing等來響應(yīng)鍵盤、鼠標(biāo)和其他外圍設(shè)備的事件,;以JRE和JVM作為客戶層Applet組件的容器和Java運行環(huán)境,,用插件等方式運行在瀏覽器中;以權(quán)限驗證方式作為系統(tǒng)信息安全手段,,用基于角色授權(quán)方式進行系統(tǒng)訪問安全控制,;以JSP作為應(yīng)用系統(tǒng)基本展示工具,用動態(tài)生成的Web頁面來進行業(yè)務(wù)數(shù)據(jù)的發(fā)布和查詢,;以Struts作為系統(tǒng)邏輯處理,,用XML進行業(yè)務(wù)邏輯配置來控制訪問內(nèi)容;以EJB和JavaBean等作為業(yè)務(wù)模型,,用面向?qū)ο蠹夹g(shù)中的類來表示對象工程系統(tǒng)的三維模型,。在此基礎(chǔ)上結(jié)合數(shù)據(jù)庫技術(shù),給出了工程系統(tǒng)的三維可視化仿真技術(shù),。

 


2 基于J2EE的真三維可視化仿真技術(shù)
2.1 平臺構(gòu)建的J2EE技術(shù)

 J2EE是一個基于組件——容器模型的系統(tǒng)平臺,,以靈活性、擴展性,、模塊化,、跨平臺和跨數(shù)據(jù)庫等優(yōu)勢成為系統(tǒng)建設(shè)和開發(fā)的主流。
 本研究中,,組件主要包括在客戶端運行的Applet組件和在服務(wù)器端運行的Web組件及EJB組件,;容器主要為這三類組件提供運行環(huán)境的JRE、JVM和Web Server等,。
 (1)基于J2EE的系統(tǒng)流程,。根據(jù)J2EE平臺的規(guī)范,J2EE系統(tǒng)流程包括的主要步驟:①用戶在客戶端啟動瀏覽器后,,從Web服務(wù)器上下載由JSP動態(tài)生成的HTML頁面,,通過與頁面中嵌入的Applet程序交互,實現(xiàn)系統(tǒng)的瀏覽,、查詢等功能,;②Web層的Web Server容器在接收到來自客戶端的用戶請求后,解析相應(yīng)的JSP或Servlet組件生成HTML頁面,,供客戶端使用,;③業(yè)務(wù)層容器接收到Web層中的業(yè)務(wù)請求后,將信息提供給EJB組件和數(shù)據(jù)庫適配器組件,并通過這兩種組件所構(gòu)建的業(yè)務(wù)領(lǐng)域代碼來完成對Web層組件的支持,;④數(shù)據(jù)層中的數(shù)據(jù)庫服務(wù)器在為業(yè)務(wù)層中的組件提供所需的數(shù)據(jù)支持,,同時也為地礦工程系統(tǒng)的各類工程數(shù)據(jù)提供管理和維護。
 (2)基于J2EE的系統(tǒng)設(shè)計,。在客戶層中,,系統(tǒng)采用JRE作為Java的插件嵌入到瀏覽器中作為Applet客戶端運行環(huán)境,使用Applet實現(xiàn)人與系統(tǒng)的交互,,并運用JOGL實現(xiàn)基于Web的工程系統(tǒng)的三維可視化,。在Web層中,采用Struts實現(xiàn)業(yè)務(wù)邏輯控制功能,,利用JSP組件動態(tài)生成頁面,,使用Web服務(wù)器Tomcat為Web層組件提供服務(wù)。在業(yè)務(wù)層中,,采用EJB技術(shù)和JavaBean等實現(xiàn)類的構(gòu)造和工程系統(tǒng)模型的建立,。
在實際研究中,考慮到工程系統(tǒng)存在采樣數(shù)據(jù)處理和數(shù)據(jù)規(guī)范化處理等大量數(shù)值運算和圖形數(shù)據(jù)處理等海量數(shù)據(jù)吞吐等因素,,采用驅(qū)動程序接口技術(shù)進行數(shù)據(jù)庫操作,,以應(yīng)對較高的數(shù)據(jù)庫存取速度需求。
2.2 用戶交互的Applet技術(shù)
 Applet是由Java語言編寫的應(yīng)用程序,,可嵌入瀏覽器中獲取鼠標(biāo),、鍵盤等外設(shè)信息,并對事件做出響應(yīng),。Applet的生命周期包括初始化,、開始、運行和結(jié)束四個階段,,在此過程中始終需要Java運行環(huán)境的支持,。
 (1)Applet技術(shù)特征。在Web瀏覽器環(huán)境中,,HTML文件通過Web服務(wù)裝載Applet程序及相關(guān)資源,,在該文件創(chuàng)建時其內(nèi)部嵌入的Applet程序便開始進入運行狀態(tài),并隨著文件的關(guān)閉,,Applet程序也相應(yīng)結(jié)束運行,。Applet程序不僅可以使用窗口環(huán)境開發(fā)工具建立標(biāo)準(zhǔn)圖形界面,實現(xiàn)人機交互,、系統(tǒng)查詢等功能,,還可以支持JOGL等技術(shù)進行三維圖形的顯示及變換。由于Applet程序基于網(wǎng)絡(luò)進行訪問,,故具有潛在的安全風(fēng)險,。
 (2)Applet系統(tǒng)設(shè)計,。在實際設(shè)計過程中,采用Applet類的子類JApplet類來完成Applet的功能,,使用戶能通過點擊鼠標(biāo),、敲擊鍵盤等活動與系統(tǒng)進行會話。使用JOGL類庫中的GLCanvas類設(shè)置JOGL圖形顯示參數(shù),,并處理JApplet所獲取的用戶事件,,實現(xiàn)JOGL與JApplet的結(jié)合。利用JOGL類庫中的CG,、GL等類繪制工程系統(tǒng)的三維圖形,,并通過接口程序?qū)崿F(xiàn)圖形的旋轉(zhuǎn)、平移,、裁減和光照設(shè)定等操作。在安全方面,,采用JDK1.2的數(shù)字簽名工具設(shè)定Applet程序的安全性,,通過比對網(wǎng)絡(luò)所裝載的數(shù)字簽名和客戶端所持的數(shù)字證書實現(xiàn)程序的安全。
2.3 三維繪制的JOGL技術(shù)
 目前,,比較流行的基于Web瀏覽器的三維可視化工具包括VRML,、X3D及基于Java語言的Java3D和JOGL等。盡管VRML,、X3D均可產(chǎn)生交互式的虛擬現(xiàn)實場景,,但兩者在本質(zhì)上仍屬于數(shù)據(jù)文件,缺乏對可視化算法的直接支持,?;贘ava的Java3D、JOGL不僅能夠像VRML,、X3D一樣支持視景圖形處理,,還能夠支持更高層次的圖形處理。
 (1)JOGL圖形繪制技術(shù),。JOGL是一種建立在OpenGL公共圖形接口基礎(chǔ)上的技術(shù),,是一個被認可的Java對OpenGL的綁定,并得到Java創(chuàng)建者SUN公司和OpenGL創(chuàng)建者SGI公司的共同支持[2],。這就使采用Java開發(fā)的工程系統(tǒng)的三維仿真模型在集成了AWT和Swing等窗口界面的同時,,能夠在硬件直接支持下獲得強大的3D圖形繪制功能。
 (2)基于JOGL的系統(tǒng)設(shè)計,。本研究選擇了JOGL作為基于B/S結(jié)構(gòu)的工程系統(tǒng)的三維可視化仿真技術(shù)的實現(xiàn)手段,,其核心工作過程包括:調(diào)用GLDrawablefactory類創(chuàng)建GLDrawable對象;使用GLDrawable類中createGLCanvas()方法來創(chuàng)建GLCanvas對象,;調(diào)用GLCanvas相應(yīng)方法產(chǎn)生GL對象,;調(diào)用GL的相應(yīng)方法和設(shè)置屬性進行三維顯示的設(shè)置和繪制等,;對GLCanvas添加事件監(jiān)聽接口,以實現(xiàn)用戶對于GLCanvas對象動作的響應(yīng),,并對相應(yīng)的方法進行重載,,實現(xiàn)對鼠標(biāo)和鍵盤的控制,從而進行人機交互,。
3 基于J2EE的真三維可視化仿真實現(xiàn)
 本研究以某地下礦山的工程數(shù)據(jù)為例,,運用上述的系統(tǒng)框架和技術(shù)方法,實現(xiàn)了基于B/S結(jié)構(gòu)和J2EE平臺的地礦工程的真三維可視化仿真系統(tǒng),,包括地表地形,、礦體、井巷工程等三維可視化仿真,,如圖2所示,。

 本文深入地研究了基于J2EE平臺和B/S結(jié)構(gòu)的工程系統(tǒng)的真三維可視化仿真技術(shù),構(gòu)建了基于Web的工程系統(tǒng)的真三維可視化仿真系統(tǒng)框架,,并運用JOGL手段,,以某地下礦山的工程系統(tǒng)為例,實現(xiàn)了基于Web的工程系統(tǒng)的真三維可視化仿真,,開辟了真三維可視化仿真技術(shù)的遠程應(yīng)用的途徑,。
參考文獻
[1] 唐澤圣.三維數(shù)據(jù)場可視化[M].北京:清華大學(xué)出版社,2000.
[2] DAVIS G. Learning Java bindings for OpenGL(JOGL)[M]. Bloomington,, Indiana: AuthorHouse,, 2004.
[3] 黃文靜,唐龍,,唐澤圣.體繪制及三維交互技術(shù)在地質(zhì)數(shù)據(jù)可視化中的應(yīng)用[J].工程圖學(xué)學(xué)報,,1998(3):60-64.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。