摘 要:在各級學(xué)校的教學(xué)過程中,理論教學(xué)和實(shí)驗(yàn)教學(xué)是相輔相成的兩種教學(xué)方式,但是,傳統(tǒng)意義上的實(shí)驗(yàn)室容易受到各種控件和時(shí)間等因素的限制,且建設(shè)專門的實(shí)驗(yàn)室環(huán)境投入較大,且效費(fèi)比較低,所以,采用虛擬現(xiàn)實(shí)技術(shù)來構(gòu)建虛擬實(shí)驗(yàn)平臺也就逐漸發(fā)展起來。在此背景下,本位以計(jì)算機(jī)組成原理的實(shí)驗(yàn)需求為例進(jìn)行開發(fā),設(shè)計(jì)了基于VRML(Virtual Reality Model Language)的虛擬實(shí)驗(yàn)室系統(tǒng),通過采用一種新的虛擬模型實(shí)現(xiàn)與網(wǎng)站的連接,可以在一定程度上解決傳統(tǒng)方式的缺陷。
關(guān)鍵詞:虛擬實(shí)驗(yàn)室;虛擬實(shí)驗(yàn);虛擬現(xiàn)實(shí)建模語言
中圖分類號:TP391.9
在學(xué)校教學(xué)環(huán)節(jié)中,為了實(shí)現(xiàn)教學(xué)目標(biāo),需要將理論教學(xué)和實(shí)驗(yàn)教學(xué)相結(jié)合才可以。而對于大學(xué)教學(xué)中的理工科教學(xué),由于各類課程更具有較高的實(shí)踐性,也就使得實(shí)驗(yàn)教學(xué)更成為不可缺少的環(huán)節(jié)。通過實(shí)驗(yàn)教學(xué)環(huán)節(jié),可以有效提供學(xué)生的動(dòng)手能力,也可以更好的掌握和理解教學(xué)內(nèi)容,深入理解教學(xué)知識。不過,傳統(tǒng)的實(shí)驗(yàn)教學(xué)容易受到多種因素的限制,比如時(shí)間和空間層面的限制等。
作為實(shí)現(xiàn)與虛擬環(huán)境進(jìn)行交互的重要手段,虛擬現(xiàn)實(shí)技術(shù)已經(jīng)成為一種豐富人類科研方式、提高技術(shù)水平和拓寬生產(chǎn)實(shí)踐領(lǐng)域的一種重要手段和方式。構(gòu)建虛擬實(shí)驗(yàn)室,其根本出發(fā)點(diǎn)就是采用虛擬實(shí)驗(yàn)環(huán)境中的一體化平臺,讓參與者能夠體驗(yàn)到真實(shí)的實(shí)驗(yàn)環(huán)境。所以,文中才對基于VR技術(shù)的虛擬實(shí)驗(yàn)室進(jìn)行研究。
1 虛擬實(shí)驗(yàn)室工具
在技術(shù)發(fā)展的推動(dòng)下,誕生了基于計(jì)算機(jī)屏幕的桌面虛擬現(xiàn)實(shí)技術(shù),可以為用戶提供觀察虛擬環(huán)境的窗口,利用計(jì)算機(jī)外部設(shè)備,比如鍵盤和鼠標(biāo)實(shí)現(xiàn)對虛擬環(huán)境對象的操控。雖然這種基于桌面的虛擬現(xiàn)實(shí)技術(shù)的真實(shí)感低于沉浸虛擬現(xiàn)實(shí),但是具有技術(shù)簡單、成本較低的特點(diǎn),所以,可以很好的滿足教學(xué)過程中的實(shí)驗(yàn)教學(xué)環(huán)節(jié),成為虛擬實(shí)驗(yàn)室開發(fā)的主要工具。
現(xiàn)在,能夠用于虛擬現(xiàn)實(shí)開發(fā)的技術(shù)有多種,比較主流的包括VRML、Cuh3D、Java3D、OpenGL等,這些技術(shù)和平臺,可以根據(jù)其自身的特點(diǎn),有針對性的應(yīng)用在多種虛擬現(xiàn)實(shí)領(lǐng)域中。而文中所重點(diǎn)研究的虛擬現(xiàn)實(shí)建模語言VRML,作為一種三維造型和渲染的圖形描述語言,具有多種特性和優(yōu)點(diǎn),比如交互性、平臺無關(guān)性以及可擴(kuò)展性等。盡管VRML平臺所構(gòu)建的三維造型,其視覺感官性比不上專業(yè)三維軟件的性能,但是,采用VRML語言所構(gòu)建的模型文件更小,模型的靈活性更高,易于在網(wǎng)絡(luò)環(huán)境中采用,也適合在網(wǎng)絡(luò)平臺下傳輸。
所以,文中所研發(fā)系統(tǒng)就是采用VRML技術(shù)。現(xiàn)在,能夠使用的VRML開發(fā)工具也比較多,比如基于可視化的Internet Space、基于文本的VrmlPad,以及三維建模軟件3DSMAX等,不過,考慮到實(shí)驗(yàn)室虛擬環(huán)境構(gòu)建的方便性和通用性,文中主要采用基于VrmlPad的VRML集成環(huán)境來完成具體開發(fā)過程,該集成環(huán)境能夠?yàn)殚_發(fā)人員提供制作三維模型的可視化編程界面,大幅減少程序代碼的輸入量,提供整個(gè)虛擬環(huán)境的開發(fā)效率。
2 虛擬實(shí)驗(yàn)室體系結(jié)構(gòu)與原理
在虛擬實(shí)驗(yàn)的開發(fā)之初,就考慮到通過學(xué)校的校園網(wǎng)絡(luò)來完成虛擬實(shí)驗(yàn)的需要,制定了構(gòu)建Web環(huán)境下的虛擬實(shí)驗(yàn)室開發(fā)方案。采用這種形式的虛擬實(shí)驗(yàn)室構(gòu)造方式,根本上屬于基于Web的軟件仿真實(shí)驗(yàn),需要采用基于C/S模式的多層體系結(jié)構(gòu)來構(gòu)建。這種軟件架構(gòu)以Web應(yīng)用為核心,主要包括客戶端、Web服務(wù)器和數(shù)據(jù)庫等3個(gè)不同的層。采用這種軟件模式,也與VRML的訪問方式符合,其中,Web服務(wù)器能夠?yàn)橄到y(tǒng)提供VRML文件和資源,客戶端則支持VRML通過網(wǎng)絡(luò)瀏覽器實(shí)現(xiàn)文件下載,從而為本地虛擬場景的生成提供支持。具體結(jié)果如圖1中所示。
圖1 系統(tǒng)所采用體系結(jié)構(gòu)模型圖
采用此類型的結(jié)構(gòu),其具體工作過程是先由客戶終端向Web服務(wù)器發(fā)起服務(wù)請求,然后在通過Web服務(wù)器向數(shù)據(jù)庫服務(wù)器提供請求,在服務(wù)器接收到數(shù)據(jù)庫服務(wù)器的響應(yīng)后,向客戶終端返回服務(wù)請求結(jié)果。這樣,就可以在客戶端與數(shù)據(jù)庫服務(wù)器不進(jìn)行直接聯(lián)系的情況下,完成數(shù)據(jù)傳輸和共享,保證了數(shù)據(jù)的安全性。在網(wǎng)絡(luò)環(huán)境搭建中,采用基于.NET平臺來完成,該平臺能夠提供集成的、無縫的連接組件庫,為用戶提供動(dòng)態(tài)虛擬網(wǎng)站的快速開發(fā)支持。
3 建立實(shí)驗(yàn)室虛擬對象
通過虛擬實(shí)驗(yàn)室來完成實(shí)驗(yàn)過程,需要對實(shí)驗(yàn)器件進(jìn)行操作。所以,就應(yīng)該針對實(shí)驗(yàn)中所采用的各種器件進(jìn)行模型構(gòu)建。此處以計(jì)算機(jī)組成原理的課程實(shí)驗(yàn)為例,對一系列的芯片模型進(jìn)行構(gòu)建,其中包括了電源、開關(guān)、LED等多種元器件,這些元器件的模型構(gòu)建則參考Prote 99SE中元器件的構(gòu)造和外觀來進(jìn)行。具體過程為:
首先,對各種元器件的基本結(jié)構(gòu)和框架圖進(jìn)行繪制,選擇和確定每個(gè)元器件的物理外觀和外形特征;接著,在VrmlPad文本編輯器中完成代碼編輯,充分發(fā)揮可視化編程的特點(diǎn),對模型進(jìn)行實(shí)時(shí)調(diào)整,以實(shí)現(xiàn)與真實(shí)元器件相似的效果;最后,生成模型文件。
在虛擬實(shí)驗(yàn)室中,需要進(jìn)行建模的對象通常會有多種,所以,對于外觀和造型相似的對象,就應(yīng)該設(shè)計(jì)通用的模型文件來表示,而其他模型只要在通用模型上增加或者改變一些特性即可。此處以計(jì)算機(jī)組成原理教學(xué)過程中的實(shí)驗(yàn)芯片74LS181為例,闡述其幾個(gè)建模過程,構(gòu)建起外形。腳本如下:
Background{skyColor 1.0 1.0 1.0} #這設(shè)置芯片的背景顏色
Shape{appearance Appearance{Material Material{} geometry Box{}}#構(gòu)造芯片形狀
Transform { geometry Text{ string 74LS181 maxExtent 2.0}}#設(shè)置芯片坐標(biāo)和坐標(biāo)轉(zhuǎn)換
利用上述腳本,基本可以完成該芯片的實(shí)體構(gòu)建,如果還想對其他74LS系列芯片進(jìn)行構(gòu)建,則只需要在這些腳本的基礎(chǔ)上改變相應(yīng)的語句值即可,或者添加一些特殊性質(zhì)的語句,避免了重新構(gòu)造過程。這樣,就可以大大減少工作量,提高模型構(gòu)建的效率。
完成了元器件模型的構(gòu)建后,采用*.wrl格式進(jìn)行存儲。不過,在大量文件模型存在的情況下,難以對想要的模型進(jìn)行快速查找,所以,還需要將每個(gè)模型文件的存儲地址都保存到數(shù)據(jù)庫表中。這樣,就可以在需要調(diào)用某個(gè)模型文件時(shí),通過數(shù)據(jù)庫對其進(jìn)行調(diào)用即可,如果需要進(jìn)行元器件的擴(kuò)展,則只需要將擴(kuò)展的新元器件文件地址更新到數(shù)據(jù)庫中,通過對元器件位置的調(diào)用,就可以完成系統(tǒng)更新。
4 虛擬實(shí)驗(yàn)室系統(tǒng)應(yīng)用
完成了對虛擬對象的建模過程后,也就實(shí)現(xiàn)了對虛擬實(shí)驗(yàn)環(huán)境的構(gòu)建。接著,就需要通過虛擬網(wǎng)站的構(gòu)建來完成模型連接過程,進(jìn)而構(gòu)成一個(gè)交互性的網(wǎng)絡(luò)系統(tǒng),使用用戶通過網(wǎng)站登錄來進(jìn)行實(shí)驗(yàn)操作過程。通常,可以通過網(wǎng)頁中的控件完成虛擬模型的調(diào)用,完成對不同模型的交互調(diào)用。不過,考慮到模型文件的具體格式,在將VRML文件嵌入到網(wǎng)頁時(shí),需要添加一些腳本。
模型間的交互過程中,需要在網(wǎng)頁中嵌入大量虛擬建模語言,以及程序腳本,而在實(shí)際的開發(fā)過程中,這種方式的是實(shí)現(xiàn)難度較大,且頻繁對后臺數(shù)據(jù)庫進(jìn)行調(diào)用,會增加服務(wù)器的工作負(fù)擔(dān),從而給虛擬實(shí)驗(yàn)室的整體性能產(chǎn)生影響。
所以,為了避免出現(xiàn)該問題,文中采用了另一種連接方式,具體如圖2中所示。完成了具體對象模型的構(gòu)建后,則可以創(chuàng)建一個(gè)主虛擬文件,即Main.wrl,其能夠?qū)唧w的對象模型進(jìn)行調(diào)用,且作為這些模型的承載和調(diào)用平臺,能夠通過Vrmlpad的可視化編程對各個(gè)模型的位置坐標(biāo)和布局進(jìn)行自動(dòng)設(shè)定。實(shí)驗(yàn)過程中,需要通過網(wǎng)絡(luò)將Main.wrl文件下載到客戶端,這樣,就不需要對平臺進(jìn)行頻繁的訪問,可以利用一次訪問對所有的虛擬部件進(jìn)行下載。
圖2 客戶端連接模型
5 結(jié)束語
在教學(xué)過程中采用虛擬現(xiàn)實(shí)技術(shù),是構(gòu)建實(shí)驗(yàn)室環(huán)境的一種新技術(shù),使得教學(xué)過程可以在虛擬環(huán)境下完成實(shí)驗(yàn)操作,還可以突破時(shí)間和空間的諸多限制,環(huán)節(jié)實(shí)驗(yàn)室建設(shè)的成本和資金壓力,對實(shí)驗(yàn)室的發(fā)展具有非常重要的意義。
參考文獻(xiàn):
[1]沈建華,遲權(quán)德,李朋輝.基于VRML的虛擬實(shí)驗(yàn)室開發(fā)[J].實(shí)驗(yàn)室研究與探索,2011(03).
[2]趙俊蘭.基于網(wǎng)絡(luò)技術(shù)虛擬實(shí)驗(yàn)的研究[J].實(shí)驗(yàn)技術(shù)與管理,2011(03).
[3]呂宛陽.基于VRML的虛擬實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)[J].中外企業(yè)文化,2013(24):210.
[4]張濤,王秋紅,邱靜.基于VRML的虛擬現(xiàn)實(shí)技術(shù)的研究與應(yīng)用[J].大眾科技,2013(12):58-59.
[5]馬阿曼.基于VRML的虛擬多媒體教室室內(nèi)場景制作[J].長江大學(xué)學(xué)報(bào)(自科版),2013(31):82-85.
[6]余麗華.論述VRML的虛擬現(xiàn)實(shí)技術(shù)的構(gòu)建與運(yùn)用[J].信息通信,2012,05:73-74.
[7]楊明亞,楊穎潔.基于VRML的虛擬現(xiàn)實(shí)研究[J].唐山師范學(xué)院學(xué)報(bào),2013(02):50-52.
[8]謝文達(dá).采用X3D/VRML建構(gòu)虛擬校園的研究[J].福建電腦,2013(02):139-140+171.
[9]任艷斐.基于VRML的三維虛擬校園應(yīng)用研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(04):74-75.
[10]王瑛.基于VRML的虛擬實(shí)驗(yàn)的研究與設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(05):239-242.
[11]閆曉麗,鄭延斌,姚飛.基于VRML的虛擬實(shí)驗(yàn)現(xiàn)象動(dòng)態(tài)模擬[J].科技創(chuàng)業(yè)家,2014(05):67.
[12]胥穎.基于VRML的虛擬現(xiàn)實(shí)系統(tǒng)的構(gòu)建[J].興義民族師范學(xué)院學(xué)報(bào),2013(06):95-99.
作者簡介: 謝文達(dá),男,廣東陽江人,碩士,教師,講師,研究方向:計(jì)算機(jī)應(yīng)用、虛擬現(xiàn)實(shí)。
作者單位:江門職業(yè)技術(shù)學(xué)院,廣東江門 529000