陳強(qiáng)等
摘 要:虛擬實驗室為實驗教學(xué)提供了新的形式,VRML語言為開發(fā)網(wǎng)絡(luò)虛擬實驗室提供了經(jīng)濟(jì)有效的手段?;赩RML技術(shù)的虛擬實驗室可提高教學(xué)效率、降低教學(xué)成本。本文主要介紹了VRML語言,提出了使用VRML技術(shù)開發(fā)虛擬實驗室的結(jié)構(gòu)類型和實現(xiàn)方法,希望使其成為一種有效的輔助實驗教學(xué)手段。
關(guān)鍵詞:VRML;虛擬實驗室;虛擬環(huán)境;交互控制
在世界范圍內(nèi),網(wǎng)絡(luò)時代信息化的到來正在進(jìn)一步推動高等教育的發(fā)展。遠(yuǎn)程教育的廣泛興起,使得校園的圍墻逐漸消失,學(xué)生對教師面對面授課的依賴性也逐步降低,傳統(tǒng)的課堂教學(xué)受到挑戰(zhàn)。網(wǎng)上虛擬課堂的新型教學(xué)模式已悄然而至。
實驗是許多課程教學(xué)活動中一個不可或缺的環(huán)節(jié)。遠(yuǎn)程教育中,理論知識的教學(xué)形式比較成熟,但是實驗教學(xué)卻存在著困難。許多實驗只能通過觀看演示錄像的方式進(jìn)行,甚至根本不安排實驗環(huán)節(jié),這不可避免地造成了理論與實踐脫節(jié),影響學(xué)生對所學(xué)理論知識的理解和掌握。正基于此,目前國內(nèi)外有很多組織和大學(xué)紛紛開展了基于計算機(jī)和互聯(lián)網(wǎng)技術(shù)的虛擬實驗系統(tǒng)的研究和建設(shè)工作,以Web為實現(xiàn)平臺,把一系列軟件和實驗硬件有機(jī)結(jié)合起來,構(gòu)建一個虛擬而又逼真的實驗環(huán)境,實現(xiàn)對真實實驗過程的計算機(jī)模擬。學(xué)生只需要在終端顯示器上點(diǎn)擊和拖動鼠標(biāo),即可完成整個實驗,觀察實驗現(xiàn)象,記錄實驗結(jié)果。
虛擬實驗室具有傳統(tǒng)實驗室無法比擬的優(yōu)點(diǎn),決定了它在科研、教育(特別是遠(yuǎn)程教育)中的良好應(yīng)用前景。這對培養(yǎng)學(xué)生的創(chuàng)新意識、創(chuàng)新能力及動手能力,都有著其他環(huán)節(jié)不可替代的重要作用。
一、VRML技術(shù)概述
1.VRML的發(fā)展
VRML是虛擬現(xiàn)實造型語言(即Virtual Reality Modeling Language)的簡稱。它是由SGI公司提出,可以進(jìn)行全面定義的一種網(wǎng)絡(luò)環(huán)境下描述虛擬三維模型、渲染以及提供交互操作的跨平臺、開放式、解釋性文本語言。它本身的定義就具有對三維實體真實顯示的能力,滿足了機(jī)械設(shè)計中對機(jī)械零部件三維造型的要求,而且VRML文件比較小,滿足了在Internet/ Intranet網(wǎng)上交流機(jī)械零部件三維信息的要求,可實現(xiàn)網(wǎng)絡(luò)化的虛擬設(shè)計。
自1994年開發(fā)出三維瀏覽器Lab-
yrinth,經(jīng)過發(fā)展,1995年VRML1.0版本正式推出。1996年,在對1. 0版本進(jìn)行重大改進(jìn)的基礎(chǔ)上推出了2. 0版本,其中添加了場景交互、多媒體支持、碰撞檢測等功能。VRML工程組在1997年4月提出了以VRML2.0為基礎(chǔ)制訂的國際標(biāo)準(zhǔn)草案。VRML標(biāo)準(zhǔn)是至今為止唯一的一個采用HTML方式發(fā)布的標(biāo)準(zhǔn),這充分反映了VRML技術(shù)的廣泛認(rèn)可和開放性。在VRML發(fā)展的過程中,不斷與相關(guān)技術(shù)進(jìn)行融合,包括HTML、Open Inventor、面向?qū)ο蠹夹g(shù)、Java技術(shù)和XML技術(shù),顯示了VRML技術(shù)的包容性和創(chuàng)新性。
2.VRML組成部分
在語法上, VRML以節(jié)點(diǎn)(Node)作為基本單位。一個節(jié)點(diǎn)可以是一個單一的3D造型,也可以是一個造型的材質(zhì),還可以是動畫定時器、傳感器等。VRML2.0中就定義了54個節(jié)點(diǎn),如造型節(jié)點(diǎn)、編組節(jié)點(diǎn)、傳感器節(jié)點(diǎn)、腳本節(jié)點(diǎn)等。節(jié)點(diǎn)包括域和事件,各種信息可以在節(jié)點(diǎn)之間通過路由傳遞。
與HTML類似,VRML的解釋執(zhí)行和演示是通過瀏覽器來完成的,瀏覽器接受特定文件格式的用戶輸入以及用戶接口模式。其中,分析程序讀取VRML文件并生成場景圖,場景圖除了包括節(jié)點(diǎn)和路由圖外,還包括處理事件、讀取編輯路由圖及觸發(fā)節(jié)點(diǎn)改變的執(zhí)行引擎。
3.基于VRML技術(shù)的虛擬實驗室的特點(diǎn)
VRML具有強(qiáng)大的網(wǎng)絡(luò)功能,它能夠創(chuàng)建三維造型,實現(xiàn)多媒體制作,可以利用感知傳感器節(jié)點(diǎn)來感受用戶及造型之間的動態(tài)交互感覺。因此,基于VRML技術(shù)的虛擬實驗室具有以下特點(diǎn)。
(1)成本低廉。虛擬實驗室在可視化方面的強(qiáng)大優(yōu)勢以及可交互性,不僅大大降低了實驗的材料成本費(fèi)用,而且還可以節(jié)省場地和人力資源成本,減小實驗損耗。此外,基于VRML的虛擬實驗可以實現(xiàn)資源共享,避免軟件、儀器及設(shè)備等相關(guān)資源的重復(fù)投資。
(2)省時高效。與傳統(tǒng)實驗相比,虛擬實驗無需大量繁瑣的實驗準(zhǔn)備和儀器設(shè)備維護(hù)工作。用戶可以避免受傳統(tǒng)實驗不可預(yù)知情況以及無關(guān)細(xì)節(jié)的影響,集中精力研究實驗對象本身的特性和規(guī)律。虛擬實驗還能實現(xiàn)將緩變的實驗過程快速化和將快變過程慢速回放,大大增強(qiáng)了實驗的直觀性,提高了學(xué)生學(xué)習(xí)和研究效率。
(3)交互靈活。虛擬實驗通過人機(jī)交互環(huán)境,對用戶的實驗過程做出及時反饋,并對實驗結(jié)果進(jìn)行實時分析和評價,實現(xiàn)了教與學(xué)的雙向交流,提高用戶學(xué)習(xí)的興趣和效率。
(4)用戶自主。虛擬實驗解決了傳統(tǒng)實驗中,實驗人數(shù)與實驗場地和時間安排之間的難題,用戶不僅可以隨時隨地進(jìn)行虛擬實驗,還可以自我探索和設(shè)計新的實驗,有利于培養(yǎng)學(xué)生分析問題和解決問題的能力。
二、虛擬實驗室的結(jié)構(gòu)與實現(xiàn)
1.基于VRML技術(shù)的虛擬實驗室的結(jié)構(gòu)組成
虛擬實驗室包含下面幾個重要的組成部分:提供遠(yuǎn)程用戶訪問的Web服務(wù)器;用于存儲虛擬實驗基礎(chǔ)數(shù)據(jù)和實驗結(jié)果數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng);用于數(shù)據(jù)處理、分析、存儲并使這幾個過程可視化的實驗處理軟件。這可以是基于專業(yè)的仿真軟件系統(tǒng),也可以是自主開發(fā)的基于Web的實驗軟件系統(tǒng)。
互聯(lián)網(wǎng)為虛擬實驗室的實現(xiàn)提供了一種基礎(chǔ)平臺,基于Web的瀏覽器/服務(wù)器(B/S)計算模式是一種三層計算模型,也是實現(xiàn)網(wǎng)上虛擬實驗室的一種基本模式。它由瀏覽器、服務(wù)器和數(shù)據(jù)服務(wù)器組成,其體系結(jié)構(gòu)如圖1所示。
B/S體系結(jié)構(gòu)是利用超文本傳輸協(xié)議HTTP的消息傳輸機(jī)制,客戶端通過瀏覽器訪問服務(wù)器發(fā)出的服務(wù)請求,服務(wù)器進(jìn)行響應(yīng)處理后將響應(yīng)結(jié)果返回給客戶端。學(xué)習(xí)者在客戶端進(jìn)行實驗操作,實驗過程中的數(shù)據(jù)和實驗結(jié)果數(shù)據(jù)放置于服務(wù)器端,服務(wù)器端的后臺數(shù)據(jù)庫提供了可以共享的實驗數(shù)據(jù)和實驗方法。endprint
VRML在系統(tǒng)中用來描述三維虛擬場景和設(shè)備, 為了加快VRML文件的加載速度,將VRML文件和相關(guān)的網(wǎng)頁存儲在Web 服務(wù)器上,用戶的相關(guān)信息則存放在數(shù)據(jù)庫服務(wù)器上??蛻魴C(jī)采用嵌入了VRML 插件的通用Web 瀏覽器, 負(fù)責(zé)向Web服務(wù)器發(fā)送用戶請求,并顯示W(wǎng)eb服務(wù)器通過解析所返回的結(jié)果數(shù)據(jù)。由于嵌入了VRML插件,客戶機(jī)的Web瀏覽器不但能夠顯示一般的HTML文本及圖像信息,還能顯示VRML三維場景。Web 服務(wù)器接收客戶機(jī)瀏覽器傳來的HTTP 請求并傳給應(yīng)用服務(wù)器, 應(yīng)用服務(wù)器將請求轉(zhuǎn)換成為數(shù)據(jù)庫能辨識的SQL 語句,并向數(shù)據(jù)庫服務(wù)器發(fā)出請求。數(shù)據(jù)庫服務(wù)器接收應(yīng)用服務(wù)器的請求,然后執(zhí)行相應(yīng)的操作并將結(jié)果集返回給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器把結(jié)果集進(jìn)行分析處理并以瀏覽器能接受的形式發(fā)送給Web服務(wù)器,最后Web服務(wù)器把結(jié)果信息返回給Web 瀏覽器。這樣,用戶通過VRML 插件就能在客戶機(jī)端瀏覽器上操縱虛擬儀器進(jìn)行虛擬實驗了。
2.系統(tǒng)結(jié)構(gòu)的具體實現(xiàn)
(1)虛擬環(huán)境的建立。虛擬環(huán)境的視覺效果是影響虛擬現(xiàn)實系統(tǒng)真實感的最重要因素。為了使用戶能夠真正對一個由計算機(jī)生成的虛擬環(huán)境產(chǎn)生認(rèn)同感,必須使生成的環(huán)境足夠逼真和自然。虛擬環(huán)境的構(gòu)建首先要完成的是對實驗室場景的三維建模,三維模型是虛擬實驗室系統(tǒng)實現(xiàn)的基礎(chǔ)。
虛擬環(huán)境建模主要包括三維視覺建模和三維聽覺建模,三維視覺建模主要包括實驗室中各類實體的幾何建模和行為建模,聽覺建模則是把交互的聲音響應(yīng)添加到用戶和對象的活動中。如圖2所示虛擬場景系統(tǒng)。
所謂三維實體模型的構(gòu)建,就是將傳統(tǒng)實驗中各類實體,大到復(fù)雜的實驗器材,小到連接芯片的導(dǎo)線,進(jìn)行三維建模。實體的形狀由構(gòu)成實體的各個多邊形、頂點(diǎn)、曲面等來確定,實體的外觀由其表面紋理、顏色、材質(zhì)等來確定。
在創(chuàng)建復(fù)雜的VRML場景時,除了創(chuàng)建大量的模型外,還必須考慮兩件事,VRML文件的長度和場景的渲染速度。VRML文件的大小會影響到場景,渲染的速度則直接影響瀏覽者瀏覽的速度,速度過低將使場景失去真實感。所以在創(chuàng)建場景的同時必須要考慮對場景的優(yōu)化。
利用VRML設(shè)計虛擬實驗環(huán)境時,最簡單的方法是利用文本編輯器編寫源代碼,并保存為“.wrl”擴(kuò)展名的網(wǎng)頁文件。這一過程類似于傳統(tǒng)意義上的程序設(shè)計,其方法簡單方便,但缺點(diǎn)是源代碼函數(shù)過于復(fù)雜,不易掌握,而且對設(shè)計者的空間想象能力要求也較高,設(shè)計的效率較低?,F(xiàn)在很多可視化的VRML設(shè)計工具,已經(jīng)將VRML的標(biāo)準(zhǔn)節(jié)點(diǎn)做成可視的組件,開發(fā)者只需拖動這些組件構(gòu)建自己需要的虛擬場景即可,而且實現(xiàn)了整個設(shè)計過程的“所見即所得”,大大提高了設(shè)計效率。設(shè)計完畢后,系統(tǒng)設(shè)計工具可以自動將這些可視的虛擬場景生成標(biāo)準(zhǔn)的VRML描述文本。當(dāng)這些文本傳送到用戶的瀏覽器后,便會在用戶的屏幕上重現(xiàn)這個虛擬場景。
對于一些較為復(fù)雜的三維模型及動畫,直接使用可視化的VRML設(shè)計工具有時也難以達(dá)到理想的效果,因此,在虛擬實驗環(huán)境構(gòu)建過程中,系統(tǒng)開發(fā)者還需要運(yùn)用一些成熟的三維建模工具,如3D Studio Max、SolidWorks等。為了達(dá)到比較理想的效果,可以結(jié)合可視化的VRML設(shè)計工具與三維建模工具的各自優(yōu)勢,利用三維建模工具建立虛擬實驗?zāi)P?,利用VRML工具進(jìn)行交互設(shè)計。
(2)交互控制。交互控制是構(gòu)建虛擬實驗室需要解決的核心問題,用戶必須通過鼠標(biāo)、鍵盤、音頻和視頻等輸入設(shè)備與虛擬環(huán)境以及其他用戶進(jìn)行交互。為了清晰、直觀地實現(xiàn)復(fù)雜的交互控制,在虛擬實驗的總體操作框架上采用串行的操作方式,即用戶必須嚴(yán)格按照實驗物理模型給定的操作順序進(jìn)行實驗。采用這種操作方式可以使實驗過程清晰, 實驗系統(tǒng)設(shè)計簡單,能夠比較好地運(yùn)用于為初學(xué)者設(shè)計的虛擬實驗。
目前VRML2.0瀏覽器支持兩種水平上的編程。第一種是在VRML中有一個Script接口節(jié)點(diǎn),它是VRML與其他編程語言如Java的一個接口,
VRML允許擴(kuò)展它的功能。如圖3所示。
第二種方式是通過VRML2.0瀏覽器外部編程接口EAI(External Authoring Interface外部程序接口)進(jìn)行編程,發(fā)送或讀取三維場景中節(jié)點(diǎn)的事件消息,使VRML2.0虛擬世界與外部網(wǎng)頁上其他對象溝通,而此程序本身又能夠完成其他的用戶需求功能,從而擴(kuò)大了VRML的用途。這一思想如圖4所示,就是將VRML和Java Applet置于同一個Web Page下,以Java Applet作為控制的核心,VRML場景作為三維展示的平臺。
(3)系統(tǒng)的整體設(shè)計。本虛擬實驗室是在網(wǎng)絡(luò)環(huán)境中使用的,這就需要把它做成網(wǎng)頁發(fā)布出去,這樣才能夠?qū)崿F(xiàn)遠(yuǎn)程教學(xué)。一方面實驗者可以通過Internet訪問虛擬實驗室,進(jìn)行遠(yuǎn)程實驗操作,填寫和瀏覽實驗報告,另一方面實驗指導(dǎo)教師也可以通過Internet來批閱實驗報告。網(wǎng)絡(luò)虛擬實驗的特點(diǎn)決定了文件占據(jù)的空間要少,對圖像、聲音都要支持,必須支持交互等。因此采用3DMAX、VrmlPad、Dreamweaver工具結(jié)合VRML技術(shù)、Java技術(shù)、Web技術(shù)來實現(xiàn)虛擬實驗是可行的。
圖5為系統(tǒng)整體設(shè)計結(jié)構(gòu)。
使用VRML語言開發(fā)網(wǎng)絡(luò)虛擬實驗室,其制作方法簡單,成本較低。與HTML相結(jié)合,可以在互聯(lián)網(wǎng)上構(gòu)建網(wǎng)絡(luò)虛擬實驗環(huán)境,更多的人可以通過網(wǎng)絡(luò)來完成各種實驗,彌補(bǔ)真實實驗室的局限性,也為遠(yuǎn)程教學(xué)的實施提供了一種更好的實驗手段。
盡管虛擬實驗室相對于傳統(tǒng)實驗室有著很多的便利之處,但需要指出的是,虛擬實驗只能作為實驗教學(xué)的輔助手段,決不能取代實際實驗操作。虛擬實驗只有與傳統(tǒng)實驗教學(xué)有機(jī)結(jié)合起來,通過交互式虛擬實驗手段形象、生動地再現(xiàn)完整的實驗過程,使得用戶在完成實驗的同時,進(jìn)一步加深對實驗原理和現(xiàn)象的理解和掌握,才能切實起到輔助實驗教學(xué)的作用。
參考文獻(xiàn):
[1]陳小紅.虛擬實驗室的研究現(xiàn)狀及其發(fā)展趨勢[J].中國現(xiàn)代教育裝備,2010(17):107—109.
[2]單美賢,李 藝.虛擬實驗原理與教學(xué)應(yīng)用[M].北京:教育科學(xué)出版社,2005.
[3]劉筱蘭,張 薇,程惠華,王本應(yīng). 虛擬實驗室的類型及發(fā)展趨勢[J].計算機(jī)應(yīng)用研究,2004(11).
[4]戴 俊,沈建華.基于VRML的虛擬實驗室的研究與實現(xiàn)[J].艦船電子工程,2009(4):126—128.
[5]劉紅玲,楊 凱.基于VRML的網(wǎng)絡(luò)虛擬實驗室建設(shè)[J]. 徐州工程學(xué)院學(xué)報,2005(5):101—104.
(作者單位:裝甲兵工程學(xué)院機(jī)械工程系 )endprint