張向華,董曉英,葉 霞,蔣琴仙,畢 偉
(江蘇技術(shù)師范學(xué)院 機(jī)械與汽車工程學(xué)院,江蘇 常州 213001)
隨著計(jì)算機(jī)技術(shù)、多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,以網(wǎng)絡(luò)為基礎(chǔ)的遠(yuǎn)程教育在現(xiàn)代教學(xué)中占據(jù)越來越重要的地位?,F(xiàn)代遠(yuǎn)程教育是隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、現(xiàn)代信息技術(shù)的迅速發(fā)展而產(chǎn)生的一種新型的教育形式,這種以計(jì)算機(jī)網(wǎng)絡(luò)等高科技手段為載體的雙向交互式教學(xué)形式在現(xiàn)代教育中扮演了重要角色[1]。如何在網(wǎng)絡(luò)環(huán)境下為學(xué)習(xí)者提供豐富的多媒體教學(xué)資源和有效的學(xué)習(xí)情境,是遠(yuǎn)程教育中首先面臨的主要問題。然而傳統(tǒng)基于網(wǎng)絡(luò)的遠(yuǎn)程教育平臺在其發(fā)展過程中主要受到三個(gè)因素的制約:
一是,網(wǎng)絡(luò)帶寬的瓶頸極大地限制了教學(xué)視頻音頻的傳輸,使得教學(xué)效果下降。
二是,利用視頻進(jìn)行網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)時(shí)學(xué)生無法親自動(dòng)手,實(shí)驗(yàn)效果較差。
三是,現(xiàn)有的一般網(wǎng)絡(luò)教學(xué)主要是用動(dòng)態(tài)網(wǎng)頁、Flash、流媒體等技術(shù)展示和呈現(xiàn)知識信息,在真實(shí)環(huán)境的營造、實(shí)時(shí)交互性等方面存在一些不足,無法提高學(xué)生學(xué)習(xí)的積極性和主動(dòng)性[2]。
虛擬現(xiàn)實(shí)技術(shù)的出現(xiàn),為解決遠(yuǎn)程教育中所存在的這些制約因素提供了幫助。虛擬現(xiàn)實(shí)技術(shù)具有沉浸、交互和多感知三大特點(diǎn),其能夠?yàn)閷W(xué)生提供生動(dòng)、逼真的學(xué)習(xí)環(huán)境,學(xué)生能夠成為虛擬環(huán)境的一名參與者,在虛擬環(huán)境中扮演一個(gè)角色,這對調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,突破教學(xué)的重點(diǎn)、難點(diǎn),培養(yǎng)學(xué)生的技能都將起到積極的作用。為此,文章在介紹基于VRML 的虛擬現(xiàn)實(shí)技術(shù)的基礎(chǔ)上,研究了虛擬現(xiàn)實(shí)技術(shù)在網(wǎng)絡(luò)教學(xué)資源設(shè)計(jì)和開發(fā)中的具體應(yīng)用, 并探討了其中的一些關(guān)鍵技術(shù)。
虛擬現(xiàn)實(shí)技術(shù)(Virtual Reality)原本是美國軍方開發(fā)研究出來的一項(xiàng)電腦技術(shù),其利用三維圖形生成技術(shù)、多傳感交互技術(shù)以及高分辨顯示技術(shù),生成三維逼真的虛擬環(huán)境,使用者戴上特殊的頭盔、數(shù)據(jù)手套等傳感設(shè)備,或利用鍵盤、鼠標(biāo)等輸入設(shè)備,便可以進(jìn)入虛擬空間,成為虛擬環(huán)境的一員,進(jìn)行實(shí)時(shí)交互,感知和操作虛擬世界中的各種對象,從而獲得身臨其境的感受和體會[3]。
虛擬現(xiàn)實(shí)建模語言VRML(Virtual Reality Modeling language,以下簡稱VRML)是一種與Internet 結(jié)合,用來描述三維交互虛擬世界的程序語言,可應(yīng)用于創(chuàng)建虛擬現(xiàn)實(shí)的對象、場景和展示模型等。通過瀏覽器,用戶可以觀賞到由VRML 創(chuàng)建的三維虛擬現(xiàn)實(shí),而不再只是二維的圖形或圖像,并能夠在三維世界中進(jìn)行實(shí)時(shí)移動(dòng)和實(shí)時(shí)操縱。基于VRML 的虛擬現(xiàn)實(shí)只是一種桌面虛擬現(xiàn)實(shí),但由于其結(jié)構(gòu)簡單,易于實(shí)現(xiàn),制作成本低,因此將其應(yīng)用于遠(yuǎn)程教育具有可行性。
工程圖學(xué)課程是工科院校一門重要的專業(yè)基礎(chǔ)課,是培養(yǎng)學(xué)生的空間思維能力、空間想象能力、形體構(gòu)形能力以及閱讀和繪制工程圖樣能力的一門應(yīng)用性學(xué)科。其研究的主要對象是圖形,教學(xué)中心是解決畫圖和讀圖的問題,教學(xué)重點(diǎn)和難點(diǎn)是培養(yǎng)學(xué)生的空間想象和構(gòu)思能力。在傳統(tǒng)的工程圖學(xué)教學(xué)中,常用直觀的教具來輔助教學(xué),但在遠(yuǎn)程教育中,學(xué)生主要依靠工程圖學(xué)課程網(wǎng)站來輔助學(xué)習(xí)。目前的許多工程圖學(xué)課程網(wǎng)站主要是由靜態(tài)網(wǎng)頁組成,網(wǎng)頁內(nèi)容主要是文字、圖形和圖像,表現(xiàn)形式單一。網(wǎng)頁里也用到了一些動(dòng)畫,但主要是GIF 和Flash 等二維平面動(dòng)畫,這些動(dòng)畫缺乏直觀表達(dá)能力,這樣就限制了遠(yuǎn)程教學(xué)的教學(xué)效果。為此,可以在網(wǎng)頁中插入一些具有三維表現(xiàn)力的圖形和動(dòng)畫文件。
(1)基于VRML 的模型展示
在工程圖學(xué)的教學(xué)過程中,經(jīng)常會講解各種不同形體的表達(dá)。在以前的遠(yuǎn)程教學(xué)中主要是結(jié)合形體的圖片來說明,但圖片的表現(xiàn)力有限,對于復(fù)雜的形體,其內(nèi)部結(jié)構(gòu)不能很好的表達(dá)。為此,可在網(wǎng)頁中加入VRML 模型,這些模型可以嵌入網(wǎng)頁,如圖1所示,也可以采用鏈接的方式單獨(dú)打開,如圖2 所示。學(xué)生只需在瀏覽器中安裝有關(guān)的插件就可以瀏覽到網(wǎng)頁上的虛擬模型,并且可以利用鼠標(biāo)對模型進(jìn)行旋轉(zhuǎn)、移動(dòng)、縮放等多種操作,對模型進(jìn)行全方位的觀察[4]。
圖1 嵌入式模型
圖2 鏈接模型
(2)基于VRML 的三維動(dòng)畫
在工程圖學(xué)課程的遠(yuǎn)程教學(xué)中,還可以利用三維動(dòng)畫來形象的展示其中的一些內(nèi)容。例如,在介紹立體的截交線和相貫線時(shí),可以利用截切的動(dòng)畫來展示截交線的形成,如圖3 所示;在介紹用形體分析法來分析組合體時(shí),也可以利用三維動(dòng)畫來展示,如圖4 所示。
圖3 圓錐的截切
圖4 形體分析法分析組合體
(4)基于VRML 的裝配演示
裝配圖是工程圖學(xué)中的重要內(nèi)容之一。在講授裝配體的表達(dá)時(shí),需要講解裝配體的安裝與拆卸過程,利用靜態(tài)圖片不能展示該過程,基于VRML 的虛擬模型可以全方位的展示整個(gè)拆裝過程,如圖5 所示。
圖5 齒輪泵的裝配
機(jī)械原理課程是機(jī)械類專業(yè)的一門重要的專業(yè)基礎(chǔ)課,在課程中會介紹到各種不同的機(jī)構(gòu)。在傳統(tǒng)的教學(xué)中,會利用實(shí)驗(yàn)室的陳列柜來展示不同的機(jī)構(gòu),然后安排學(xué)生去學(xué)習(xí)了解。但這種教學(xué)方法在遠(yuǎn)程教學(xué)中無法實(shí)現(xiàn),如果直接用文字來解釋有很難將各種機(jī)構(gòu)的工作原理解釋清楚,為此,可以利用VRML 動(dòng)畫模型來進(jìn)行展示,非常直觀,學(xué)生也能很快接受,如圖6 所示。
圖6 機(jī)械原理中機(jī)構(gòu)的展示
系統(tǒng)在設(shè)計(jì)中選用以瀏覽器/ 服務(wù)器(Browser/Server)模式為基礎(chǔ)的體系結(jié)構(gòu),如圖7 所示。瀏覽器端需安裝VRML 插件才能顯示虛擬模型;Web 服務(wù)器接收瀏覽器HTTP 請求并傳給應(yīng)用服務(wù)器;應(yīng)用服務(wù)器將請求轉(zhuǎn)換為數(shù)據(jù)庫能辨識的SQL 語句,再向數(shù)據(jù)庫服務(wù)器發(fā)出請求;數(shù)據(jù)庫服務(wù)器負(fù)責(zé)數(shù)據(jù)的存儲、維護(hù)、處理等,并將結(jié)果返回應(yīng)用服務(wù)器;應(yīng)用服務(wù)器對結(jié)果進(jìn)行分析處理后發(fā)送給Web 服務(wù)器;最后由Web 服務(wù)器返回給Web 瀏覽器[5]。基于此結(jié)構(gòu),用戶可通過帶有VRML 插件的瀏覽器查看網(wǎng)頁中的虛擬模型。
圖7 系統(tǒng)體系結(jié)構(gòu)
根據(jù)模型的復(fù)雜程度, 可以采用不同的建模方法。對于簡單的模型,可以直接編程建模。編程的方法有兩種:第一種是直接利用記事本編寫程序,然后將文件保存為.wrl 格式文件;第二種方法是利用vrmlpad 軟件編程。對于復(fù)雜的模型,可先利用專業(yè)的三維設(shè)計(jì)軟件 (如UG、Solidworks、Catia、Pro/ E、Solid-Edge 等)建立模型,然后再將其導(dǎo)出為VRML 格式的文件。導(dǎo)出的文件采用的是默認(rèn)的背景和視點(diǎn),可利用記事本對導(dǎo)出文件進(jìn)行編輯,增加視點(diǎn)和背景,得到所需要的模型文件。一般都采用第二種建模方法。
VRML 中的動(dòng)畫是依靠一個(gè)給定的時(shí)間傳感器和一系列各種各樣的內(nèi)插節(jié)點(diǎn)來控制場景中的各種動(dòng)作。其基本的方法就是:時(shí)間傳感器給出一個(gè)控制動(dòng)畫效果的時(shí)鐘,時(shí)鐘包含了動(dòng)畫效果的開始時(shí)間、停止時(shí)間、時(shí)間間隔和是否循環(huán)等動(dòng)畫控制參數(shù)。然后通過時(shí)鐘的輸出在虛擬世界中驅(qū)動(dòng)各種內(nèi)插節(jié)點(diǎn)產(chǎn)生各種相應(yīng)的動(dòng)畫效果,而內(nèi)插節(jié)點(diǎn)中將給出各種動(dòng)畫效果的關(guān)鍵點(diǎn)和關(guān)鍵值,VRML 瀏覽器將自動(dòng)地根據(jù)這些關(guān)鍵點(diǎn)通過線性插值的方法來完成整個(gè)動(dòng)畫過程[6]。
讓用戶參與動(dòng)畫的過程就是交互,VRML 的交互通過檢測器(sensor,或稱感應(yīng)器)實(shí)現(xiàn)[7]。在VRML 中,有一組具有動(dòng)態(tài)、交互和感知特性的節(jié)點(diǎn),可用于交互和動(dòng)畫的實(shí)現(xiàn)。其中包括[8]:
(1)TimeSensor 時(shí)間傳感器節(jié)點(diǎn):時(shí)間傳感器作為動(dòng)畫行為的驅(qū)動(dòng),創(chuàng)建一個(gè)虛擬時(shí)鐘,并對其他節(jié)點(diǎn)發(fā)送時(shí)間值,控制VRML 立體空間的動(dòng)態(tài)對象的開始、變化和結(jié)束過程的時(shí)間,實(shí)現(xiàn)空間物體造型的移動(dòng)、變色、變形等自動(dòng)變化。
(2)PositionInterpolator 位置插補(bǔ)器節(jié)點(diǎn):位置插補(bǔ)器中定義了關(guān)鍵點(diǎn)(Key)和對應(yīng)的關(guān)鍵值(KeyValue),然后執(zhí)行簡單的動(dòng)態(tài)計(jì)算,形成平滑的動(dòng)畫軌跡,而后在時(shí)間傳感器和位置傳感器之間添加路由,在位置傳感器和模型之間添加路由,從而實(shí)現(xiàn)動(dòng)畫設(shè)計(jì)。
(3)觸動(dòng)檢測器節(jié)點(diǎn):接觸檢測器(touchSensor)創(chuàng)建用戶感應(yīng)物體功能;鄰近檢測器(proximitySensor)自動(dòng)感應(yīng)用戶進(jìn)入的特定區(qū)域;時(shí)間檢測器(timeSensor)控制事件的啟動(dòng)和停止。
(4)感知節(jié)點(diǎn):當(dāng)特定部分變成用戶可見時(shí),可見性檢測器(visibilitySensor)自動(dòng)察覺,用來感應(yīng)觀察者和虛擬現(xiàn)實(shí)的接觸程度。
在VRML 中的行為和交互性是通過事件驅(qū)動(dòng)機(jī)制工作的,用戶與場景的交互、動(dòng)畫的運(yùn)行等都是通過各種事件的發(fā)送來完成的。通過在幾個(gè)節(jié)點(diǎn)之間事件流的傳送,可以實(shí)現(xiàn)動(dòng)畫過程。
在簡單的VRML 動(dòng)畫中,TimeSensor 不斷地發(fā)送出時(shí)間片信息,Interpolator 節(jié)點(diǎn)接收到時(shí)間片后根據(jù)設(shè)定好的關(guān)鍵點(diǎn),通過插值計(jì)算送出動(dòng)畫數(shù)據(jù),這種動(dòng)畫數(shù)據(jù)被送給對象節(jié)點(diǎn)去改變某些對象屬性,如空間位置、旋轉(zhuǎn)角度等,從而生成所需要的動(dòng)畫。但遇到復(fù)雜的動(dòng)畫設(shè)計(jì)時(shí),單用插值器是不能實(shí)現(xiàn)的,所以VRML 提供了另一種機(jī)制,即用Script 節(jié)點(diǎn)取代插值器節(jié)點(diǎn),在Script 節(jié)點(diǎn)中可以加入代碼,這些代碼可以根據(jù)不同動(dòng)畫的需求生成并輸出動(dòng)畫數(shù)據(jù)[9]。
利用基于VRML 的虛擬現(xiàn)實(shí)技術(shù)來開發(fā)一些遠(yuǎn)程教育教學(xué)資源,極大的增強(qiáng)了遠(yuǎn)程教育中學(xué)生身臨其境的參與感,可以大大的激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)習(xí)效率。
[1]瞿 暢,王君澤. 網(wǎng)絡(luò)教學(xué)資源開發(fā)中的Web3D 技術(shù)應(yīng)用研究[J].南通大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,6(3):90-93.
[2]許愛軍,張文金,易 丹. 基于虛擬現(xiàn)實(shí)技術(shù)的遠(yuǎn)程教育平臺研究與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2007,(8):23-26.
[3]方德葵.虛擬大學(xué)-現(xiàn)代遠(yuǎn)程教育理論與實(shí)踐[M].北京:中國廣播電視出版社,2003.
[4]張向華,董曉英.VRML 語言優(yōu)化圖視思維網(wǎng)絡(luò)課件的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(14):2573-2574.
[5]徐素霞,馬文婕. 虛擬現(xiàn)實(shí)技術(shù)及其在遠(yuǎn)程教學(xué)中的應(yīng)用[J].軟件導(dǎo)刊,2006,(2):28-30.
[6]王巧玉,田 凌.基于VRML 模型的協(xié)同裝配工藝規(guī)劃仿真方法[J].高技術(shù)通訊,2006,16(8):802-807.
[7]董艇艦,王太勇,蓋 青,等.基于VRML 的虛擬模型構(gòu)建和網(wǎng)絡(luò)開發(fā)[J].天津理工大學(xué)學(xué)報(bào),2005,21(4):58-60.
[8]汪興謙,牛燕明. VRML 與Java 編程實(shí)例詳解[M]. 北京:中國水利水電出版社,2002.
[9]張紅燕.遠(yuǎn)程虛擬實(shí)驗(yàn)中交互與動(dòng)畫的實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2006,(4):40-42.