邢紅宏, 梁承紅, 張紀(jì)磊, 牟 青
(海軍航空工程學(xué)院a.基礎(chǔ)實驗部;b.研究生管理大隊,山東 煙臺 264001)
總參軍訓(xùn)和兵種部在《軍隊院校基礎(chǔ)實驗室建設(shè)標(biāo)準(zhǔn)》中要求:實驗室應(yīng)具備開展虛擬實驗的條件,把虛擬實驗列為實驗教學(xué)的重要組成部分。尤其是功能強大的軟件技術(shù)像3Ds Max、Virtools的出現(xiàn)為虛擬實驗提供了可靠的技術(shù)支持,虛擬實驗作為一種新的教學(xué)模式被引入到實驗教學(xué)中,改變了實驗系統(tǒng)的構(gòu)建模式,突破實驗教學(xué)的時空限制,在提高實驗教學(xué)質(zhì)量、緩解實驗教學(xué)壓力等方面發(fā)揮著積極的作用,因其廣泛的應(yīng)用前景而日益得到人們的重視[1]。
虛擬實驗的開發(fā),最終的使用者是教師和學(xué)生,軟件的各功能的實現(xiàn)也應(yīng)滿足他們的需求,所以了解教師與學(xué)生對虛擬實驗的認(rèn)識以及他們對軟件的需求是開發(fā)者應(yīng)考慮的首要問題[2-4],總的說來應(yīng)遵循以下幾個原則:
(1)數(shù)學(xué)模擬。實驗內(nèi)容并非簡單的逐幀動畫,而是滿足相關(guān)物理原理和數(shù)學(xué)公式的數(shù)字式交互,使實驗數(shù)據(jù)更具真實性。
(2)功能完善。為了讓使用者有真實的感覺,在保證虛擬實驗與實物實驗在視覺上一致的前提下,要實現(xiàn)實物儀器的全部觀察和測量功能,能夠完成實物實驗的所有實驗內(nèi)容。
(3)內(nèi)容詳實。軟件應(yīng)包含了相關(guān)實驗所需的大量參考數(shù)據(jù),例如各個測量內(nèi)容的實驗原理、實驗?zāi)康摹嶒灢襟E、儀器參數(shù)和數(shù)據(jù)表格等。用戶不需要再去查閱其他資料就可完成對相關(guān)實驗內(nèi)容的學(xué)習(xí)。
虛擬實驗采用的開發(fā)技術(shù)主要有Java、VRML、Virtools等,Java技術(shù)能夠完成復(fù)雜人機(jī)交互功能,但是實驗場景和儀器不夠逼真,且開發(fā)比較復(fù)雜,需專業(yè)的編程人員;VRML技術(shù)能夠模擬真實的實驗場景和儀器,沉浸感和真實感強,但人機(jī)交互性能差,不能完成復(fù)雜的交互功能。Virtools技術(shù)采用3D界面,能模擬真實的場景和儀器,且采用模塊化的編程語言,能實現(xiàn)復(fù)雜的人機(jī)交互功能,降低了開發(fā)難度。采用Virtools技術(shù)開發(fā)三維虛擬實驗,能夠模擬真實的實驗場景和真實的實驗儀器,讓用戶產(chǎn)生強烈的現(xiàn)場感,提供的復(fù)雜的交互功能,開發(fā)難度小,易于實現(xiàn)[5-7]。
Virtools是一套具備豐富的互動行為模塊的實時3D環(huán)境虛擬實境編輯軟件。它可以將現(xiàn)有的檔案格式整合在一起,如三維模型、二維圖形、視頻或是音頻文件等。只要在Virtools環(huán)境下進(jìn)行相應(yīng)的編程,就能達(dá)到預(yù)期的交互式操作目的[8],并為開發(fā)者提供了大約500個行為功能模塊(簡稱BB),每個BB都封裝了行為功能函數(shù),開發(fā)者只需仔細(xì)閱讀幫助文件中的相關(guān)文檔,弄清楚這些模塊的功能和使用方式,就可以按照自己的需要進(jìn)行開發(fā)。此外,開發(fā)者也可以通過VSL自己編制 BB,并保存到 Virtools的模塊庫中。VSL是類似于C語言的編程語言,功能強大且操作簡便[9-11]。
電子束聚焦與偏轉(zhuǎn)虛擬實驗利用3Ds MAX和Photoshop制作了效果逼真的虛擬儀器模型;借助Virtools的三維交互式軟件平臺,實現(xiàn)了實驗儀器的全方位任意觀察、縮放功能;利用軟件內(nèi)部的 BB和Script語言編譯完成了實驗儀器的調(diào)節(jié)和測量功能,實現(xiàn)了實物實驗的全部觀察和測量功能。
Virtools本身不具備三維實體建模的能力,所以要借助其他建模軟件。Virtools中提供了3Ds MAX的文件格式轉(zhuǎn)換插件,因此采用3ds MAX建模[12-14]。建模前需對實物儀器進(jìn)行測量和拍照,根據(jù)測量數(shù)據(jù)和儀器相片在3Ds Max中完成實驗?zāi)P偷慕?,在建模過程中,根據(jù)儀器所需交互效果、儀器各部分間的聯(lián)動關(guān)系,對實驗儀器進(jìn)行模塊劃分,設(shè)置好各模塊的位置、轉(zhuǎn)軸、組合和命名等,便于之后在Virtools中設(shè)計虛擬實驗儀器的交互,使其可以模擬真實儀器的調(diào)節(jié)和測量。然后再將建好的模型在3Ds Max中導(dǎo)出為Virtools支持的*.nmo文件格式。虛擬實驗系統(tǒng)中模型構(gòu)建的好與壞是決定整個實驗系統(tǒng)能否流暢運行的關(guān)鍵,為了簡化模型節(jié)點數(shù),降低系統(tǒng)內(nèi)存的使用率,避免因模型的節(jié)點數(shù)過多而占用過多的系統(tǒng)內(nèi)存,在構(gòu)建過程中只對需要進(jìn)行交互控制的模型進(jìn)行建模[15]。
模型真實感的好壞很大程度取決于材質(zhì)和紋理貼圖的質(zhì)量,為了增加模型的真實感,用3Ds MAX、Photoshop對模型材質(zhì)和貼圖進(jìn)行處理,首先為建好的模型賦予材質(zhì),為模型實現(xiàn)高光反射、漫反射、光澤度、柔化等效果,對模型不同部位貼圖進(jìn)行進(jìn)一步調(diào)節(jié),再通過UVW通道回帖給模型,使模型的視覺效果更加逼真,見圖1-3。
圖1 實驗儀器照片
圖2 儀器模型
圖3 虛擬儀器效果圖
電子束的聚焦和偏轉(zhuǎn)實驗所涉及到的交互主要分為三大類:觀察視角調(diào)節(jié)、實驗儀器調(diào)節(jié)和測量、測量數(shù)據(jù)處理。
2.2.1 用戶界面設(shè)計
為了便于使用,軟件界面上方設(shè)置了“幫助”、“實驗?zāi)康摹薄ⅰ皩嶒炑b置”、“實驗原理”、“實驗步驟”、“實驗表格”、“實驗內(nèi)容”七個快捷鍵。單擊鼠標(biāo)會彈出對應(yīng)的說明,幫助使用者熟悉相關(guān)內(nèi)容,在提示下完成實驗操作(腳本流程見圖4)。
2.2.2 視角控制功能
Virtools中實驗儀器和實驗現(xiàn)象的三維觀察主要是通過攝像機(jī)視角的控制來實現(xiàn)的。利用Switch On Key和Generic Camera Orbit可實現(xiàn)鍵盤對攝像機(jī)鏡頭的旋轉(zhuǎn)。通過Switch On Key中設(shè)置好的鍵盤按鍵,控制攝像機(jī)旋轉(zhuǎn)和縮放,通過鍵盤的A、D、S、W鍵控制攝像機(jī)鏡頭的旋轉(zhuǎn),通過鍵盤Q、E控制鏡頭的放大和縮小(見圖5)。
圖4 屏幕顯示的腳本流程
2.2.3 儀器調(diào)節(jié)功能
該實驗的儀器調(diào)節(jié)主要是物體的平移、旋轉(zhuǎn)、伸縮等,這些簡單的交互通過Virtools已有的BB就可以實現(xiàn)。例如通過Translate、Scale和Set Ambient這三個BB分別實現(xiàn)光點上、下、左、右的移動、放縮和亮度變化,通過Rotate實現(xiàn)儀器旋鈕的轉(zhuǎn)動。
2.2.4 數(shù)據(jù)處理功能
為了方便使用者對實驗的數(shù)據(jù)記錄,我們設(shè)計了數(shù)據(jù)處理模塊,記錄測量的各個物理量。數(shù)據(jù)輸入功能的實現(xiàn)主要通過Send Message和Wait Message兩個BB控制各個數(shù)據(jù)輸入框的激活與關(guān)閉,通過Input String和2D Text實現(xiàn)數(shù)據(jù)的輸入和顯示。
精細(xì)的模型和靈活的視角很好的提高了虛擬實驗的逼真程度,但也會帶來一定的操作不便。為了方便實驗過程中對實驗數(shù)據(jù)的讀取,我們利用Additional View實現(xiàn)了畫中畫的功能,實時的真實展示了亮點的移動。并且可通過屏幕上方的控制鍵對畫中畫界面進(jìn)行縮放,使實驗數(shù)據(jù)的讀取更為方便(見圖6)。
圖6 儀器調(diào)節(jié)
以電子束聚焦與偏轉(zhuǎn)實驗中的電偏轉(zhuǎn)為例說明實驗操作過程:開啟電源開關(guān),將“電子束——荷質(zhì)比”選擇開關(guān)置于電子束位置,適當(dāng)調(diào)節(jié)輝度與聚焦旋鈕,使屏上光點聚成一細(xì)點。光點調(diào)零,調(diào)節(jié)“調(diào)節(jié)”旋鈕,使電壓表的指示為零,再調(diào)節(jié)調(diào)零的X旋鈕,使光點位于示波管垂直中線上,同X調(diào)零一樣,將Y調(diào)零后光點位于示波管的中心原點。測量D隨Vd(Y軸)變化。調(diào)節(jié)陽極電壓旋鈕,給定陽極電壓Vd(700 V)。改變電偏轉(zhuǎn)電壓Vd,每隔3 V測一組D值,將測量數(shù)據(jù)記錄表格內(nèi)。過程如圖7所示。
圖7 電偏轉(zhuǎn)實驗操作過程示意圖
從電子束的聚焦與偏轉(zhuǎn)虛擬實驗可以看出虛擬實驗實現(xiàn)了良好的可視化實時交互功能,使用者看到的儀器和真實的實驗儀器完全一樣,并且能對儀器進(jìn)行操作,虛擬儀器實時反映相應(yīng)的操作結(jié)果,和真實實驗結(jié)果一致,使用者可觀察現(xiàn)象,記錄并處理數(shù)據(jù),整個實驗過程具有強烈的真實感。在虛擬場景中還能通過上下菜單在實驗過程中隨時調(diào)出實驗相關(guān)材料進(jìn)行查閱。3D虛擬實驗有著更優(yōu)的實驗效果,更低的實驗成本,更強的實驗互動,更方便的實驗使用,更有趣的實驗方式和更廣泛的實驗影響,虛擬實驗將在實驗教學(xué)中發(fā)揮重要的作用。
[1] 李 琴.基于Virtools的虛擬數(shù)字電路實驗系統(tǒng)設(shè)計[J].現(xiàn)代交際,2011(4):122.
[2] 鄒湘軍,孫 健,何漢武,等.虛擬現(xiàn)實技術(shù)的演變發(fā)展與展望[J].系統(tǒng)仿真學(xué)報,2004(9):1905-1909.
[3] 楊有俊,顧邦軍.基于 Virtools的虛擬實驗設(shè)備的設(shè)計與開發(fā)[J].科技信息,2004(9):19.
[4] 左田田.基于Virtools平臺的教學(xué)軟件的設(shè)計與應(yīng)用[J].軟件產(chǎn)業(yè)與工程,2012(4):40-43.
[5] 劉 毅.基于Virtools的虛擬實驗開發(fā)[J].無線互聯(lián)科技,2011(5):174-176.
[6] 李永帥,陳清奎,宋開功.基于Virtools的虛擬實驗室構(gòu)建方法研究[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2011,24(2):133-134.
[7] 劉英杰,楊 雪,闞寶朋.基于3Ds Max和Virtools的大學(xué)物理虛擬實驗的設(shè)計與開發(fā)[J].現(xiàn)代教育技術(shù),2008,18(6):88-90.
[8] 劉金林,曾凡明.基于CATIA/VIRTOOLS的艦船主動力裝置虛擬維修訓(xùn)練技術(shù)研究[J].艦船科學(xué)技術(shù),2008,30(6):140-142.
[9] 傅招國,王天威,倪小鵬,等.基于Virtools的虛擬現(xiàn)實技術(shù)及在特種設(shè)備教學(xué)中的應(yīng)用[J].計算機(jī)工程與科學(xué),2012,34(6):97-100.
[10] 朱 敏,張際平.虛擬實驗室及其教學(xué)應(yīng)用[J].實驗室研究與探索,2006,25(5):626-628.
[11] 韓兆福,楊中書,王超勇.虛擬現(xiàn)實技術(shù)在軍事職業(yè)教育實踐教學(xué)中的應(yīng)用[J].實驗室研究與探索,2005,24(10):65-68.
[12] 楊清文,房施東,楊 光,等.基于Virtools的某火箭炮技術(shù)檢查訓(xùn)練仿真研究[J].計算機(jī)測量與控制,2012,20(2):407-409.
[13] 萬佳怡,崔建軍,張振梁.高校虛擬實驗平臺的設(shè)計與實踐[J].實驗室研究與探索,2011,30(3):386-389.
[14] 劉舒帆,張曉虹,任姝婕.虛擬儀器與仿真軟件在電路信號實驗中的運用[J].實驗室研究與探索,2009,28(10):78-81.
[15] 楊 雪,闞寶朋,劉英杰.基于Virtools的大學(xué)物理網(wǎng)絡(luò)三維虛擬實驗的開發(fā)[J].實驗技術(shù)與管理,2009,26(4):62-65.