亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        采用JOGL的WEB虛擬漫游

        2011-03-23 09:30:52黎國進(jìn)陳定方
        關(guān)鍵詞:示意圖設(shè)置用戶

        黎國進(jìn),陳 杰,李 佳,陳定方

        (武漢理工大學(xué)智能制造與控制研究所,湖北 武漢 430063)

        虛擬漫游技術(shù)作為虛擬現(xiàn)實(shí)(VR)技術(shù)的重要分支,在建筑、觀光旅游、游戲、航空航天、醫(yī)學(xué),軍事演練等多種行業(yè)中得到廣泛應(yīng)用.在漫游場景中加入圖像、聲音、視頻等多媒體,其強(qiáng)烈的沉浸感、交互性和構(gòu)想性給用戶一種身臨其境的感覺.JOGL對(duì)OpenGL 2.0規(guī)范中的API提供全面的支持,而且還集成了Java AWT和Java Swing界面組件[1].由于得到Sun公司和SGI的大力支持,以及Java平臺(tái)自身的優(yōu)勢(shì),JOGL作為3D圖形開發(fā)庫得到了廣泛的運(yùn)用.

        1 JOGL安裝及環(huán)境配置

        1.1 Java SDK(JDK)的安裝

        根據(jù)所用的操作系統(tǒng)平臺(tái),下載與之匹配的最新JDK.

        1.2 安裝JOGL

        對(duì)于Windows用戶,下載 JOGLl-1.1.1-windows-i586.zip;環(huán)境配置(以 Windows用戶為例)過程如下:首先解壓JOGLl-1.1.1-windows-i586.zip,得到ext和lib.然后將lib文件夾中的DLL文件復(fù)制并存放于C: JAVA WORKSPACE JOGL1DLL中.將lib文件夾添加到系統(tǒng)PATH環(huán)境變量中,例如:C: JAVA WORKSPACE lib;將 lib文件夾中的jogl.jar,gluegen-rt.jar這兩個(gè)Jar包的絕對(duì)路徑添加到系統(tǒng)CLASSPATH環(huán)境變量中.

        1.3 安裝Java IDE

        本文采用MyEclipse8.6版本作為軟件開發(fā)環(huán)境.項(xiàng)目環(huán)境配置(以Windows用戶為例)如下.

        1)新建一個(gè)工程:File※new※Java Project※在Project Name文本框中輸入工程名.

        2)點(diǎn)擊Next,對(duì)Java編譯環(huán)境進(jìn)行設(shè)置.Libraries※Add External JARS※打開C: JAVA WORKSPACE jar1文件夾中的二個(gè)Jar包※Order and Export※點(diǎn)擊Select All※點(diǎn)擊Finished.

        3)點(diǎn)擊工程名,右鍵※Properties※Java Build Path※Source※點(diǎn)擊工程名/src※選中Native library location※Link Source※Browse※選中 C:JAVA WORKSPACE JOGL1DLL文件夾※OK.

        2 虛擬環(huán)境的實(shí)現(xiàn)

        2.1 Opengl場景渲染的實(shí)現(xiàn)

        Opengl由兩個(gè)庫組成——GL和GLU(Opengl Utility Library).GL庫包含了提供基本圖形特征的核心函數(shù);GLU庫包含了高級(jí)別的基于GL函數(shù)的應(yīng)用函數(shù)[2].

        JOGL提供GL和GLU兩個(gè)類來封裝Opengl的GL和GLU函數(shù).組件GLCanvas和GLJPanel為Opengl函數(shù)調(diào)用提供繪制表面.GLCanvas是重量級(jí)組件,能夠啟動(dòng)使用硬件加速功能.GLJPanel是在系統(tǒng)內(nèi)存中實(shí)現(xiàn)的輕量級(jí)組件,不能使用硬件加速功能[2].在此采用GLCanvas畫布組件.實(shí)現(xiàn)過程如下:1)在Applet的init方法中聲明一個(gè)GLCanvas畫布實(shí)例對(duì)象并設(shè)置其相關(guān)屬性;2)為畫布對(duì)象添加GLEventListener監(jiān)聽器;3)新建一個(gè)類,實(shí)現(xiàn)GLEventListener接口中的init,display,reshape,displayChange等4個(gè)方法,在init方法中獲取gl,glu等實(shí)例對(duì)象并設(shè)置場景渲染的相關(guān)屬性,在display方法中繪制場景和顯示模型.

        2.2 漫游場景的構(gòu)建

        采用類似于OSG中的包圍體來實(shí)現(xiàn)漫游的范圍.包圍體的6個(gè)面分別為6張紋理圖片.裝載紋理圖片的核心代碼如下:

        2.3 人機(jī)交互

        人機(jī)交互技術(shù)是虛擬現(xiàn)實(shí)技術(shù)的一個(gè)重要分支,在漫游場景中,可以實(shí)現(xiàn)虛攝像機(jī)的前進(jìn)、后退、旋轉(zhuǎn)、仰視、俯視等操作.

        通過調(diào)用GLU類的gluLookAt(

        double eyeX,double eyeY,double eyeZ,

        double atX,double atY,double atZ,

        double upX,double upY,double upZ)方法設(shè)置虛擬攝像機(jī)的屬性.

        其中:eyeX,eyeY,eyeZ表示虛擬攝像機(jī)的位置;atX,atY,atZ表示虛擬像機(jī)所“看”的點(diǎn)的坐標(biāo);upX,upY,upZ表示虛擬攝像機(jī)的觀察方向——倒立,正立或者從某一個(gè)角度進(jìn)行觀察.其示意圖如圖

        1、2 所示[3].

        圖1 gluLookAt函數(shù)示意圖

        與gluLookAt函數(shù)共同作用于虛擬像機(jī)的還有g(shù)luPerspective(

        GLdouble fovy,//設(shè)置虛擬像機(jī)的視界范圍

        GLdouble aspect,//窗體的縱橫比

        GLdouble zNear,//視野近點(diǎn)透視深度

        GLdouble zFar//視野遠(yuǎn)點(diǎn)透視深度

        )方法.

        通過實(shí)現(xiàn)KeyListener接口,對(duì)窗體添加鍵盤監(jiān)聽事件,即可通過鍵盤對(duì)虛擬攝像機(jī)的位置、視點(diǎn)、觀察角度予以變換,實(shí)現(xiàn)交互式虛擬漫游.

        圖2 gluPerspective函數(shù)示意圖

        2.4 Java Applet設(shè)置

        Java Applet即Java小應(yīng)用程序,在瀏覽器中運(yùn)行,能處理圖像、聲音、動(dòng)畫等多媒體數(shù)據(jù).當(dāng)用戶訪問這樣的網(wǎng)頁時(shí),Applet被自動(dòng)下載到本機(jī).采用Java Applet技術(shù),將Opengl所渲染的場景在瀏覽器中顯示(圖3).其設(shè)置如下:1)編譯源程序;2)將所有的字節(jié)碼文件生成一個(gè)Jar包;3)對(duì)程序中用到的兩個(gè)Jar包以及生成的joglApplet.jar包進(jìn)行數(shù)字簽名;4)在字節(jié)碼文件中新建一個(gè)Html文件,將applet標(biāo)簽加入到文件中,代碼如下

        .

        圖3 程序在瀏覽器中運(yùn)行示意圖

        [1]李貽斌,牟龍芳.基于JOGL的關(guān)節(jié)機(jī)器人仿真[J].蘇州市職業(yè)大學(xué)學(xué)報(bào),2008,19(1):53-56.

        [2]Liang Y D,Zhang H.計(jì)算機(jī)圖形學(xué)應(yīng)用Java 2D和3D[M].孫正興,張 巖,蔣 維,等譯.北京:機(jī)械工業(yè)出版社,2008.

        [3]Davis G.Learning Java Binding for Opengl[EB/OL][2011-03-03].http://alvarestech.com/temp/capp/0steptools/0booksmaio-20-2011/Learning% 20Java%20Bindings%20for%20OpenGL%20-%20Gene%20Davis.pdf.

        猜你喜歡
        示意圖設(shè)置用戶
        中隊(duì)崗位該如何設(shè)置
        先畫示意圖再解答問題
        黔西南州旅游示意圖
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        本刊欄目設(shè)置說明
        兩張圖讀懂“青年之聲”
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        如何獲取一億海外用戶
        国产人妻久久精品二区三区老狼 | 亚洲精品中文字幕乱码三区99| 精品一区中文字幕在线观看| 在线观看免费不卡网站| 久久一道精品一区三区| 国产大片内射1区2区| 国产成人精品日本亚洲11| 亚洲AV无码未成人网站久久精品| 元码人妻精品一区二区三区9 | 日韩在线视精品在亚洲| 91在线视频视频在线| 亚洲av专区国产一区| 激情综合丁香五月| 久草视频国产| 久久国产亚洲av高清色| 久久久亚洲免费视频网| 人人爽久久久噜人人看| 国产揄拍国产精品| 亚洲国产一区二区三区网| 亚洲va成无码人在线观看| 日韩国产精品一区二区三区| 国产精品成人无码久久久久久| 日本少妇被黑人xxxxx| 国产高清a| 亚洲av色图一区二区三区| 久久久久亚洲av成人网人人网站| 色丁香在线观看| 亚洲伊人免费综合网站| 国产乱子伦一区二区三区国色天香| 亚洲人成影院在线无码按摩店| 国产一女三男3p免费视频| 麻豆精品网站国产乱子伦| 中文字幕高清一区二区| 久久久久久久久无码精品亚洲日韩| 中文字幕乱伦视频| 2017天天爽夜夜爽精品视频| av免费在线播放一区二区| 白嫩人妻少妇偷人精品| a级毛片100部免费看| 免费99视频| 日本一区二区三区在线观看免费 |