房愛蓮 侯艷艷
[摘要]隨著網絡技術的發展和教學資源的擴大,改進和優化虛擬實驗室體系結構,建立三維模型庫,可以提高模型利用率并加快模型檢索速度,實現虛擬教學資源的共享性和擴展性。初步探討了基于網絡模型庫的虛擬實驗室的體系結構,分析了三維模型庫設計過程中需要考慮的幾個問題,最后實現了一個簡單的三維模型庫原型系統,并應用在虛擬考察實驗室中。
[關鍵詞]三維模型庫;模型庫管理系統;虛擬實驗室;體系結構
[中圖分類號]G40-057 [文獻標識碼]A [論文編號]1009-8097(2012)10-0114-04
引言
隨著虛擬現實技術和網絡通訊技術的不斷發展,眾多高校紛紛提出了自己的虛擬實驗室建設方案。在虛擬實驗室中,學生既可以在虛擬實驗平臺上動手操作,也可以自己設計實驗。與傳統的教學方式相比,學生能夠比較直觀的理解學習內容。
三維仿真模型是虛擬實驗室中重要的組成部分,對學生來說,虛擬實驗室中的三維模型通常有三種來源,自己動手開發、網絡下載和教師提供,得到的三維模型通常存在很多問題,如模型種類有限,格式不統一,調整參數不一致等。為此,本文認為開發一個以學科分類為基礎的網絡三維模型庫是非常必要的,通過建立標準的模型資源庫,提高三維模型的利用率。
國內外在仿真模型資源庫方面也有一些研究,為了提高模型利用率和加快模型檢索速度,從不同的角度進行了分析,探討了三維模型庫的模型分類方法、體系結構、訪問方式、系統用戶和功能等,具有較高的參考價值。目前存在的大部分的三維模型庫主要針對特定領域和應用,例如,用于醫學教育的三維模型庫,通過對醫學教育中常用到的形體進行建模,形成可重用的三維模型。機械元件三維模型庫,主要針對機械制圖課程。鐵路構造物三維模型庫可以簡化景觀模型的建立,并有效的管理三維模型。電子戰仿真模型庫系統,研究了基于構件的軟件復用技術在電子戰仿真領域中的應用。但是大部分研究主要關注模型本身的管理問題,沒有考慮到三維模型與場景交互產生的數據信息,對于一個具有交互功能的虛擬場景來說,除了模型本身的描述信息外,還應該包括模型在場景中的參數信息,以及用戶輸入的數據資料。所以,本文在描述網絡三維模型庫組織結構的同時,也考慮了場景與模型交互產生的數據的存儲問題,區分了模型庫和數據庫的不同,便于模型的調用和數據的管理。
一、系統結構
基于網絡三維模型庫的虛擬實驗室由三個部分組成:模型庫和數據庫、場景管理系統、可視化管理,如圖l:
1.模型庫和數據庫
基于網絡三維模型庫的虛擬實驗室,首先需要區分模型庫和數據庫。將模型和數據分開存放,目的是降低三維模型與虛擬場景的耦合度。模型庫是將虛擬實驗室中反復使用的三維模型,用專業建模工具繪制出來,并根據模型分類存入模型庫,模型庫中的模型與具體的虛擬場景無關。數據庫則針對具體的虛擬場景,存放與場景建立有關的信息,如場景中模型位置參數,用戶輸入屬性等,數據庫只需記錄三維模型在模型庫中的索引號,而不必存放具體的三維模型文件。
2.場景管理系統
場景管理系統包括模型庫管理系統和數據庫管理系統兩部分。模型管理系統是一個獨立于具體應用領域,對模型進行分類和維護,支持模型生成、存儲、查詢、運行和分析應用的軟件系統。各個領域的專家和用戶能夠利用模型庫管理系統找到所需的三維模型,放入虛擬場景中。數據庫管理系統實現對虛擬場景數據的存儲和讀取。
模型庫管理系統與數據庫管理系統共同管理虛擬場景中的對象。當用戶選擇一個已存在的虛擬場景時,數據庫管理系統首先訪問場景數據庫,取出每條數據,拿到三維模型在模型庫中索引信息,位置參數,交互數據,將索引號傳遞給模型庫管理系統找到該模型,根據參數信息將模型還原到場景中的具體位置,當用戶點擊模型時,顯示模型的交互信息。
場景重現時,模型庫管理系統提供了兩種模型調用的方式,一種是直接調用網絡模型庫中的三維模型到虛擬場景中,另一種是將網絡模型庫中的模型提前下載到本地模型庫中再調用。后者有利于加快場景渲染的速度,但占用本地存儲空間。前者減少了本地虛擬實驗平臺的存儲空間,但需要穩定的網絡線路。
3.可視化管理
虛擬現實充分利用了科學可視化技術,利用虛擬建模工具(OpenGL、Java3D、VRML),實現逼真的三維場景,用戶可以漫游在虛擬場景中,通過鍵盤和鼠標與場景中的三維模型交互,獲得學習資源。
可視化管理部分主要負責建立虛擬場景、導入三維模型、實現場景漫游、管理交互操作等。通過虛擬現實技術實現場景的渲染。
二、三維模型庫
三維模型庫的建設主要考慮以下幾個問題,模型庫分類表的設計、模型的命名規則和存儲方式、模型的文件格式。
1.分類表設計
分類表也稱為模型字典,包含模型庫中所有模型的分類和存儲信息,是關于模型描述信息即模型元數據的特殊數據庫。通過分類表,用戶可以方便的找到所需分類下的全部三維模型,提高了模型查詢和檢索的速度,并為智能決策提供有力的支持。
分類表的設計實際是建立一棵分類關系樹,樹中每個節點表示一種類別,在類別下面可以包含模型文件,也可以繼續往下分,分類表以層級結構展開,庫中的模型都應屬于分類表中的一個分類,即每個模型是分類樹中的一個葉子節點。
本文設計的模型庫主要用于虛擬教學,所以模型庫按照不同學科進行分類,同時提出自建的分類表,即分類表隨著三維模型的增加,可以不斷添加新的類型。向模型庫中添加新模型的時候,先在已有的模型庫中查找是否存在符合的分類項,如果存在,就將三維模型添加到該分類下,如果不存在,則選擇在某一個分類項下建立新的分類。通過這樣的方式,可以逐漸完善模型庫的分類表。圖2為初始的分類關系樹:
2.模型存儲方式和命名規則
一個三維模型通常由幾何實體、紋理信息和描述信息三部分組成,描述信息包括作者、上傳日期、文件格式、模型用途等。模型文件根據存放位置的不同可以分成兩種:一種是將組成模型的三部分分別存放到不同的文件中,分類管理。另一種方式是將一個模型的三部分數據存放在同一個文件目錄下。第一種方式調用模型時需要分別查找三個文件,當模型系統中模型數量大、組織結構復雜時,會增加模型的檢索時間。而第二種方式讓同一個模型的三個文件存放在同一個目錄文件下,便于管理和調用,所以本文設計的三維模型庫采用這種存儲方式。
模型的命名規則應該盡量做到“見名知意”,即基于內容的命名方式,便于模型的分類和檢索。同時,一個三維模型在不同的應用場合會有不同的名稱,針對這種情況,一個三維模型除了文件名以外應該可以貼上不同的標簽。模型的標簽作為模型的描述信息存儲,增強了模型檢索的精確度。為了避免模型重名帶來的問題,模型庫中的每個模型應該有一個ID,重名時,在文件名后面以自動遞增的方式添加一個數字,通過ID和文件名確定唯一的三維模型。
3.模型文件格式
根據不同的建模工具或實際應用,三維模型文件的格式很多,比較常見的有3DS、OBJ、VRML、X3D等,在模型庫中采用統一的文件格式還是存放不同類型的文件格式也是一個需要考慮的問題,一些針對專門領域的虛擬實驗室,常選擇一個文件格式作為標準格式。考慮到網絡三維模型庫的擴展性和開放性,本文認為模型庫應該支持多種模型文件格式的存儲,以便支持多樣化的文件格式查找和檢索,滿足不同的虛擬實驗室對模型的需求。
三、網絡三維模型庫在虛擬實地考察中的應用
1.用戶分類和系統功能
基于網絡的三維模型庫將用戶分為三類:模型庫管理人員、三維模型的開發人員、模型使用人員。不同用戶及具有的操作如下:
三維模型的開發人員主要使用建模工具(3DS Max、MAYA、MultiGen Creator、AutoCAD)建立三維仿真模型。
虛擬實驗室系統由開發人員進行開發,通常使用的開發工具有OpenGL、Java3D或VRML,系統需要連接三維模型庫客戶端,并設計三維文件的導入接口,以及模型在場景中的位置參數接口。
2.基于網絡三維模型庫的虛擬實地考察原型系統
實地考察作為環境科學課程中的一個重要環節,目的在于提高學生的觀察能力及動手能力。實地考察的內容包括地質、地貌、河流、湖泊、植被、草原、沙漠等。還可以考察鄉土地理、城市社區、綜合人文和自然地理等。學生通過實地考察,了解和記錄某個地區的環境情況。但許多因素限制了實地考察,如時間、距離、開銷、安全性等,這些問題都可以嘗試用虛擬現實技術解決。
虛擬實地考察模擬了真實環境的考察過程,學生可以將自己的考察記錄用可視化的方式進行展現,將真實環境中的物體用三維仿真模型表示,添加到虛擬場景中的相應位置,并為該模型添加考察記錄。另一方面,學生可以在其他考察人員建立的虛擬場景中漫游,通過點擊感興趣的三維形體,了解對應的真實地物的數據資料。
虛擬實地考察實驗平臺采用Java3D和Swing技術實現,數據庫使用MySQL。用戶通過鼠標點擊、拖曳和鍵盤輸入實現與虛擬場景的交互。效果如圖4:
用戶界面由兩個部分組成,工作面板和控制面板,工作面板是三維可視化窗口,主要負責顯示虛擬考察現場。控制面板實現用戶與虛擬世界的數據資料的輸入與顯示。
當考察人員需要向場景中添加仿真模型時,可以打開三維模型庫客戶端,查找所需的模型,找到模型后將模型拖放到虛擬場景中,同時輸入與真實地物對應的模型的考察數據。
網絡三維模型庫采用客戶端進行訪問,因此采用C/S的網絡模式。當用戶向虛擬場景中添加三維模型時,打開模型庫客戶端。如圖5:
界面分為三個部分,左邊分類表欄,學生根據分類選擇相應科目下的三維模型,中間部分是對模型的基本操作和描述信息,右邊是選中模型的顯示窗口,由于模型的顯示屬于可視化的一部分,因此采用Java3D技術實現。在顯示窗口中用戶可以對模型進行平移、旋轉、縮放,當用戶選中兩個三維模型時,可以再顯示窗口中進行簡單的模型組合。
四、小結
隨著網絡通訊技術和虛擬現實技術的發展,網絡模型庫的完善,為促進高校網絡虛擬實驗室的建設,實現三維仿真模型的重用和共享,提高虛擬實驗室的教學質量有重要意義和價值。本文對網絡模型庫的研究還只是一個初步嘗試,對于復雜、專業性較高的場景構建還需要做進一步的研究。
作者簡介:房愛蓮,華東師范大學,副教授,研究方向:計算機教育技術。
投稿日期:2012年6月5日
編輯:李婷