摘要:以一個物理電路虛擬實驗系統為基礎,介紹了VRML及其實現原理,并詳細論述了虛擬實驗系統的創建過程和創建方法。
關鍵詞:虛擬現實;VRML;虛擬實驗
0 引言
隨著網絡技術和虛擬現實技術的迅猛發展和普及,遠程教育得
到了強大的技術支持,使網絡虛擬實驗實現了對傳統實驗的有力補允,實現了其時間上的拓展和空間上的延伸。目前的虛擬實驗多為二維演示實驗,在實驗真實感、
交互性和教學效果等方面與真實實驗相差甚遠。VRML(Virtual Reality Modeling Language)是開放的、可擴展的、工業標準的虛擬現實描述語言,它能夠在Web上創建可導航的、超鏈接的三維虛擬現實空間,并使用戶與場景進行實時交互,感知和操作虛擬對象,因而能夠提供更佳的性能和更好的教學效果。
1 虛擬現實與VRML
虛擬現實(Virtual Reality)是一項綜合集成人——機界面交互技術,它利用計算機生成具有表面色彩的立體圖形模擬現實環境,通過多種傳感設備使用戶融入到該環境中,并與該環境中的對象進行自然的、實時的交互,從而使用戶產生一種沉浸在虛擬環境中的真實感覺。
VRML作為一種與互聯網結合,用來描述三維交互世界的程序語言,可應用于創建虛擬現實的對象、景象和展示模型等。VRML的工作原理是用文本信息描述三
維場景,在Internet網上傳輸,在本地機上由VRML瀏覽器解釋生成三維場景,解釋生成的標準規范即是VRML規范,而把復雜的處理任務交給本地機
從而減輕了網路的負荷。
2 實驗系統的設計與實現
2.1 虛擬場景的建立
VRML語言本身可以進行三維建模,但是它的標記語言特性使得建立三維虛擬場景比較麻煩,尤其是對一些龐大、復雜、要求精細逼真的場景。一種比較通用的方
法是用3D Max這樣的三維建模軟件來建立靜態虛擬場景,然后再導入到VRML編輯器中添加動態效果和交互控制。
但是,一般建模軟件建立的場景文件都很大,這對網絡傳輸是不利的,必須進行場景優化。通常我們可以采用以下幾種方法進行優化。
①利用VRML 中的LOD節點(Level of Detail ,細節層次)。LOD節點主要是以視覺效應為每個物體建立多個相似模型,
根據距離由遠及近依次使用從粗到細的不同模型描述物體, 減少不需要的模型細節,
從而加速模型的繪制,達到優化處理的目的。②多使用DEF/USE方式。對于在場景中多次使用的對象,可在對象首次使用時用DEF給物體命名,以后僅需通
過“USE+對象名”即可引用該物體。這種方法不但能夠提高代碼重用度,減少文件體積,還可以減少場景中要繪制的多邊形,提高場景生成速度。③多使用
PROTO原型定義。使用原型可以獲得與DEF/USE方式相同效果,此外它還有動畫效果,能進行交互控制,其使用更為靈活,功能更為強大。④復雜模型盡
可能用簡單模型拼裝。用布爾運算得到的復雜模型不利于修改和貼圖,為此可用Box、Cone、Cylinder、Sphere這些簡單模型來構建復雜模
型,這樣既可以節省在網絡中的傳輸時間,也有利于瀏覽器的優化。⑤利用壓縮工具壓縮VRML文件。在VRML的構建過程中難免會出現一些冗余信息,通過壓
縮工具,可以刪掉冗余空間,減少文件體積。
2.2 自動演示功能實現 自動演示功能主要用來演示實驗的全過程,以幫助用戶了解實驗。例如,本系統中的一個基本實驗就是通過電源開關的開、合控制燈泡的亮滅。自動演示功能可利用預定義動畫來實現,這主要涉及下面的幾個功能節點。
①傳感器Sensor。傳感器是虛擬場景中的動作感知器,利用它來感知場景中各種物體的動作。本例中可以為電源開關添加感知鼠標單擊動作的接觸傳感器
TouchSensor和自動時間控制的時間傳感器TimeSensor。②插補器Interpolator。插補器是實現動畫效果必不可少的節點,它給
出了動畫過程中各個時刻變化量的參數值。電源開關的開合和電流表指針的轉動都是旋轉運動,可以為它們添加插補器
OrientationInterpolator,而燈泡亮度的變化要由顏色插補器ColorInterpolator來實現。③ROUTE命令。
ROUTE命令根據動畫響應的順序將各傳感器、插補器、以及要控制的節點串連起來共同實現一個效果。
2.3
使用java script實現交互功能
交互功能要求系統根據用戶對場景中不同節點的操作做出不同的響應,這就不能通過預定義的方式來實現,而必須采用更復雜的程序代碼進行處理。VRML中常用
的腳本語言是JavaScrip。此外,對于一些需要與網頁進行信息傳遞的場景,還可以利用網頁中的Java
Applet來實現更為復雜的控制功能。Java EAI(External Authoring
Interface,外部創作接口)是增強VRML場景與外部環境通信聯系和融合能力的一個高層次的Java類包,它使得外部的Java
Applet程序可以利用VRML的事件模型訪問和控制VRML場景中的節點。
本例中采用java script腳本的形式進行代碼編程來判斷電源開關開、合狀態并確定其轉向動畫。最后腳本代碼要用ROUTE命令與相關傳感器、插補器、和節點串連起來,形成一條動畫通路。
2.4 將VRML場景嵌入網頁
利用HTML語言的EMBED元素可以實現VRML和HTML語言的結合。網頁中嵌入虛擬場景文件,能將三維立體信息和二維平面信息融合在同一個網頁之
中,網頁部分既可以對三維立體場景進行解釋、說明,又能夠作為用戶與場景交互的界面,彌補三維場景在文本方面的不足。
3 結束語
VRML語言具有交互性、分布式、場景逼真、易于實現等特性,是開發基于Internet虛擬實驗系統的首選。利用VRML構建的虛擬實驗系統能夠模擬出
逼真的實驗場景,并提供與實際實驗相似的實踐體驗,不但可以提高實驗的效率和效果,拓寬學生實驗學習的途徑,而且能夠更好地完善實驗教學的結構,激發學生
的創造性思維。
參考文獻:
[1]吳春華.虛擬實驗教學在現代遠程教育中的應用研究[D]. 長沙:中南大學,2006.
[2]張紅軍,吳志剛.VRML與JAVA在網絡虛擬實驗中應用[J]. 實驗室研究與探索,2006,25(9):1081-1085
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除! 快速論文發表網(www.6scc.cn)本中心和國內數百家期刊雜志社有良好的合作關系,可以幫客戶代發論文投稿.
投稿郵箱:ksfbw@126.com
客服Q Q:
82702382
聯系電話:15295038833
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除!