程萌萌,林茂松,龐妮
西南科技大學:1計算機與科學技術學院;2信息工程學院,四川綿陽621010
移動學習作為課堂學習的一種補充形式正發揮著越來越重要的作用。近些年來,國內外的研究者對移動學習的研究主要集中在移動學習理論、移動學習平臺的開發、技術可行性分析、終端軟件和資源的開發上[1-2]。移動學習資源主要以文字和圖片為主。這些資源對于一些抽象、難以在生活中直接觀察的自然過程和現象的表達顯得蒼白無力。其單一的呈現方式和有限的表達力已經不能滿足學生的學習需求。虛擬學習系統的出現能夠有效地解決這一問題。
同時,計算機圖形學、虛擬現實技術、3G技術的快速發展和移動設備性能的提高,為學生使用智能手機、PDA等移動設備在虛擬環境中進行學習提供了技術上的契機。
因此,該文以移動學習、建構主義理論、情境和探究學習模式等理論為依據,設計并實現出面向智能手機的虛擬學習系統—衛星發射運行仿真系統。并針對移動設備性能較低的特點,進行網格模型簡化的關鍵技術研究。
國內的虛擬學習系統開發主要集中在臺式電腦平臺上,非教學內容的三維手機游戲開發較多。國外對移動虛擬學習系統的研究也處于起步階段。這其中包括以訓練使用者某種技能[3-4](如空間感知能力、恐高癥克服等)或者以娛樂為目的的三維游戲以及虛擬實驗室[5]等。這些系統存在以下問題:
使用者需要將全部資源下載到本地,一定程度上占用了用戶的存儲空間;虛擬系統與不同操作系統或者不同型號移動設備不兼容,用戶群體受限。
在實現上也只能針對某一個智能手機系統或者某一型號手機開發。該系統使用VRML語言設計實現,使用者只需使用安裝了三維瀏覽器的移動設備通過Internet訪問即可。其優點在于:①由于VRML不是在網絡中直接傳輸圖形文件,而是傳輸圖形文件的文本描述信息。這樣可大量節省網絡帶寬,節約用戶存儲空間。即使是在低帶寬的網絡上也可以實現;②VRML文件通過本地瀏覽器訪問,保證在各種平臺上通用,從而實現了虛擬學習系統的平臺無關性;③VRML可以通過調節文本文件的閾值改變模型姿態。例如:人的跑步動作,設計者不必按照傳統模式逐幀繪制,而使用者也不必下載各個姿態的人物模型。只需要設定閾值就可使用同一模型,下載一個模型的數據量,由此大大減少內存和網絡傳輸的數據量。
雖然VRML具有以文本文件傳輸數據量小等特點,但要進行實時渲染移動終端,需要對文本文件進行解析編譯,這就對移動終端硬件環境有一定要求。目前市面上的智能手機配置參數如表1所示。

表1 智能手機配置參數
系統測試階段采用最低配置的手機模擬器,保證系統可以滿足最低及以上配置參數的手機需求,以此證明其有效性和可行性。
系統的訪問方式基于C/S(客戶機/服務器)模式,該系統采用的是C/S(客戶機/服務器)模式。這種模式將圖形處理計算和可視化部分進行有效分離,把高分辨率的圖形及其紋理資源存放在服務器端,當用戶提出請求時,把所需要的數據通過無線網絡傳送至移動設備終端。這些數據可以經過基于圖像(Image-Based Rending)處理或者是基于幾何(Polygon-BasedRending)的簡化處理,以視頻流或者圖像的形式進行傳輸。C/S模式降低了移動終端對圖形資源處理與存儲等方面的要求,并且容易實現跨平臺交互的需求,因此是當前虛擬平臺設計的主流。
系統包括三個模塊,在模塊1中學生可以觀看衛星發射和運行全過程的三維動畫,每個階段都附有文字講解。在第2個模塊中學生進入研究室對衛星和火箭模型進行近距離觀察,對其內部構造及原理進行學習。在模塊3中,回到課堂對所學內容進行回顧。系統實現步驟包括:
雖然VRML提供點、線、面的繪圖命令,但是要繪制衛星這樣的復雜模型,工作量巨大。我們可以借助三維圖形繪制軟件降低工作量。目前,三維建模軟件有很多,如Auto CAD、3DS MAX、Vega、MAYA等。衛星和運載火箭模型采用3DS MAX建模,建模后保存為3DS格式。由于將3DS格式讀入OpenGL時色彩和紋理信息會丟失,所以在建模的過程中不需要對它們進行處理(如圖1所示)。

