高宏遠(yuǎn) 文福安 李建偉
北京郵電大學(xué)網(wǎng)絡(luò)教育學(xué)院網(wǎng)絡(luò)系統(tǒng)與網(wǎng)絡(luò)文化北京市重點(diǎn)實(shí)驗(yàn)室 北京 100088
“虛擬實(shí)驗(yàn)室”最早由William Wolf于1989年提出,在很短的時(shí)間里,因其廣闊的應(yīng)用前景在各國(guó)均得到大力開(kāi)發(fā)。在我國(guó),隨著高等教育體制的深入改革及招生規(guī)模的日益擴(kuò)大,教育軟件與互聯(lián)網(wǎng)的結(jié)合是未來(lái)發(fā)展方向[1-2]。目前國(guó)內(nèi)外常用的虛擬實(shí)驗(yàn)室系統(tǒng)開(kāi)發(fā)技術(shù)主要有Java、ActiveX、VRML、QuickTime VR和Flash,本文主要總結(jié)這5種開(kāi)發(fā)技術(shù)的工作原理、工作條件及各自的優(yōu)缺點(diǎn),并展望其發(fā)展前景,為虛擬實(shí)驗(yàn)室的開(kāi)發(fā)提供理論依據(jù)。
1)基于Java的虛擬實(shí)驗(yàn)室構(gòu)建技術(shù)。Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它已廣泛應(yīng)用于虛擬實(shí)驗(yàn)室的開(kāi)發(fā),如普渡大學(xué)的交互式硬件實(shí)驗(yàn)系統(tǒng)和北京大學(xué)的3WNVLAB系統(tǒng)等。Java技術(shù)的優(yōu)勢(shì)主要包括:①可移植性,它具有代碼、硬件平臺(tái)及操作可移植性;②安全穩(wěn)定性,它的下標(biāo)檢查機(jī)制以及自動(dòng)內(nèi)存管理機(jī)制使其具有較強(qiáng)的穩(wěn)定性和安全性[3];③面向?qū)ο笮?,便于開(kāi)發(fā)大型、復(fù)雜的實(shí)驗(yàn);④交互性,applet與多線程可以提供靈活的顯示與強(qiáng)大交互作用。Java技術(shù)也存在不足:①對(duì)設(shè)計(jì)人員的編程要求較高;②單純應(yīng)用Java設(shè)計(jì)出的實(shí)驗(yàn)缺乏真實(shí)性;③Java 3D創(chuàng)建的三維場(chǎng)景在播放時(shí)會(huì)出現(xiàn)不流暢的現(xiàn)象[4]。
2)基于ActiveX的虛擬實(shí)驗(yàn)室構(gòu)建技術(shù)。ActiveX技術(shù)是Microsoft將OLE技術(shù)在Internet上的重定義,是一組應(yīng)用COM/DCOM模型實(shí)現(xiàn)軟件部件在網(wǎng)絡(luò)環(huán)境中進(jìn)行交互的技術(shù)集。大連理工大學(xué)的氣相色譜儀系統(tǒng)便是利用ActiveX技術(shù)開(kāi)發(fā)的[5]。ActiveX技術(shù)的優(yōu)勢(shì)主要有:①允許不同軟件開(kāi)發(fā)的組件在網(wǎng)絡(luò)上交互作用;②代碼的復(fù)用性[3]。ActiveX技術(shù)的缺點(diǎn)有:①安全隱患大;②生成的作品靈活性和動(dòng)感不強(qiáng);③移植性和通用性比較差[6];④占用空間大,易造成客戶端軟件垃圾增多[7]。
3)基于VRML的虛擬實(shí)驗(yàn)室構(gòu)建技術(shù)。VRML采用文本信息描述三維場(chǎng)景,在本地機(jī)上由VRML的瀏覽器依據(jù)VRML規(guī)范生成三維場(chǎng)景。VRML廣泛應(yīng)用于生活、生產(chǎn)、科研、商務(wù)甚至軍事等各領(lǐng)域。VRML技術(shù)的優(yōu)勢(shì)主要有:①平臺(tái)獨(dú)立性;②可擴(kuò)展性;③低帶寬要求;④靈活高效地創(chuàng)建三維場(chǎng)景;⑤實(shí)時(shí)的圖形渲染;⑥良好的交互能力[5]。它的缺點(diǎn)主要有:①交互能力不強(qiáng)[4];②本身不能計(jì)算和處理數(shù)據(jù);③缺少程序邏輯的隨意性和可擴(kuò)充性;④要求高,基于VRML的虛擬實(shí)驗(yàn)制作復(fù)雜,成本高,運(yùn)行VRML對(duì)客戶端計(jì)算機(jī)的性能要求高[9]。
4)基于QuickTime VR(QTVR)的虛擬實(shí)驗(yàn)室構(gòu)建技術(shù)。QTVR是美國(guó)蘋(píng)果公司開(kāi)發(fā)的基于靜態(tài)圖像的、在計(jì)算機(jī)平臺(tái)上實(shí)現(xiàn)的初級(jí)虛擬現(xiàn)實(shí)技術(shù)。QTVR系統(tǒng)軟件包括創(chuàng)作軟件與播放軟件,創(chuàng)作軟件是將離散的圖像拼合成全景圖像,再將全景圖像制作成QTVR格式的文件。QTVR的優(yōu)勢(shì)包括:①設(shè)備要求低;②真實(shí)感強(qiáng)[3];③可創(chuàng)建三維空間;④交互性;⑤開(kāi)發(fā)簡(jiǎn)單[5]。
5)基于Flash的虛擬實(shí)驗(yàn)室構(gòu)建技術(shù)。Flash是由美國(guó)Macromedia公司創(chuàng)建的基于矢量圖形的交互式多媒體創(chuàng)作軟件,在虛擬實(shí)驗(yàn)室的開(kāi)發(fā)中主要應(yīng)用于模擬復(fù)雜的實(shí)驗(yàn)操作過(guò)程。Flash的優(yōu)勢(shì)主要包括:①動(dòng)畫(huà)編輯功能強(qiáng)大;②交互作用強(qiáng);③易學(xué)易用[8],適用于要求不是很高的虛擬實(shí)驗(yàn)[6]。但是單純使用Flash設(shè)計(jì)出的實(shí)驗(yàn)缺乏真實(shí)性,F(xiàn)lash的交互性不如VRML,數(shù)據(jù)處理能力不如Java,適用于演示性的虛擬實(shí)驗(yàn)[5]。
1)實(shí)驗(yàn)場(chǎng)景角度分析。從實(shí)驗(yàn)場(chǎng)景角度分析,QTVR采用實(shí)景建模。Flash軟件通過(guò)Flash3D引擎可實(shí)現(xiàn)三維效果,適用于要求不高的虛擬實(shí)驗(yàn)。VRML技術(shù)雖然三維效果比較好,但開(kāi)發(fā)難度高,對(duì)三維虛擬環(huán)境的建模非常復(fù)雜,經(jīng)常與3DMAX結(jié)合應(yīng)用[7]。
2)人機(jī)交互能力分析。Java通過(guò)applet與多線程可以提供靈活的顯示與強(qiáng)大交互作用。VRML利用軟件設(shè)置一個(gè)傳感器附 在一個(gè)造型上來(lái)實(shí)現(xiàn)檢測(cè)觀察者的移動(dòng)、點(diǎn)擊和拖動(dòng),但它直接接收實(shí)驗(yàn)者輸入的實(shí)驗(yàn)參數(shù)的能力很弱。QTVR技術(shù)使參與者可以自己控制體驗(yàn)的進(jìn)程和順序,可以只挑選自己感興趣的部分。Flash具有強(qiáng)大的交互能力,在Flash MX版本中的腳本語(yǔ)言(Action Script)功能強(qiáng)大,通過(guò)它可開(kāi)發(fā)出很強(qiáng)功能的交互式網(wǎng)絡(luò)動(dòng)畫(huà)。
3)網(wǎng)絡(luò)適用性分析。Flash適用于所有系統(tǒng),包括Linux、Unix的各種變種,具有完全的平臺(tái)無(wú)關(guān)性。ActiveX只能應(yīng)用在微軟的Windows瀏覽器上。VRML要在不同平臺(tái)安裝不同的播放器才能應(yīng)用。VRML和Flash最終發(fā)布的文件都非常小,適合于網(wǎng)絡(luò)上的傳送[9]。
4)開(kāi)發(fā)難易程度分析。在這幾種技術(shù)中,F(xiàn)lash可直接編寫(xiě)服務(wù)端的程序并從服務(wù)器端接收數(shù)據(jù)。VRML不具有網(wǎng)絡(luò)編程功能,必須借助其他語(yǔ)言實(shí)現(xiàn)網(wǎng)絡(luò)功能,不能通過(guò)編程來(lái)實(shí)現(xiàn)數(shù)學(xué)建模,必須借助其他數(shù)學(xué)運(yùn)算工具[4]。ActiveX技術(shù)通過(guò)DCOM進(jìn)行網(wǎng)絡(luò)通訊,效率十分高。Java技術(shù)的開(kāi)發(fā)周期長(zhǎng),組件實(shí)現(xiàn)工作量大,經(jīng)常調(diào)用MATLAB功能函數(shù)來(lái)簡(jiǎn)化其算法的復(fù)雜性[10]。
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,虛擬實(shí)驗(yàn)室在教學(xué)舞臺(tái)上發(fā)揮著越來(lái)越重要的優(yōu)勢(shì),各種虛擬實(shí)驗(yàn)室構(gòu)建技術(shù)也日益完善。各種技術(shù)在構(gòu)建虛擬場(chǎng)景、實(shí)現(xiàn)人機(jī)的交互性以及對(duì)平臺(tái)的適用性和開(kāi)發(fā)的難易程度上各有千秋,在今后的研究與應(yīng)用中應(yīng)重視各種技術(shù)的結(jié)合。
[1]文福安.虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)的研究與應(yīng)用[J].中國(guó)教育信息化,2008(11):37-39.
[2]孫燕蓮,文福安.虛擬實(shí)驗(yàn)教學(xué)的探索與實(shí)踐[J].現(xiàn)代教育技術(shù),2009,19(4):131-132.
[3]隋菱歌.基于網(wǎng)絡(luò)的虛擬實(shí)驗(yàn)室的研究[J].吉林商業(yè)高等專(zhuān)科學(xué)校學(xué)報(bào),2006(1):31-32.
[4]張紅軍,吳志剛.VRML與JAVA在網(wǎng)絡(luò)虛擬實(shí)驗(yàn)中應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2006,25(9):1082-1086.
[5]彭巧梅.基于Internet的虛擬實(shí)驗(yàn)室的研究與開(kāi)發(fā)[D].黑龍江:大慶石油學(xué)院,2008.
[6]韓文虹.物理虛擬實(shí)驗(yàn)室的設(shè)計(jì)與實(shí)現(xiàn)[D].鄭州:鄭州大學(xué),2010.
[7]許又泉,譚敏生,鄧軼華.網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室及其實(shí)現(xiàn)方法研究[J].邵陽(yáng)學(xué)院學(xué)報(bào),2004(3):83-85.
[8]包艷.用flash制作交互式遠(yuǎn)程教育軟件[J].長(zhǎng)沙大學(xué)學(xué)報(bào),2001(4):55-58.
[9]陳怡.虛擬實(shí)驗(yàn)室平臺(tái)設(shè)計(jì)的研究與實(shí)現(xiàn)[D].成都:西南交通大學(xué),2010.
[10]廖云伢,王建新,盛羽.基于Java與Matlab集成的虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2007(2):394-399.