摘要:教學領域中廣受好評的虛擬實驗室技術(webgl)隨著計算機網(wǎng)絡的進步有了更為顯著的應用效果,筆者本次對虛擬實驗室的概念、基本特征進行了簡單分析,并對其相關技術和知識進行了介紹,重點闡述了其設計開發(fā)的方法。
關鍵詞:虛擬實驗室技術;開發(fā);設計
中圖分類號:TP391.6 文獻標識碼:A 文章編號:1007-9599 (2012) 18-0000-02
1 虛擬實驗室的概念
1989年,美國的William Wolf教授提出了虛擬實驗室(Virtual Laboratory)概念,用來描述一個計算機網(wǎng)絡化的虛擬實驗室環(huán)境[1]。所謂虛擬實驗室,即是在虛擬現(xiàn)實技術下產(chǎn)生的可以進行虛擬實驗操作的一類實驗系統(tǒng),它包含實驗儀器設備、實驗對象、實驗室環(huán)境及相關實驗信息資源等元素。它不僅可以是現(xiàn)實實驗室的體現(xiàn),也可以通過虛擬構想來形成。
2 虛擬實驗室的基本特征
虛擬實驗室應具備一些基本特征[2]:(l)與現(xiàn)實的一致性(或現(xiàn)實的延伸);(2)高度交互性;(3)實施的信息反饋;(4)多人合作使用的功能;(5)具備一定的智能特性。近幾年來,個人計算機的性能已迅速增強,在很大程度上滿足了虛擬實驗室的要求。對于一些在現(xiàn)實世界難以進行,或耗時、耗力、耗資金的實驗,可以通過計算機建立能夠客觀反映其現(xiàn)實世界規(guī)律的虛擬儀器,進行虛擬實驗來代替。建立虛擬實驗室可以使實驗人員在計算機上進行虛擬實驗和虛擬預測分析,親自操作實驗儀器,觀察動態(tài)過程,還可以改變實驗條件和數(shù)據(jù),總結變化規(guī)律。虛擬實驗室三維立體的空間創(chuàng)造使實驗者如同身臨其境。
3 WebGL的相關技術及知識
WebGL是一種3D繪圖標準,這種繪圖技術標準允許把JavaScript和OpenGL ES 2.0結合在一起,通過增加OpenGL ES 2.0的一個JavaScript綁定,WebGL可以為HTML5 Canvas提供硬件3D加速渲染,這樣Web開發(fā)人員就可以借助系統(tǒng)顯卡來在瀏覽器里更流暢地展示3D場景和模型了,還能創(chuàng)建復雜的導航和數(shù)據(jù)視覺化。WebGL技術標準免去了開發(fā)網(wǎng)頁專用渲染插件的麻煩,可被用于創(chuàng)建具有復雜3D結構的網(wǎng)站頁面,甚至可以用來設計3D網(wǎng)頁游戲等等。WebGL完美地解決了現(xiàn)有的Web交互式三維動畫的兩個問題:第一,它通過HTML腳本本身實現(xiàn)Web交互式三維動畫的制作,無需任何瀏覽器插件支持;第二,它利用底層的圖形硬件加速功能進行的圖形渲染,是通過統(tǒng)一的、標準的、跨平臺的OpenGL接口實現(xiàn)的[3]。
4 虛擬實驗室平臺的設計
本虛擬實驗室是一種基于WebGL標準的虛擬實驗教學平臺的,這在國內還是一個新的嘗試。以往Web3D開發(fā)的應用程序,在運行時要安裝插件,安裝專有客戶端軟件,而本虛擬實驗系統(tǒng)可直接訪問WebGL支持的瀏覽器,并具有更高的三維效果,具有較強沉浸體驗,的實驗場景,進行相關實驗操作的體驗和學習[4]。
4.1 實驗系統(tǒng)平臺架構圖
該虛擬實訓室是基于WebGL技術開發(fā)的平臺,學生操作的過程中需要使用JS的庫,它可以直接調用JS的庫,完成圖形圖像處理。分別為:
GLGE庫:GLGE是一個封裝了 WebGL 的JavaScript庫,可以降低WebGL使用的難度。他提供了一個本地的browser JavaScript API,可以直接訪問,允許在沒有下載任何插件的情況下使用2D/3D硬件加速應用。
WebGLU庫:WebGLU是WebGL與GLU的結合,提供封裝,在場景中放置Camera或者提供簡單的幾何圖形元素。
這兩個庫的調用可以完成多個功能,分別是攝像機控制、模型建模、場景搭建、射線碰撞、線段繪制、光影投射、場景邊界檢測、UI結構與實現(xiàn)等。
Ajax引擎:Ajax 不是編程語言,它的作用是創(chuàng)建更好更快以及交互性更強的 Web 應用程序的技術。通過 Ajax引擎,本虛擬實驗室的JavaScript 可使用 XMLHttpRequest 對象來直接與服務器進行通信。這樣 JavaScript 就可在不重載頁面的情況與 Web 服務器交換數(shù)據(jù),使網(wǎng)頁從服務器請求少量的信息,而不是整個頁面。并可使因特網(wǎng)應用程序更小、更快,更友好[5]。
4.2 虛擬實驗過程設計
以往的虛擬實驗的操作方式過程和步驟是,首先步驟是操作者點擊鼠標或點擊鍵盤“進入”虛擬實驗室,接著步驟是“來到”規(guī)定的操作平臺,根據(jù)實驗內容用鼠標或鍵盤點擊、拖動、添加虛擬元件等操作方式來完成實驗,最終步驟是獲得實驗結果,歸納總結實驗。而本試驗系統(tǒng)在完成剛才的步驟后,還有不“虛擬”的部分,既根據(jù)剛才歸納的要點,去實訓場地在實訓設備上操作驗證。虛擬實驗室和實訓室連在一起,類似一體化工作室的模式[6]。
4.3 虛擬實驗室所需的場景及器件的建立
建立XML文件,取名level.xml,該文件的作用就是建立虛擬實驗室所需的場景及資源。
4.3.1 定義mesh
(1)建立1*1*1像素的立方體,36個定點矩陣。
-1.000000,1.000000,0.000000,
1.000000,1.000000,0.000000,
1.000000,1.000000,1.000000,
.
.
(2)建立法線。
(3)建立UV。
4.3.2 定義material
(1)材質貼圖建立
(2)UV模型建立
4.3.3 定義camera
建立camera,需要調整位置,及旋轉,達到三維的視圖效果。
4.3.4 定義scene
(1)建立主場景名。
(2)建立主攝像機
(3)建立環(huán)境顏色
4.3.5 定義object
(1)定義場景中的實體對象模型。
(2)定義場景中的實體對象材質。
(3)定義場景中的實體對象位置。
(4)定義場景中的實體對象縮放。
(5)定義場景中的實體對象旋轉。
5 總結
近年來,人工智能、網(wǎng)絡技術、模糊控制等技術發(fā)展迅速,也為解決此類問題開辟了許多新途徑。三維虛擬實驗室為學生提供了嶄新的實驗方法,將學生和實驗儀器聯(lián)系起來,起到了增強擴展實驗教學功能的作用[7],這對改革傳統(tǒng)教學方法、提高教學質量、教育資源共享等方面都具有前所未有的重要意義。
參考文獻:
[1]李仁發(fā),周祖德,李方敏等.虛擬實驗室網(wǎng)絡體系結構研究[J].系統(tǒng)仿真學報,2002.
[2]劉志廣,呂保和,吳海霞,岳鋅.《智能化虛擬實驗室實現(xiàn)方法的研究》.
[3]程新麗.基于WebGL的虛擬實驗教學研究[J].科技經(jīng)濟場,2011,09:12-13.
[4]梁勇,Java語言程序設計[M].北京:機械工業(yè)出版社,2011.
[5]須德.虛擬現(xiàn)實與身臨其境[J].百科知識,2005,6.
[6]單美賢.虛擬實驗室的發(fā)展方向[J].教育技術,2002,13(2):44-46.