圖1 讀入OpenGL前后衛星模型對比圖
3DS格式文件讀入由兩部分組成:讀入文件內容;繪制3D對象。文件內容的讀入定義了兩個類Ctri Object和Ctrilist。CtriObject用于處理3DS文件中的各種對象。Ctrilist用于處理對象序列。C3ds Reader用于將3DS文件中的內容讀入到上述兩個類的對象中。這個讀取接口將3DS文件中的顏色數據、頂點數據、對象數據、材質數據拆分。然后,在OpenGL中將這些數據重新組成對應的對象,再將其組合在一起作為一個對象。圖1示意了一個衛星模型的3DS文件在讀出后的顯示效果圖以及其與在3DS MAX中的模型對比圖。在3DS MAX中渲染過的效果圖與經過程序讀取的模型在結構上完全一致,保持了結構特性。
雖然經過多年的發展,移動設備在軟硬件及網絡等方面的性能已經有很大的提高。但相對于傳統的臺式電腦,移動設備仍具有CPU處理能力較低、屏幕尺寸小、分辨率低、存儲空間以及功耗受限、內存及傳輸帶寬小的特點,并且所建模型過多的細節往往超過移動設備的處理能力,因此需要對模型和場景進行簡化。國內外成熟的網格模型簡化算法有很多(如表2所示):

表2 典型簡化算法特征對比[6]
在上述算法中既能夠較好地保持模型的拓撲結構、特征邊、頂點位置,又能保持較高的執行效率的算法有以下三種:
2.3.1 小波分解小波分解方法由Lounsbery和DeRose在1994年提出[7],使用較為廣泛。它的重建過程是通過選擇適量的高頻信號與低頻信號來合成一定精度的三維模型;通過略去多余的高頻分量來達到簡化的效果。這種方法簡單、高效,但只適用于具有細分連通性的三角網格。
2.3.2 漸進網格法PM算法[8]以邊折疊和點分裂為基本操作,能夠實時生成不同細節的網格模型。但是對于同一網格、不同區域、多分辨率的細節的實時生成方面,該算法缺乏數據結構的支持。由于邊刪除的先后順序與邊的幾何拓撲信息無關,在模型恢復的過程中需要逐一判斷,因而很難實現LOD模型的實時生成。
2.3.3 邊折疊法邊折疊簡化算法是在每一次簡化操作中以邊作為被刪除的基本幾何元素。在進行多次邊折疊后,面片就可以被簡化到我們想要的任何程度。Garland和Heckbert于1997年提出了一種基于二次誤差測度(quadric error metric,QEM)的化簡算法Qslim[9]。算法誤差測度是基于頂點到平面的距離平方和。而后Hoppe將顏色、紋理及法向量等信息加入到Qslim算法中,然后采用翼邊(wedge)數據結構來實現,得到了較好的效果[10]。Qslim算法所得到的簡化模型具有較高的質量,占用內存量小,運算速度快,并且提供開放源代碼,是非常有效的化簡算法。
綜合考慮各個算法的執行速度、特性保持和適用的模型,最終決定采用Qslim算法[9]。算法描述如下:Qslim算法以邊折疊操作和二次誤差度量為標準評價方法來實現模型簡化。在邊折疊操作中,邊的兩個端點v0、v1被平移到空間同一位置,由此會導致模型的簡化并且產生誤差。算法為模型上每個頂點指定附屬平面,并基于點到平面的距離d(v)來計算端點在邊折疊后的平移誤差,并依據閾值判斷本次操作的優劣。頂點的平移誤差函數為:

