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