摘 要:機(jī)電類課程實(shí)踐性很強(qiáng),遠(yuǎn)程教學(xué)模式中如何順利完成實(shí)踐環(huán)節(jié)是工科教學(xué)面臨的難題。本文提出構(gòu)建基于C/S模式下虛擬機(jī)電實(shí)驗(yàn)的解決方案,通過(guò)實(shí)例討論了利用VRML語(yǔ)言制作三維交互式實(shí)驗(yàn)的具體實(shí)現(xiàn)途徑。
關(guān)鍵詞:虛擬實(shí)驗(yàn)室 遠(yuǎn)程教育 虛擬建模 VRML
中圖分類號(hào):G64 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1673-9795(2013)09(b)-0154-02
當(dāng)今社會(huì)網(wǎng)絡(luò)的充分發(fā)展,改變了傳統(tǒng)的教學(xué)模式,因?qū)W習(xí)能夠不受時(shí)空限制,遠(yuǎn)程教育已成為廣受歡迎的新型教學(xué)模式。工科專業(yè)如何適應(yīng)遠(yuǎn)程教育成了亟待解決的新課題。眾所周知,工科教學(xué)實(shí)踐性強(qiáng),遠(yuǎn)程教學(xué)中,開(kāi)發(fā)網(wǎng)絡(luò)實(shí)驗(yàn)室必不可少。網(wǎng)絡(luò)實(shí)驗(yàn)室提供虛擬的實(shí)驗(yàn)設(shè)備,讓學(xué)習(xí)者通過(guò)網(wǎng)絡(luò)瀏覽器,按照一定的實(shí)驗(yàn)步驟,完成某種專業(yè)實(shí)驗(yàn),從而達(dá)到專業(yè)訓(xùn)練的目的。本文將研究如何利用虛擬現(xiàn)實(shí)建模語(yǔ)言在進(jìn)行建模,構(gòu)建遠(yuǎn)程網(wǎng)絡(luò)實(shí)驗(yàn)室。
1 機(jī)電虛擬實(shí)驗(yàn)室的構(gòu)建
虛擬現(xiàn)實(shí)建模語(yǔ)言VRML(Virtual Reality Modeling Language)是目前網(wǎng)絡(luò)上三維網(wǎng)站制作的主流語(yǔ)言,它的突出優(yōu)點(diǎn)是交互式、具有平臺(tái)無(wú)關(guān)性等特點(diǎn),可以幫助人們建立模擬真實(shí)世界的場(chǎng)景模型或虛擬三維環(huán)境場(chǎng)景建。
機(jī)電虛擬實(shí)驗(yàn)室是基于Web技術(shù)、VR虛擬現(xiàn)實(shí)技術(shù),為機(jī)電專業(yè)相關(guān)課程的遠(yuǎn)程教學(xué)構(gòu)建的開(kāi)放式網(wǎng)絡(luò)虛擬實(shí)驗(yàn)教學(xué)系統(tǒng),將部分教學(xué)實(shí)驗(yàn)室的數(shù)字化和虛擬化,包括實(shí)驗(yàn)室環(huán)境、實(shí)驗(yàn)設(shè)備儀器、實(shí)驗(yàn)對(duì)象、實(shí)驗(yàn)信息資源等。例如,《電工學(xué)》課程實(shí)驗(yàn)當(dāng)中,學(xué)習(xí)者通過(guò)選取虛擬元器件搭建電路,檢測(cè)電路輸出,使其對(duì)電路的設(shè)計(jì)、元器件的功用等有更深認(rèn)識(shí);《機(jī)械制造技術(shù)》課程實(shí)驗(yàn)可以選取相關(guān)機(jī)構(gòu)虛擬部件,進(jìn)行機(jī)械總體的搭建,從而讓學(xué)習(xí)者掌握機(jī)床的相關(guān)構(gòu)成。通過(guò)虛擬的實(shí)驗(yàn)室進(jìn)行實(shí)驗(yàn),既可以縮短實(shí)驗(yàn)的時(shí)間,又可以獲得直觀、真實(shí)的效果,還能對(duì)那些不可見(jiàn)的結(jié)構(gòu)原理和不可重組的精密設(shè)備進(jìn)行仿真實(shí)訓(xùn),避免真實(shí)實(shí)驗(yàn)操作帶來(lái)的各種危險(xiǎn)。
VRML的訪問(wèn)方式基于C/S模式,它用文本信息描述三維場(chǎng)景,在網(wǎng)絡(luò)上傳輸。服務(wù)器提供VRML文件,客戶通過(guò)網(wǎng)絡(luò)下載希望訪問(wèn)的文件,通過(guò)本地平臺(tái)的瀏覽器(Viewer)對(duì)該文件描述的VR世界進(jìn)行訪問(wèn),并根據(jù)VRML規(guī)范在本地機(jī)上解釋生成三維場(chǎng)景。文本描述的信息在網(wǎng)絡(luò)上的傳輸比圖形文件迅速,同時(shí)把復(fù)雜的處理任務(wù)交給本地機(jī)從而減輕了網(wǎng)路的負(fù)荷。正是這種優(yōu)勢(shì),才使VRML在網(wǎng)絡(luò)應(yīng)用中有很快的發(fā)展。
2 VRML虛擬設(shè)備開(kāi)發(fā)實(shí)例
《數(shù)控機(jī)床概論》課程是機(jī)電專業(yè)的一門(mén)傳統(tǒng)課程,因設(shè)備大而且貴,傳統(tǒng)知識(shí)展示只有文字、圖紙和圖片,因機(jī)構(gòu)相對(duì)復(fù)雜,學(xué)習(xí)者往往覺(jué)得晦澀難懂。為了更形象和直觀闡述這部分知識(shí)點(diǎn),現(xiàn)使用VRML來(lái)實(shí)現(xiàn)虛擬機(jī)床部件結(jié)構(gòu)和裝配的輔助實(shí)驗(yàn)教學(xué)。開(kāi)發(fā)機(jī)床各個(gè)部件的基本步驟如下:
(1)基本造型。制作一系列空間形體的三維造型和動(dòng)畫(huà),并且為這些造型指定所需要的顏色、大小等特性參數(shù);利用VRML的造型設(shè)計(jì)和VRML Script的動(dòng)畫(huà)鏈接虛擬出組裝機(jī)床所需的主要硬件,將VRML文件嵌入到網(wǎng)頁(yè)。
(2)建立虛擬運(yùn)動(dòng)空間,引入VRML的相關(guān)節(jié)點(diǎn),實(shí)現(xiàn)基于三維的實(shí)驗(yàn)室模擬功能。通過(guò)VRML的動(dòng)畫(huà)節(jié)點(diǎn)控制和VRML Script的結(jié)合。制作出安裝、注釋和視點(diǎn)切換的效果。
(3)VRML場(chǎng)景優(yōu)化,在構(gòu)建場(chǎng)景的過(guò)程中,利用VRML提供的高級(jí)造型技術(shù)適當(dāng)優(yōu)化。
在網(wǎng)絡(luò)學(xué)習(xí)中,學(xué)習(xí)者通過(guò)瀏覽器,可將隨意旋轉(zhuǎn)的三維的虛擬硬件模型,與教材中的二維圖片信息進(jìn)行對(duì)比和參照學(xué)習(xí),加深對(duì)知識(shí)的理解和掌握。在學(xué)習(xí)的過(guò)程中,只要按相應(yīng)的步驟點(diǎn)擊相應(yīng)的按鈕,拖動(dòng)鼠標(biāo)或按鈕可以隨意地移動(dòng)機(jī)床組件到指定的位置進(jìn)行安裝。學(xué)習(xí)者根據(jù)裝配指示,按照安裝步驟完成機(jī)床床身、導(dǎo)軌、工作臺(tái)、刀具等部件的組裝。通過(guò)VRML Script語(yǔ)言的鏈接。制作出生動(dòng)有趣的動(dòng)畫(huà)效果和逼真的聲音效果。例如,搖動(dòng)手輪,工作臺(tái)托架就會(huì)滑動(dòng),甚至還可設(shè)計(jì)馬達(dá)轉(zhuǎn)動(dòng)時(shí)的聲音,使學(xué)習(xí)者能動(dòng)態(tài)地觀看到效果。有一種身臨其境的感覺(jué)來(lái)完成學(xué)習(xí)的過(guò)程。
2.1 基本造型
基本造型是通過(guò)VRML文件來(lái)對(duì)三維部件進(jìn)行描述的。VRML文件一般有四個(gè)主要成份:VRML文件頭、原型、造型和腳本、路由。并不是所有的文件都包括這些要素,唯一必須的是VRML文件頭。VRML文件包含描述機(jī)床組成部件的空間造型及屬性節(jié)點(diǎn)。單個(gè)節(jié)點(diǎn)描述造型、顏色、光照、視點(diǎn)、以及造型、動(dòng)畫(huà)定時(shí)器、傳感器、內(nèi)插器等的定位和朝向等。
以下為一個(gè)機(jī)床工作臺(tái)建構(gòu)架構(gòu):
Group { # 定義工作臺(tái)
children [它描述一個(gè)幾何形狀及其顏色等特征
Shape { #定義幾何體方盒節(jié)點(diǎn)
geometry Box { ... } # 長(zhǎng)方體
} # Shape定義結(jié)束
] # children定義結(jié)束
} #Group定義結(jié)束
機(jī)床工作臺(tái)相當(dāng)于一個(gè)大組件Group,在此組節(jié)點(diǎn)范圍之內(nèi)定義工作臺(tái)的所有幾何等形體要素,具體的小零部件,用子域來(lái)進(jìn)一步定義,這樣就可以把虛擬場(chǎng)景組織成條理清晰的樹(shù)形分支結(jié)構(gòu)。
2.2 機(jī)構(gòu)部件的動(dòng)畫(huà)效果
為了使虛擬空間具有動(dòng)感,需要設(shè)計(jì)相關(guān)部件的運(yùn)動(dòng)。VRML中的動(dòng)畫(huà)產(chǎn)生是由于變動(dòng)了任何一個(gè)坐標(biāo)系的位置、方向和形體比例,從而使物體按你所想的方式飛行、平移、旋轉(zhuǎn)或按比例縮放??梢酝ㄟ^(guò)在構(gòu)造指令中定義相關(guān)綁定指令,通過(guò)綁定多個(gè)節(jié)點(diǎn),創(chuàng)建多個(gè)路由,從而使虛擬實(shí)驗(yàn)室空間具有更為逼真的動(dòng)感。
下面用機(jī)床上手輪的旋轉(zhuǎn)運(yùn)動(dòng)作為實(shí)例進(jìn)行說(shuō)明。當(dāng)手輪受到碰觸后,就會(huì)連續(xù)轉(zhuǎn)動(dòng),我們先建立一個(gè)時(shí)間檢測(cè)器節(jié)點(diǎn),來(lái)實(shí)現(xiàn)啟動(dòng)和定制轉(zhuǎn)動(dòng)的動(dòng)畫(huà),而隨時(shí)間變化的旋轉(zhuǎn)動(dòng)作可用腳本節(jié)點(diǎn)或方向插補(bǔ)器節(jié)點(diǎn)實(shí)現(xiàn)。
由程序可知,手輪包含兩個(gè)子節(jié)點(diǎn),前者定義它的形態(tài)為一個(gè)環(huán)形,后者把它定義成接觸檢測(cè)器。旋轉(zhuǎn)值指定的初始值是“1 1 1 0”,分別定義旋轉(zhuǎn)軸、旋轉(zhuǎn)角的初始狀態(tài)。
為了使手輪連續(xù)旋轉(zhuǎn),需要使用時(shí)間檢測(cè)器來(lái)等間隔連續(xù)發(fā)送的時(shí)間序列,并以此觸發(fā)驅(qū)動(dòng)手輪旋轉(zhuǎn)事件。
DEF ticker TimeSensor {
cleInterval 0.1
loop TRUE
enabled FALSE
}
這個(gè)時(shí)間檢測(cè)器用于啟用和停用時(shí)間檢測(cè)器,這一狀態(tài)可以被修改。由程序可知,啟用的時(shí)間檢測(cè)器每隔0.1秒送出一個(gè)事件,以此觸發(fā)轉(zhuǎn)動(dòng)事件,即每0.1秒調(diào)用一次驅(qū)動(dòng)函數(shù),從而驅(qū)動(dòng)手輪連續(xù)旋轉(zhuǎn)。
3 結(jié)語(yǔ)
實(shí)踐環(huán)節(jié)實(shí)現(xiàn)是遠(yuǎn)程教學(xué)模式中的難點(diǎn),三維虛擬實(shí)驗(yàn)具有先進(jìn)性和共享性,能在一定程度上滿足教學(xué)的需求。本文利用VRML語(yǔ)言研究開(kāi)發(fā)虛擬機(jī)電實(shí)驗(yàn)室,通過(guò)具體案例,對(duì)虛擬設(shè)備建模過(guò)程進(jìn)行了剖析,為遠(yuǎn)程教育模式下工科課程的部分實(shí)踐環(huán)節(jié)提供了有效的解決途徑。
參考文獻(xiàn)
[1] 劉澤良.發(fā)揮虛擬實(shí)驗(yàn)室建設(shè)對(duì)實(shí)驗(yàn)教學(xué)的促進(jìn)作用[J].實(shí)驗(yàn)技術(shù)與管理,2011(7):193-194.
[2] 張德發(fā).高校網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室特點(diǎn)與建設(shè)[J].信息與電腦:理論版,2011(8).
[3] 葉華,張仁津.虛擬現(xiàn)實(shí)技術(shù)實(shí)驗(yàn)教學(xué)課件的制作和應(yīng)用[J].安順學(xué)院學(xué)報(bào),2010(1):91-93.
[4] 潘磊,周新建.應(yīng)用VRML技術(shù)實(shí)現(xiàn)虛擬裝配仿真[J].華東交通大學(xué)學(xué)報(bào),2005(4):117-120.
[5] 王天煜,沈冰.機(jī)械基礎(chǔ)虛擬實(shí)驗(yàn)的實(shí)現(xiàn)[J].沈陽(yáng)工程學(xué)院學(xué)報(bào):自然科學(xué)版,2011(3):274-276.