<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網(wǎng)站

    搜索

    •  

    最新評(píng)論

    類型:整理?|?來自:86VR?|?作者:雷朝銓,吳偉斌?|?時(shí)間:2005-3-31?|? 點(diǎn)擊: 814

    摘要:  借助EAI 和Script 節(jié)點(diǎn)將Java 和VRML 相結(jié)合,構(gòu)建了一個(gè)三維交互式的虛擬場景,該場景克服了VRML 在交互方面的不足,實(shí)現(xiàn)了用戶與虛擬場景之間以及用戶與用戶之間的交互和共享的功能,并在此基礎(chǔ)上,構(gòu)建了一個(gè)用于計(jì)算機(jī)圖形學(xué)教學(xué)的虛擬場景框架,為VRML 在遠(yuǎn)程教育方面的普及和應(yīng)用做了有益的探索.

    關(guān)鍵詞: VRML ;Java ; EAI ; 交互式;虛擬場景

      虛擬現(xiàn)實(shí)技術(shù)是當(dāng)前國際上的一個(gè)研究熱點(diǎn),是一種逼真的通過各種傳感設(shè)備模擬人在自然環(huán)境中的視、聽、動(dòng)作等行為的人機(jī)界面技術(shù),實(shí)現(xiàn)操作者和環(huán)境直接進(jìn)行自然交互. 該技術(shù)已經(jīng)廣泛地應(yīng)用于軍事、航空航天、醫(yī)學(xué)、建筑設(shè)計(jì)、機(jī)械、地理、化學(xué)等眾多的領(lǐng)域.


      虛擬現(xiàn)實(shí)建模語言(Virtual Reality Modeling Language , 縮寫為VRML) 是一個(gè)開放的、可擴(kuò)充的三維場景描述語言,它描述了如何在World Wide Web 上創(chuàng)建和瀏覽三維虛擬場景. VRML 的構(gòu)思始于1994 年春瑞士日內(nèi)瓦的萬維網(wǎng)(WWW) 的第一屆國際會(huì)議上. 1994 年10 月在芝加哥召開的第二次萬維網(wǎng)會(huì)議上公布了VRML1. 0 的規(guī)范草案,其主要的功能是生成靜態(tài)的3D 場景,以及與HTML 鏈接的一些功能和措施. 1998 年1 月VRML 被ISO 正式批準(zhǔn)為國際標(biāo)準(zhǔn)( ISO/ IEC/ 4772 -1 :1997 , 通常被稱為VRML1997 , 也被稱為VRML2. 0) . VRML2. 0 版將VRML 的靜態(tài)世界改變?yōu)閯?dòng)態(tài)世界,并強(qiáng)化了互動(dòng)功能,此外還增加了動(dòng)畫、傳感器、事件、行為和腳本等功能. VRML 提供了54 個(gè)功能強(qiáng)大的節(jié)點(diǎn)用于描述三維場景中的對(duì)象,能夠利用層次性文件關(guān)系創(chuàng)建任意大的動(dòng)態(tài)境界[ 1 ]. 目前,國內(nèi)在虛擬現(xiàn)實(shí)技術(shù)的應(yīng)用方面除了個(gè)別領(lǐng)域外,基本上還處于探索研究階段,主要是應(yīng)用VRML 的三維建模功能創(chuàng)建一個(gè)用戶可以瀏覽的靜態(tài)三維場景,而在創(chuàng)建動(dòng)態(tài)場景和多用戶場景方面的研究相對(duì)較少. 本文旨在討論使用VRML 與J ava 創(chuàng)建多用戶交互式場景的結(jié)合方法,并給出了系統(tǒng)框架和實(shí)現(xiàn)方法.

    1  VRML 與J ava 相結(jié)合

      VRML 本身并不具備與外部交互的能力,也不能完成普通程序設(shè)計(jì)中的轉(zhuǎn)折、分支、循環(huán)等基本特征,它必須和其他語言相結(jié)合才能構(gòu)造出具備交互能力的三維場景. 為了在虛擬場景中增加和刪除對(duì)象,或者定義動(dòng)畫和對(duì)象的行為功能,一種方法是通過擴(kuò)展Script 節(jié)點(diǎn),利用J avaScript 和J ava 編程提高VRML 的應(yīng)用擴(kuò)展能力[ 2 ] ;另一種方法是使用EA I. Script 節(jié)點(diǎn)本身沒有任何動(dòng)作,其動(dòng)作是由J ava 腳本來實(shí)現(xiàn)的. 然而,應(yīng)用Script 節(jié)點(diǎn)只能按照預(yù)定的規(guī)則改變場景, 無法滿足復(fù)雜的交互操作. 此時(shí), 這里采用EA I(External Authoring Interface : 外部程序接口) 實(shí)現(xiàn)外部應(yīng)用程序與VRML 場景的實(shí)時(shí)交互. EA I 是Silicon Graphics 公司的Chris Marrin 1997 年1 月提出的一種應(yīng)用程序接口,是基于VRML 和J ava 小應(yīng)用(J ava Applet) 之間事件傳遞而提出的規(guī)約,實(shí)現(xiàn)J ava Applet 與VRML 虛擬場景之間的相互通信. EA I 方法依賴于一個(gè)與VRML 瀏覽器相聯(lián)系的Java 包的支持. 該J ava 包由vrml. external. 3 、vrml. external. field. 3 、vrml. external. node. 3 以及vrml. external. exception. 3 四個(gè)部分組成開發(fā)者使用該接口創(chuàng)建的小應(yīng)用程序可以動(dòng)態(tài)地創(chuàng)建、修改和刪除VRML 場景中的節(jié)點(diǎn)[ 3 ]. EA I 允許用以下四種方式訪問VRML 場景: (1) 訪問BSI(Browser Script Interface : 瀏覽器腳本接口) 接口函數(shù); (2) 發(fā)送一個(gè)事件給VRML 場景中節(jié)點(diǎn)的事件入口(event In) ; (3) 讀取從VRML 場景中節(jié)點(diǎn)的事件出口(eventOut) 發(fā)出的最新值; (4) 當(dāng)事件從節(jié)點(diǎn)的事件出口(eventOut) 發(fā)出時(shí),獲得一個(gè)通知,激活callback 方法.

      VRML 場景中任何使用DEF 定義的節(jié)點(diǎn)都可以被J ava Applet 程序所訪問,獲得一個(gè)節(jié)點(diǎn)的句柄后,該節(jié)點(diǎn)的event In 和eventOut 就能被引用. Java Applet 可以監(jiān)視VRML 場景中節(jié)點(diǎn)的改變并能夠在節(jié)點(diǎn)間傳遞事件來直接改變節(jié)點(diǎn)的屬性. 簡單的說,一方面EA I 能把VRML模型的變化傳遞給J ava Applet , 另一方面Java Applet 可以通過EA I 給VRML 傳送各種各樣的事件和信息,控制和改變虛擬場景.

      就功能而言,使用Script 節(jié)點(diǎn)和使用EA I 實(shí)現(xiàn)對(duì)VRML 場景的控制并沒有什么不同. 一般來說對(duì)于單一的VRML 事件實(shí)現(xiàn)交互及運(yùn)算功能可選擇內(nèi)部的Script , 若需集成多種媒體,并進(jìn)行復(fù)雜網(wǎng)絡(luò)控制,則使用EA I 更適宜.

    2  交互式虛擬場景的實(shí)現(xiàn)

    2. 1  系統(tǒng)框架

      一個(gè)基于VRML 和J ava 相結(jié)合的多用戶交互的虛擬場景的框架見圖1.
      圖1  具有多用戶交互、共享功能的虛擬場景框架

      圖1 場景基于客戶機(jī)/ 服務(wù)器模式. 服務(wù)器端包含HTTP 服務(wù)器、場景服務(wù)器和數(shù)據(jù)庫服務(wù)器. HTTP 服務(wù)器負(fù)責(zé)HTML 文件、VRML 文件Java 文件以及其他相關(guān)資源(如聲音、圖片、影像等) 的存儲(chǔ)與傳輸;場景服務(wù)器負(fù)責(zé)用戶的登記和管理,響應(yīng)用戶的請(qǐng)求,將每一個(gè)在線用戶的請(qǐng)求、控制信息加以合成,再以廣播的方式傳送給所有用戶. 數(shù)據(jù)庫存儲(chǔ)所有變動(dòng)對(duì)象的當(dāng)前信息,如當(dāng)一個(gè)新用戶登陸以后,他的化身信息將寫入該數(shù)據(jù)庫,并通過數(shù)據(jù)庫讀取其它對(duì)象的信息,通過EA I 將這些信息在客戶端的虛擬世界中表現(xiàn)出來.

    2. 2  場景交互性的實(shí)現(xiàn)

      虛擬場景的交互性體現(xiàn)在兩個(gè)方面:一是用戶與虛擬場景內(nèi)的虛擬對(duì)象的交互,用戶可以改變場景中虛擬對(duì)象的狀態(tài)、位置,甚至可以對(duì)對(duì)象進(jìn)行添加和刪除操作;二是與其他用戶之間的交互,用戶可以控制替身的行為(如走、跑、轉(zhuǎn)身、舉手等) 和表情,可以看到其他用戶替身狀態(tài)的變化,可以與其他用戶相互交換意見,開展討論、演示,從事虛擬試驗(yàn),合作開發(fā)等. 用戶與虛擬場景的交互是通過在Java Applet 中使用EA I 來實(shí)現(xiàn)的,其處理流程如下:

    (1)Java 通過與VRML 進(jìn)行相互通信,可以獲取虛擬空間的數(shù)據(jù)信息,如替身的狀態(tài)和動(dòng)作,實(shí)體的狀態(tài)等,形成一個(gè)通信數(shù)據(jù)包;
    (2) 各個(gè)節(jié)點(diǎn)通過TCP/ IP 協(xié)議下的Java Socket 機(jī)制進(jìn)行相互連接,將該通信數(shù)據(jù)包通過網(wǎng)絡(luò)實(shí)時(shí)傳輸給各個(gè)節(jié)點(diǎn);
    (3) 當(dāng)某個(gè)節(jié)點(diǎn)接受到相應(yīng)的數(shù)據(jù)包后,Java 可以對(duì)VRML 空間進(jìn)行動(dòng)態(tài)控制,改變3D替身的位置和方向以及實(shí)體的狀態(tài),保持用戶間信息的一致和事件的同步.下面是控制物體平移的部分關(guān)鍵Java 代碼:

    browser = Browser. getBrowser() ;
    // 獲得VRML 瀏覽器(場景) 的句柄
    Node trigon1 = browser. getNode(”TRIGON1”
    );
    // 獲得場景中TRIGON1 對(duì)象的句柄
    translation = (EventinSFNode)trigon1. get Event In(”);
    set-translation”
    // 設(shè)定場景中該節(jié)點(diǎn)準(zhǔn)備接受事件的域
    translation. setValue(xyz)
    // 設(shè)定改變場景中該節(jié)點(diǎn)的事件平移物體

    2. 3  多用戶共享的實(shí)現(xiàn)

      EAI 能夠克服VRML 瀏覽器在用戶接口方面的限制,通過其它的應(yīng)用程序控制虛擬場景,使用戶能夠創(chuàng)建符合自己意圖的虛擬場景,進(jìn)而實(shí)現(xiàn)多個(gè)用戶同時(shí)共享. 用戶在虛擬場景中的交互是以替身的形式實(shí)現(xiàn)的. 這里,替身的定義符合H -Anim1. 0的人物建模標(biāo)準(zhǔn)[5 ]. H-Anim1. 0 標(biāo)準(zhǔn)提供了一個(gè)具有良好的兼容性、靈活性、簡單性的人物模型的構(gòu)造方法,按此標(biāo)準(zhǔn)建立的多用戶共享虛擬場景具有很好的通用性和開放型. 外部程序,如Java Applet , 通常是以事件的形式讀取和控制VRML 場景. 當(dāng)場景中的一個(gè)替身發(fā)生變化或者替身的行為使得虛擬場景發(fā)生了改變,該信息將以事件的形式傳送給服務(wù)器. 服務(wù)器再將接受到的信息以IP 廣播的形式傳送給虛擬場景內(nèi)所有的用戶,同時(shí)將此信息存放在數(shù)據(jù)庫里. 當(dāng)用戶接受到服務(wù)器發(fā)出的信息時(shí), 可以在客戶端直接通過EAI 更改VRML 場景或替身的狀態(tài),這樣在每個(gè)用戶的瀏覽器上可以看到其他人的行為和替身的變化以及由此產(chǎn)生的場景的變化,從而實(shí)現(xiàn)了虛擬場景的多用戶共享.

      另外,當(dāng)多個(gè)用戶進(jìn)行合作開發(fā)或者共同進(jìn)行虛擬實(shí)驗(yàn)時(shí),應(yīng)避免多個(gè)用戶對(duì)同一物體進(jìn)行修改而產(chǎn)生的沖突. 這里引入鎖定機(jī)制避免該沖突,即當(dāng)一個(gè)用戶對(duì)某一物體進(jìn)行控制時(shí),會(huì)向服務(wù)器發(fā)送一個(gè)鎖定請(qǐng)求,此時(shí)該物體不能被其它用戶控制. 只有當(dāng)用戶對(duì)物體解鎖后,其它用戶才能提出另一個(gè)鎖定要求. 控制物體節(jié)點(diǎn)的(ExposedField) touchsensorenabled 域可以實(shí)現(xiàn)對(duì)物體的鎖定與解鎖.

    3  應(yīng)用實(shí)例

      基于以上的分析,這里建立了一個(gè)多用戶交互式用于計(jì)算機(jī)圖形學(xué)遠(yuǎn)程教學(xué)的虛擬場景. 用戶以替身的形式進(jìn)入虛擬場景,當(dāng)用戶點(diǎn)擊不同的變換控制按鈕時(shí),在彈出的窗口中顯示該變換的算法,同時(shí)虛擬場景中圖形也發(fā)生相應(yīng)的變換.用戶則可以自由地在場景中漫游,從不同角度觀察圖形的變換,從而達(dá)到對(duì)不同變換算法加深理解的目的. 目前該系統(tǒng)正處于開發(fā)階段,以上所述圖

    2  用于計(jì)算機(jī)圖形學(xué)教學(xué)的虛擬場景的功能將逐步得以實(shí)現(xiàn). 圖2 是虛擬場景的屏幕拷貝,僅供參考. 本文將Java 與VRML 相結(jié)合,借助EAI 和VRML 的Script 節(jié)點(diǎn)構(gòu)建了一個(gè)三維交互式虛擬場景,提出了系統(tǒng)的整體框架,給出了用戶與虛擬場景以及用戶之間的交互方式,并指出多用戶共享時(shí)應(yīng)注意的沖突問題. 在此基礎(chǔ)上,開發(fā)了一個(gè)具有初步功能的用于計(jì)算機(jī)圖形學(xué)遠(yuǎn)程教學(xué)的虛擬場景,該場景有助于加深學(xué)習(xí)者對(duì)計(jì)算機(jī)圖形學(xué)各種算法的理解.

    參考文獻(xiàn):
    [ 1 ]  VRML97 Specification[ EB/OL ] . ISO/IEC 14772-2 :2002[ S] . http ://www. web3d. org.
    [ 2 ]  賽博科技工作室. VRML 與Java 編程技術(shù)[ M ] . 北京:人民郵電出版社,2002.
    [ 3 ]  H. M. Deitel , P. J . Deitel. 奚紅宇,史曉華,邵 暉譯.JAVA 程序設(shè)計(jì)高級(jí)教程[ M ] . 北京:電子工業(yè)出版社,1999.
    Developing 3D Interactive Virtual Scene with the Combination of VRML and JAVA L EI Chao2quan1 ,WU Wei2bin2 (1. Professional Education Department , Ningde Teachers College , Ningde Fujian 352100 , China ;
    2. Network Info Center ,Quanzhou Normal University ,Fujian 362000 ,China)
    Abstract :By using EAI and Script node , Java and VRML are combined in this paper to develop a 3D interactive virtual scene. This scene overcomes the shortage of VRML in the aspect of interactivity and features the interaction between the user and the virtual scene. And a multi2user shared environment is also realized in this scene. Based on this structure , a frame of the virtual scene is constructed for the computer graphics education.
    Key words :VRML ;Java ; EA I ;interactivity ;virtual scene. 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.



    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-03-19 13:57 小尋 閱讀(2109) 評(píng)論(1)  編輯  收藏 所屬分類: j2se/j2ee/j2me 、多媒體開發(fā)

    FeedBack:
    # re: [轉(zhuǎn)]VRML與JAVA相結(jié)合開發(fā)3D交互式虛擬場景 2008-06-11 21:06 xx
    主站蜘蛛池模板: 成人A片产无码免费视频在线观看| 丝袜足液精子免费视频| 免费少妇a级毛片人成网| a级黄色毛片免费播放视频| 亚洲国产精品日韩在线| www国产亚洲精品久久久日本| 国产又黄又爽胸又大免费视频| 亚洲成年人电影在线观看| 亚洲国产精品日韩| 中文字幕天天躁日日躁狠狠躁免费| 亚洲一区中文字幕| 在线观看亚洲精品国产| 久久99九九国产免费看小说| 四虎精品成人免费视频| 亚洲国产精品自在线一区二区| 女人18毛片a级毛片免费视频| 野花香高清视频在线观看免费| 亚洲依依成人亚洲社区| 亚洲AV无码久久精品蜜桃| 日本不卡视频免费| 黄+色+性+人免费| 两个人的视频www免费| 亚洲欧美综合精品成人导航| 久久精品亚洲日本佐佐木明希| 日韩免费视频一区| 五月婷婷在线免费观看| 9久热精品免费观看视频| 亚洲国产精品18久久久久久| 亚洲色av性色在线观无码| 亚洲综合av永久无码精品一区二区 | 亚洲黄网在线观看| 亚洲午夜精品第一区二区8050| 我要看免费的毛片| 57pao国产成视频免费播放| 好吊色永久免费视频大全 | 亚洲午夜精品在线| 亚洲gv猛男gv无码男同短文| 亚洲AV永久无码精品一区二区国产 | 亚洲成年轻人电影网站www| 亚洲区小说区图片区| 日本免费一区尤物|