p為v在三維空間的位置,plane(p)為頂點v周圍包含v的三角面片所在的平面的集合。
邊折疊的誤差評價函數即為2個端點的誤差函數的和。最小化此誤差函數可以得到最終折疊的位置以及折疊的誤差,即

在堆中對計算出的每條邊的折疊誤差進行排序。Qslim算法的主要流程如圖2所示。

圖2 Qslim算法流程圖
模型和場景簡化好后將其轉化為WRL格式的文件。以Apache Tomcat 6.0為應用服務器。使用操作系統為Windows Mobile 5.0的手機模擬器進行測試。通過Pocket Cortona三維手機瀏覽器的訪問頁面,測試的手機模擬器配置參數如下:CPU192MHz;GPU輸出多邊形數量1 400萬/秒,像素填充率2.8億/秒;內存128 MB ROM+64MB RAM;帶寬理論數據下行:3.6Mbps,上行:384Kbps(測試效果如圖3所示)。

圖3 使用操作系統為Windows Mobile 5.0的手機模擬器測試效果圖
圖3a為衛星運行三維動畫,3b為在研究室中對發射架進行近距離觀察和學習效果圖,在這里學生可以觀察其內部結構和運行原理,圖3c、3d為學生回到課堂對所見所學回顧和總結的場景,圖3d中墻壁上的紅藍黃綠四個按鈕分別代表開關燈、開關窗簾、開關電腦、開關投影儀播放或者停止播放視頻。
文章設計并實現了移動虛擬學習系統—衛星發射運行仿真系統,并針對移動設備性能較低的特點,通過對網格模型簡化算法比較分析,采用Garland和Hoppe的Qslim算法,在不影響其視覺效果的前提下使得瀏覽更加流暢。系統豐富了傳統移動學習資源單一的呈現形式,彌補了以文本圖片為主的學習資源表現力不足的缺陷,提高了學生的學習興趣,降低了學習成本。
[1]丁坤肇,李煥勤.我國移動學習理論與實踐研究綜述[J].網絡與信息,2010,(10):25
[2]詹青龍,張靜然,邵銀娟.移動學習的理論研究和實踐探索—與邁克·沙爾普斯教授的對話[J].中國電化教育,2010,(3):3-5
[3]Norena Matintin-Dorta,Isabel Sanchez-Berriedl,Miguel Bravo.A 3D Educational Mobile Game to Enhance Student's Spatial Skills[J].IEEE,2010,(3):6-7
[4]Natho N,Pfeiffer O.A Knowledge Management System for Educational Scenarios in 3D Virtual Worlds[J].2010 Second International Conference on Mobile,Hybrid,and Online Learning,2010,(2):136-137
[5]Felix G,Hamza-Lup.3D Web-Based Environments for Online Learning[J].Case Studies,Technologies and Challenges,2009:1
[6]何暉光,田捷,張曉鵬,等.網格模型化簡綜述[J].軟件學報,2002,13(12):2215-2224
[7]Lounsbery M,deRose T.Multiresolution analysis for surfaces of arbitrary topologicaltype[DB/OL].TechniqueReport,Washington:University of Washington,1994.fttp://ftp.cs.washington.edu/pUb/graphics/LounsPhd.ps.Z
[8]Hoppe H.Progressive meshe[DB/OL].In:Proceedings of the SIGGRAPH'96.1996.99-108.http://www.resarch.microsoft.com/research/graphics/hoppe/.
[9]Garland M,Heckbert P.S.Surface simplification using quadric error metric[J].In:Proceedings of the SIGGRAPH'97.1997.209-216
[10]Hoppe H.New quadric metric for simplification meshes with appearance attributes[DB/OL].I-n:IEEE Visualization1999.1999.59-66.http://research.microsoft.com/-hoppe/newqem.pdf