張 巖
(江蘇財經(jīng)職業(yè)技術(shù)學(xué)院 江蘇 淮安 220003)
虛擬實驗室(VL)是為了實現(xiàn)研究、實現(xiàn)遠(yuǎn)程協(xié)作或各種創(chuàng)新活動,通過分布式信息通信技術(shù)產(chǎn)生并發(fā)布結(jié)果的電子工作室。虛擬實驗室的特點是構(gòu)造簡單、操作直觀、成本低廉、利用率較高,通過虛擬實驗技術(shù)可以實現(xiàn)不同地域、不同人群集中起來,實現(xiàn)合作實驗、遠(yuǎn)程實驗、協(xié)同研究[1]。在日常的實驗教學(xué)中借助虛擬實驗室不僅可以緩解教學(xué)資源的困難,也解決了實驗時空受限和管理繁瑣等多方面問題。
虛擬現(xiàn)實技術(shù)(VR)是利用計算機模擬真實世界,從而形成虛擬環(huán)境的技術(shù),通過虛擬現(xiàn)實模擬出一種具有較高仿真度的虛擬場景[2]。虛擬現(xiàn)實建模語言(VRML)是一種建模語言,是桌面虛擬現(xiàn)實系統(tǒng)中最著名、最經(jīng)典的虛擬現(xiàn)實技術(shù)。使用VRML實現(xiàn)的虛擬仿真儀器分析實驗室,瀏覽者可以通過鼠標(biāo)、鍵盤利用瀏覽器實現(xiàn)從各個角度、對實驗室的各種儀器進(jìn)行動態(tài)觀察,播放實驗步驟的視頻等,使學(xué)生真正沉浸在虛擬場景中。因此,本文就儀器分析實驗室用虛擬仿真技術(shù)進(jìn)行開發(fā)研究,以期為虛擬仿真實驗室的開發(fā)奠定基礎(chǔ)。
在實驗室虛擬場景中,簡單的造型如墻面、實驗臺等在確立整體的坐標(biāo)系直接使用VRML建模;復(fù)雜的造型如各種實驗儀器在確定了儀器型號后,根據(jù)實物圖在3DS MAX中進(jìn)行1:1建模,能使用貼圖方式顯示模型效果的對象最好用此方式建模。在此以紫外分光光度計和窗戶為例,分別說明復(fù)雜造型的創(chuàng)建方法以及貼圖創(chuàng)建模型的方法[3]。
復(fù)雜造型以紫外分光光度計為例,首先在3DS MAX中利用基本幾何體和復(fù)合運算等方法創(chuàng)建出該實驗設(shè)備的造型,以ziwaiyi.wrl為名導(dǎo)出,圖1(a)是參考實驗設(shè)備的原型,圖1(b)為設(shè)計的虛擬紫外分光光度計外觀,最后經(jīng)過調(diào)整坐標(biāo)和修改比例之后,再通過VRML 內(nèi)聯(lián)節(jié)點把模型導(dǎo)入到實驗室的虛擬環(huán)境中,導(dǎo)入過程的代碼如下。
圖1 紫外分光光度計實物圖與模型圖
#紫外分光光度計
在模型制作過程中,使用紋理映射的方法構(gòu)建出實驗室窗戶的表面,用數(shù)碼相機拍攝出真實窗戶的樣式,通過VRML的紋理映射(text)節(jié)點,在對應(yīng)的多邊形上“貼上”相應(yīng)的紋理圖片,用來代替具體的模型。通過這種方法實現(xiàn)的墻壁上窗戶效果,既降低了模型的多邊形數(shù)量和減少了模型的復(fù)雜程度,提高了圖像在輸出時的速度,又不會降低場景效果的逼真程度[4]。
參考代碼如下:
虛擬實驗室場景是由多個仿真模型構(gòu)成,每個仿真模型又由若干個幾何體構(gòu)成。為了體現(xiàn)VRML編程的面向?qū)ο笮?,把若干個子模型成組。成組的模型便于系統(tǒng)整體操作,若要對模型進(jìn)行修改,可以先解組后經(jīng)過修改再成組。
地面使用原始坐標(biāo)系,實驗室創(chuàng)建在地面的后部,可以先將坐標(biāo)系移到實驗室地面的中心,創(chuàng)建實驗室的墻體、墻體上的窗戶;在此基礎(chǔ)上,再將坐標(biāo)系移到實驗臺底面的中心,創(chuàng)建實驗臺和電源插座等。
光照是一種非常重要的場景效果,但是VRML中并不存在光源的實體模型,觀察到的只是該光源所模擬出的光照效果。按照光源發(fā)射光線的方向VRML光源可以分為平行光源、錐形光源和點光源3種類型[5]。本次研究以點光源作為實驗室的燈光。在VRML中使用點光照效果節(jié)點(Pointlight節(jié)點)來創(chuàng)建點光源,因為考慮到還會調(diào)用這個點光源,所以在這里定義了light1,其代碼如下:
為了使學(xué)生更好地了解實驗步驟,在墻壁上的電視機以動畫紋理的方式加入視頻畫面,當(dāng)瀏覽者走至儀器前,電視機開始播放該實驗儀器的操作步驟,通過視頻播放實驗的演示過程,而當(dāng)瀏覽者離開時,視頻會停止播放。此處利用Movie Texture節(jié)點和感知型傳感器實現(xiàn)瀏覽者和對象之間的交互。當(dāng)瀏覽者漫游到Proximity Sensor節(jié)點的感知空間后,傳感器的enterTime事件記錄下觸發(fā)到該敏感區(qū)的時間,再把該時間值傳遞給聲音節(jié)點的startTime,當(dāng)接收到該信號之后預(yù)設(shè)視頻文件開始播放;而瀏覽者離開這個敏感區(qū)后,傳感器再把這個時間值輸入到exitTime內(nèi),聲音節(jié)點的stopTime接收到由路由事件傳遞過來的退出時間值后,視頻文件被關(guān)閉。
在實際的開發(fā)工作中所創(chuàng)建的VRML空間通常是很復(fù)雜的。在瀏覽器上漫游時,除了可以通過鼠標(biāo)實現(xiàn)自由瀏覽的目的,也可以使用提前設(shè)置好瀏覽路線的方法實現(xiàn)虛擬瀏覽。在虛擬實驗室場景中,瀏覽者會瀏覽自己想要學(xué)習(xí)和操作的實驗設(shè)備。在VRML虛擬環(huán)境中,通過對視點的控制來實現(xiàn)該功能。通過在場景的合適位置上添加視點,在瀏覽器上用視點控制方式進(jìn)行瀏覽,可以提高虛擬瀏覽的速度。
在虛擬場景中設(shè)置多個視點,在瀏覽的過程中無論在這個虛擬空間中的任何位置都可以通過切換到這些視點而快速地到達(dá)相應(yīng)的空間位置上。
在虛擬儀器分析實驗室里,以紫外分光光度計的樣品吸光度測定為例,對其進(jìn)行具體設(shè)計與實現(xiàn),其設(shè)計思路是按照實驗設(shè)備進(jìn)行模型創(chuàng)建,然后進(jìn)行交互設(shè)計,最后測試修改。
紫外分光光度計模型的創(chuàng)建方法主要使用3DS MAX軟件進(jìn)行大部分設(shè)備組件的模擬建模,完成后再將文件轉(zhuǎn)化為VRML文件格式,然后在VRML Pad中對需要進(jìn)一步交互的組件進(jìn)行手工代碼建模。
紫外分光光度計測定樣品吸光度的實驗步驟如下:首先調(diào)節(jié)波長旋鈕,使波長顯示窗數(shù)字為所需波長,實驗波長設(shè)置為260 nm。然后打開比色室的蓋子放入空白比色皿,調(diào)整相應(yīng)的參數(shù)后再將樣品比色皿放入到比色室的卡座中??ㄗ瓧U拉出使樣品液位于光路中,顯示窗中出現(xiàn)的數(shù)字即為樣品吸光度,按下“print鍵”打印結(jié)果。
在VRML虛擬場景中,通過交互方式使瀏覽者能夠控制場景,真正感受生動的效果。當(dāng)瀏覽者瀏覽場景時,鼠標(biāo)是主要的輸入裝置,檢測器檢測出鼠標(biāo)的各種動作,如指向、單擊和拖曳等操作,場景迅速做出響應(yīng)。能實現(xiàn)此項功能的檢測器節(jié)點主要包括:圓柱監(jiān)視器(CylinderSensor)節(jié)點、平面監(jiān)視器(PlaneSensor)節(jié)點、球體監(jiān)視器(SphereSenor)節(jié)點以及觸摸監(jiān)視器(TouchSensor)節(jié)點[6]。
調(diào)節(jié)波長旋鈕,使波長顯示窗數(shù)字為260nm。
打開比色室的蓋子放入空白比色皿,利用接觸型的傳感器方法,選用TouchSensor節(jié)點。用鼠標(biāo)對紫外分光光度計比色室蓋子上的黑色拉手進(jìn)行點擊,比色室蓋子移動直到打開蓋門。然后再單擊空白比色皿的模型,使其移動到比色室內(nèi)。
從上面的代碼可以知道,場景中設(shè)置了動畫效果,但如果不接觸定點設(shè)備,蓋子不動,當(dāng)用鼠標(biāo)單擊定點設(shè)備拉手時,比色室的蓋子會自動打開。同樣去單擊比色皿時,會使比色皿移動到比色室內(nèi)。
在使用紫外分光光度儀對樣品溶液進(jìn)行吸光度分析時,當(dāng)樣品開始分析時,提示信號燈紅燈亮起,經(jīng)過多次操作完成分析后,綠燈亮起提示實驗完成,然后對結(jié)果進(jìn)行分析。這個邏輯控制用傳感器和插補器是無法實現(xiàn)的,需運用腳本的應(yīng)用邏輯進(jìn)行控制。
當(dāng)綠燈亮起提示實驗完成后,顯示窗口中的數(shù)字即為樣品吸光度,在這里顯示的數(shù)值只是用來模擬真實實驗操作步驟過程。按print鍵會將結(jié)果打印出來。在打印紙帶的過程中,紙帶可以中途暫停打印,然后再開始打印,所以這需要重新定義TimeSensor節(jié)點,并運用原型機制。
虛擬現(xiàn)實技術(shù)是利用計算機模擬真實世界從而形成虛擬環(huán)境的技術(shù)。而虛擬實驗室在高校的教學(xué)和科研活動中發(fā)揮著極大的作用,因此,本文介紹了虛擬實驗室的總體設(shè)計規(guī)劃和場景分析,使用VRML及相關(guān)的工具對虛擬實驗室整體的場景進(jìn)行建模,并以紫外分光光度儀實驗設(shè)備為例,簡述如何通過該儀器完成實驗步驟,實現(xiàn)儀器分析實驗室的實驗功能,完成實驗開發(fā)。通過虛擬實驗室的開發(fā)為高校的教學(xué)模式創(chuàng)新提供新的思路。