• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      三維虛擬實驗系統(tǒng)開發(fā)軟件的交互方式研究

      2009-07-24 08:51:42李凌云
      中國教育信息化 2009年6期
      關(guān)鍵詞:交互虛擬現(xiàn)實

      李凌云

      摘要:文章對現(xiàn)有的虛擬實驗系統(tǒng)存在的問題作了簡要分析,指出三維虛擬實驗系統(tǒng)研究的意義。對VRML語言及其特點進行了闡述,介紹了開發(fā)三維虛擬實驗系統(tǒng)中軟件的三種常用交互方式,并指出各種交互方式的優(yōu)缺點。

      關(guān)鍵詞:虛擬現(xiàn)實 交互 VRML Java Matlab/Simulink

      中圖分類號:TP311.52 文獻標識碼:A 文章編號:1673-8454(2009)11-0038-03

      一、引言

      實驗教學(xué)不僅能幫助學(xué)生形成正確的概念,加深對規(guī)律的理解,而且與課堂理論教學(xué)相比,實驗課程為培養(yǎng)和提高學(xué)生的動手能力、研究能力、創(chuàng)新意識提供了較好的途徑。因此,實驗課程在學(xué)科教學(xué)中具有不可替代的作用。隨著高等教育的普及,對實驗資源的需求與目前存在的實驗條件不足之間的矛盾日益突出。虛擬實驗系統(tǒng)的出現(xiàn),很好地解決了這一問題。但是,目前現(xiàn)有的虛擬實驗系統(tǒng)主要存在以下問題:

      (1)呈現(xiàn)方式上以提供實驗的文字和圖片資料為主。這些文字和圖片資料涉及實驗原理、實驗方法、實驗儀器的介紹,學(xué)生更多的只是停留在“看”的層次上,這在一定程度上不能激發(fā)學(xué)生學(xué)習的興趣,不利于實驗動手能力的培養(yǎng)。

      (2)用戶與虛擬實驗的交互性不強。虛擬實驗系統(tǒng)多以提供實驗操作過程的視頻和動畫為主,主要呈現(xiàn)演示型實驗,學(xué)生參與實驗操作較少。

      (3)實驗結(jié)果多以靜態(tài)圖像形式呈現(xiàn),這在一定程度上影響了實驗者的沉浸感。

      虛擬現(xiàn)實(Virtual Reality)技術(shù)的發(fā)展,為利用虛擬實驗系統(tǒng)開展教學(xué)注入了新的活力。虛擬現(xiàn)實技術(shù)能為學(xué)生提供生動、逼真的三維學(xué)習環(huán)境, 學(xué)生作為一名參與者操縱該環(huán)境中的實驗對象。該虛擬環(huán)境具有豐富的媒體表現(xiàn)形式、增強的現(xiàn)實感,這對調(diào)動學(xué)生的學(xué)習積極性, 突破教學(xué)的重點、難點,培養(yǎng)學(xué)生的技能將起到積極的作用。虛擬現(xiàn)實建模語言VRML(Virtual Reality Modeling Language)是一種用于描述三維物體及其行為的建模語言,它可以構(gòu)建虛擬世界,并集成文本、圖像、音響、MPEG 影像等多種媒體類型。在VRML中雖然可以嵌入Vrmlscript、Javascript 等語言編寫的程序代碼,但它本身并沒有直接和用戶進行交互的能力,需要與其他語言結(jié)合才能實現(xiàn)三維場景和用戶交互的要求。因此,為了構(gòu)建功能強大的三維虛擬實驗系統(tǒng),有必要對現(xiàn)階段VRML語言與其他軟件的交互方式進行探討。

      二、虛擬現(xiàn)實建模語言及其特點

      VRML是一種三維場景的描述性語言,使用它能在Web上創(chuàng)建可導(dǎo)航的、超鏈接的三維虛擬現(xiàn)實空間。虛擬現(xiàn)實建模語言的出現(xiàn),改變了Web頁面限于二維空間的表達方式,創(chuàng)造了交互式瀏覽的三維空間。VRML并不是用三維坐標點的數(shù)據(jù)來描述三維物體的,而是用類似HTML標記文本語言來描述三維場景。它以靈活多樣的方式將二維、三維圖形和動畫、影片、聲響、音樂等多種效果調(diào)和在一起,具有對內(nèi)的樹型場景結(jié)構(gòu)和對外的分布式場景結(jié)構(gòu),提供了可重用的節(jié)點和原型,便于建模。用戶在場景中可以根據(jù)不同的視點巡視,有很大的自由度。[1]VRML文件包括兩大部分,場景描述部分和動態(tài)交互處理部分。場景描述部分主要通過造型(shape)結(jié)點定義了對象的幾何尺寸、材質(zhì)紋理,通過組(Group)結(jié)點將各個對象按一定的結(jié)構(gòu)組織為場景,通過光照及聲音結(jié)點在場景中模仿對象的自然特性。動態(tài)交互處理部分主要通過傳感器(Sensor)結(jié)點感知用戶與對象的交互,插值器(Interpolator)結(jié)點實現(xiàn)類似關(guān)鍵幀技術(shù)的插值動畫,Script結(jié)點是VRML與Java、JavaScript等語言的接口,通過Script結(jié)點與其他語言的結(jié)合,能擴展VRML的功能。[2]VRML有以下特點:

      1.C/S的工作模式和平臺無關(guān)性。VRML的訪問方式是基于C/S模式的,其中服務(wù)器提供VRML文件及圖像、視頻、聲音等支持資源,客戶通過網(wǎng)絡(luò)下載希望訪問的文件,并通過本地平臺上的VRML瀏覽器交互式地訪問該文件描述的虛擬世界。由于瀏覽器是本地平臺提供的,從而實現(xiàn)了平臺無關(guān)性。

      2.實時3D圖形渲染。實時3D著色引擎在VRML中得到了更好的體現(xiàn)。

      3.網(wǎng)絡(luò)傳輸容易。VRML適合于計算機網(wǎng)絡(luò)的傳輸,并不要求很高的網(wǎng)絡(luò)傳輸帶寬,而且圖形生成的工作可以放在性能要求不高的客戶機上。

      4.VRML具有可伸縮性。首先對于 VRML 瀏覽器來說,從理論上講,應(yīng)能處理由數(shù)億個對象組成的分布在 Internet 上的場景。其次,VRML在高、低檔的機器上都應(yīng)該工作得很好,它允許瀏覽器為了提高性能而降低圖像或仿真質(zhì)量,而在硬件性能增強時質(zhì)量可以變得更好。第三,VRML場景可以相對于網(wǎng)絡(luò)性能而伸縮。

      三、三維虛擬實驗系統(tǒng)開發(fā)軟件的三種交互

      雖然VRML語言具有以上優(yōu)點,但由于他本身缺乏直接和用戶進行交互的能力, 所以在開發(fā)三維虛擬實驗系統(tǒng)時,常常需要將他與其他語言相結(jié)合。針對目前常用的三維虛擬實驗系統(tǒng)開發(fā)技術(shù),筆者對三種交互方式進行了分析。

      1.VRML與Java交互

      VRML作為面向?qū)ο蟮慕UZ言,長于表達三維物體的靜態(tài)特征,但其VRML本身不具有與外部交互的能力,它必須和其他語言相結(jié)合才能構(gòu)造出具備交互能力的三維場景。為了實現(xiàn)與外界更復(fù)雜的交互,VRML2.0標準提供了兩種擴展VRML并和外部程序?qū)崿F(xiàn)連接的機制,一種是通過Script節(jié)點完成復(fù)雜的交互過程,另一種是通過外部編程接口EAI實現(xiàn)。

      (1)通過Script節(jié)點與外部交互

      Script節(jié)點本身沒有任何動作,其動作是由程序腳本來實現(xiàn)的,它是VRML與其他編程語言的接口。內(nèi)嵌在Script節(jié)點中的程序腳本可用JavaScript 和Java 編寫,其交互過程是,Script節(jié)點通過eventIn接口將事件傳至Script節(jié)點中的程序腳本;瀏覽器就立即調(diào)用內(nèi)嵌程序腳本將事件進行處理;被加工的信息由Script節(jié)點的eventOut字段將結(jié)果送出。

      VRML瀏覽器捆綁了用于VRML編程的Java類包,該VRML類包主要包括vrml,vrml.node,vrml.field,還有一個可以操縱瀏覽器狀態(tài)的Browser類。通過調(diào)用這些類包,Java程序可以實現(xiàn)與VRML場景的交互。雖然利用Script節(jié)點可以實現(xiàn)瀏覽者與VRML場景的動態(tài)交互,但這種交互只能按預(yù)先設(shè)定的狀態(tài)進行,如果要在外界與VRML場景之間進行信息交流,Script 節(jié)點就顯得力不能及了。

      (2)通過EAI與外部交互

      EAI(External Authoring Interface)是VRML2.0提供的介于VRML世界與外部環(huán)境的編程接口,通過此接口VRML場景可以和與其嵌在同一網(wǎng)頁上的Java Applet程序進行交互。Java Applet可以監(jiān)視VRML場景事件,并能夠在節(jié)點間傳遞事件,實現(xiàn)VRML節(jié)點的動態(tài)增加和刪除,同時可以在瀏覽者與VRML場景間傳遞信息,從而大大提高了外界與VRML場景的交互能力。VRML的EAI接口定義了一套針對VRML瀏覽器的Java類包,它由三部分組成:vrml.external,vrml.external.field,vrml.external.exception。

      EAI在Java Applet與VRML場景進行通訊時,首先需要獲取Browser類的實例, 通過調(diào)用封裝在vrml.external包中的Browser類的靜態(tài)方法getBrowser( )來實現(xiàn),在Java Applet中建立Browser對象后即標識了一個VRML場景。Browser類包含獲取當前瀏覽器環(huán)境信息的各種方法,其中通過調(diào)用getNode( )方法直接獲得VRML場景中使用DEF關(guān)鍵字定義的節(jié)點對象,調(diào)用getEvent In( )、getEvent Out( )方法獲得訪問節(jié)點的入事件、出事件。

      眾多學(xué)者對利用VRML與Java技術(shù)混合開發(fā)的三維虛擬實驗系統(tǒng)進行了研究。如金俠杰等人基于VRML技術(shù)與Java技術(shù)開發(fā)了網(wǎng)絡(luò)交互式虛擬裝配環(huán)境;池建斌等人通過VRML外部編程接口EAI及內(nèi)嵌腳本節(jié)點編程,實現(xiàn)了二級圓柱齒輪減速器虛擬拆裝系統(tǒng);吳波等人基于VRML與Java技術(shù)在工程設(shè)計領(lǐng)域的應(yīng)用進行了研究,提出一種新型的Web環(huán)境下3D交互仿真結(jié)構(gòu),復(fù)雜的運算和仿真在服務(wù)器上進行,從而實現(xiàn)服務(wù)器端裝配模型和客戶端顯示模型的分離,并在此基礎(chǔ)之上提出協(xié)同環(huán)境開發(fā)的系統(tǒng)結(jié)構(gòu)。[3][4][5] 此外,楊雨標等運用VRML與Java技術(shù)在微機上進行機器人運動仿真。 [6] 分析以上系統(tǒng)發(fā)現(xiàn),VRML技術(shù)與Java技術(shù)相結(jié)合實現(xiàn)三維虛擬實驗系統(tǒng)具有較強的三維立體感和交互性,常用于虛擬裝配及其他工程設(shè)計領(lǐng)域。

      2.VRML與Matlab/Simulink交互

      利用Matlab提供的虛擬現(xiàn)實工具箱,可以實現(xiàn)和VRML程序的直接交互。虛擬現(xiàn)實工具箱是Matlab 6.X版新增加的工具箱,能在一個三維虛擬現(xiàn)實環(huán)境中進行可視化操作和與動態(tài)系統(tǒng)進行交互提供一種有效的解決方案,這些動態(tài)系統(tǒng)用Matlab和Simulink來描述。[7] 虛擬現(xiàn)實工具箱拓展了Matlab和Simulink處理虛擬現(xiàn)實圖像的能力。使用標準的VRML技術(shù),可以通過Matlab和Simulink環(huán)境生成三維場景。

      虛擬現(xiàn)實工具箱可以在Matlab接口和Simulink接口兩種環(huán)境中運行,而Simulink接口更直接、更容易使用,很容易通過圖形用戶界面進行交互,因而可能是更適合的工作方式。通過Simulink這一接口,可以在一個虛擬的三維模型中觀察動態(tài)系統(tǒng)的模擬。一旦在Simulink對話框中包含了虛擬現(xiàn)實模塊,就可以選擇與Simulink信號連接的虛擬世界。所有VRML節(jié)點的屬性分別列在等級樹樣式的觀察窗口中,可以選擇控制的自由度。當關(guān)閉接口對話框后,虛擬現(xiàn)實工具箱模塊自動更新在虛擬世界中與選擇節(jié)點有關(guān)的輸入和輸出。當連接這些輸入到一定的Simulink信號上時,就可以在一個支持VRML的瀏覽器中觀察可視化的模擬。

      使用Matlab的虛擬現(xiàn)實工具箱開發(fā)三維虛擬實驗系統(tǒng)具有以下特點:(1)利用Matlab虛擬現(xiàn)實工具箱,能夠?qū)⒖菰锏腣RML編程變?yōu)榭梢暬幊?,簡化了虛擬場景的設(shè)計。(2)Matlab /Simulink是專用的計算軟件,在實驗數(shù)據(jù)計算方面表現(xiàn)出極強的優(yōu)勢。(3)通過Simulink接口,很容易實現(xiàn)與三維圖形用戶界面的交互。但是如果在本地機上使用實驗系統(tǒng),需要在本地機上安裝Matlab/Simulink、虛擬現(xiàn)實工具箱以及VRML編輯器、Web瀏覽器和VRML插件。如果本地機上不能安裝Matlab/Simulink,用戶也可以通過遠程機來觀察和控制三維虛擬世界。當然,要求遠程機上所有的組成部分都需要支持標準的VRML97軟件。通過Matlab Web Server功能也可以實現(xiàn)三維虛擬實驗環(huán)境的遠程訪問。用戶可以通過客戶端瀏覽器瀏覽包含有虛擬場景和相應(yīng)表單的頁面,瀏覽虛擬實驗場景的同時可以在表單中修改實驗參數(shù),點擊發(fā)送后,客戶端的參數(shù)通過HTTP協(xié)議傳送給Web服務(wù)器, 由matweb.exe將參數(shù)提取出來,再傳送給指定的M文件。該M文件對matweb傳送來的數(shù)據(jù)進行運算后傳送到Simulink仿真模型中去,以改變虛擬場景的運行。

      3.VRML、Java以及Matlab三者交互

      使用VRML、Java以及Matlab軟件混合開發(fā)的三維虛擬實驗系統(tǒng)主要有兩種,一是針對Matlab虛擬現(xiàn)實工具箱與VRML程序交互的局限性,采用Java編程擴展Matlab虛擬現(xiàn)實可視化交互功能。這種方案結(jié)合了前兩種交互方式的優(yōu)點,有效地運用Matlab虛擬現(xiàn)實工具箱實用的建模環(huán)境和Java 擴展的人機交互性,在三維虛擬實驗系統(tǒng)開發(fā)中具有廣闊的應(yīng)用前景。二是直接采用VRML、Java以及Matlab/Simulink三種軟件之間的接口編程。采用Java Applet程序和VRML構(gòu)建的3D場景實現(xiàn)用戶界面,利用Java套接字,通過部署在客戶端的Java Applet和服務(wù)器端Java應(yīng)用程序?qū)崿F(xiàn)客戶端與服務(wù)器端的傳輸。運用Matlab/Simulink進行實驗建模和運算,并利用Matlab的COM接口實現(xiàn)與服務(wù)器端的Java連接,將客戶端實驗參數(shù)傳送到Matlab/Simulink中進行仿真運算,運算結(jié)束后再將實驗結(jié)果傳送回客戶端。該方案采用B/S結(jié)構(gòu),滿足了網(wǎng)絡(luò)實驗教學(xué)的需要??蛻舳酥恍枰粋€集成Java虛擬機的瀏覽器即可運行實驗,同時由于網(wǎng)絡(luò)虛擬實驗內(nèi)容存放在服務(wù)器端,易于實驗功能擴展和管理。此外,該方案特別適用于復(fù)雜實驗?zāi)P偷姆抡妗?/p>

      使用VRML、Java以及Matlab軟件開發(fā)的三維虛擬實驗系統(tǒng)具有以下優(yōu)點,在呈現(xiàn)方式上采用3D技術(shù),豐富了媒體的表現(xiàn)形式,增強了學(xué)生實驗的臨境感;由于實驗?zāi)P偷挠嬎悴捎玫氖菍S玫挠嬎丬浖?,在實驗?shù)據(jù)計算方面也表現(xiàn)出極強的優(yōu)勢;系統(tǒng)能根據(jù)實驗數(shù)據(jù)動態(tài)地顯示三維實驗?zāi)P偷倪\動,并以相圖等形式呈現(xiàn)實驗結(jié)果。實驗過程和實驗結(jié)果的直觀化、形象化,能夠促進學(xué)生對實驗的深入探究,提高其問題解決能力。

      四、結(jié)束語

      三維虛擬實驗系統(tǒng)拓展了實驗教學(xué)的時間和空間,提高了教學(xué)效率,不僅可以作為課堂實驗教學(xué)的補充,而且為遠程教育中實驗教學(xué)的開展注入了新的活力,因而具有良好的應(yīng)用前景。本文介紹了三維虛擬實驗系統(tǒng)開發(fā)過程中常用軟件的三種交互方式,對各種交互方式進行了分析,希望對廣大開發(fā)者有所啟發(fā)。?筅

      參考文獻:

      [1]汪興謙.VRML與JAVA編程實例講解[M].北京:中國水利水電出版社,2002:7-12.

      [2]黃鐵軍,柳鍵編譯.VRML國際標準與應(yīng)用指南[M].北京:電子工業(yè)出版社,1999:5-9 .

      [3]金俠杰,邢科禮,林財興.基于VRML-JAVA 的網(wǎng)絡(luò)交互式虛擬裝配環(huán)境構(gòu)建[J].計算機仿真,2004(10):126-129.

      [4]池建斌,郭海新,王晨,馮桂珍.基于VRML-JAVA的減速器虛擬拆裝系統(tǒng)的實現(xiàn)[J].工程圖學(xué)學(xué)報, 2008,(2):48-53.

      [5]吳波,周之平,張颯兵,吳介一.基于VRML-JAVA的虛擬現(xiàn)實及其協(xié)同環(huán)境的開發(fā)[J].計算機工程與應(yīng)用,2004(7):136-138.

      [6]楊雨標,何漢武.基于VRML-JAVA的機器人運動仿真研究[J].機械科學(xué)與技術(shù),2004,23(1):120-126.

      [7]張家祥,方凌江,毛全勝.基于MATLAB 6.X的系統(tǒng)分析與設(shè)計[M].西安電子科技大學(xué)出版社,2002:40-112.

      猜你喜歡
      交互虛擬現(xiàn)實
      風口上的虛擬現(xiàn)實
      商周刊(2017年24期)2017-02-02 01:42:55
      虛擬現(xiàn)實技術(shù)向科幻小說借靈感
      海外星云(2016年7期)2016-12-01 04:18:00
      淺析色彩在人機交互界面中的作用
      基于圖形用戶界面的多點觸控交互技術(shù)綜述
      虛擬現(xiàn)實技術(shù)概論
      科技視界(2016年11期)2016-05-23 11:28:14
      關(guān)于信息化教育模式的大學(xué)教育變革的探討
      科技視界(2016年5期)2016-02-22 12:54:54
      HTC斥資千萬美元入股虛擬現(xiàn)實設(shè)備商WEVR
      IT時代周刊(2015年8期)2015-11-11 05:50:37
      淺談虛擬現(xiàn)實
      青岛市| 昌邑市| 尚志市| 栖霞市| 柘荣县| 韶关市| 长岭县| 尼木县| 桃源县| 玛曲县| 道真| 芜湖市| 高清| 黔西县| 怀柔区| 大丰市| 江门市| 张家港市| 永川市| 清水县| 株洲县| 宿州市| 无锡市| 上饶县| 顺昌县| 中超| 朝阳市| 广宗县| 德令哈市| 东阿县| 旌德县| 昂仁县| 辉南县| 烟台市| 平乐县| 定远县| 出国| 富蕴县| 蒙自县| 东光县| 中牟县|