蔣汶宏 汪健人 張 馳
(南京理工大學泰州科技學院,江蘇泰州 225300)
隨著計算機技術和IT技術的不斷發展,三維模型和三維動畫被越來越廣泛地應用于現代教育中,三維動畫能夠直觀具體地展示教學內容,易于學習者理解和接受。然而,對于傳統的三維動畫,學習者只能被動地瀏覽,而不能對其進行交互操作,無法按照自己的意愿和特點進行主動的學習,學習者只能被動地接受知識,因而大大降低了教學效果。
Web3D技術是一種虛擬現實技術,采用Web3D技術建立的三維模型能夠實時響應用戶的操作,進行縮放、移動、旋轉等,360°全方位地展示三維模型,不僅如此,還可以實現復雜的人機交互。Web3D技術與傳統的三維動畫技術相比,具有無可比擬的優越性,因此,將Web3D技術應用于土木工程專業的教學中,開發網絡互動三維模型,有助于解決教學中的重點難點問題,從而提高教學效果和學生的自學能力。
Web3D技術又稱為網絡三維技術,應用該技術,用戶可以在網上瀏覽三維模型,并對其進行交互操作。Web3D技術最早可以追溯到VRML,VRML(Virtual Reality Modeling Language)即虛擬現實建模語言,出現于20世紀90年代初期;1998年,VRML組織更名為Web3D組織。
Web3D技術與傳統的三維動畫技術的主要區別在于:1)網絡傳輸的是模型文件,其傳輸量遠小于視頻圖像;2)由渲染引擎對模型進行實時渲染并動態顯示;3)具有無限的交互性。Web3D的實現技術主要分為三部分,即建模技術、顯示技術和三維場景中的交互技術[1]。三維模型的實時建模與動態顯示技術是Web3D技術的基礎,該技術可以分為兩類:1)基于幾何模型的實時建模與動態顯示;2)基于圖像的實時建模與動態顯示。交互技術是Web3D技術的關鍵,Web3D軟件能夠直接實現常用的交互功能,復雜的交互功能則可以通過編程實現。
Cult3D是一種基于Java內核的Web3D技術,由瑞典的Cycore公司開發,用戶可以將第三方開發的Java類嵌入其中,極大地增強了Cult3D的交互性和擴展性。為了提高開發效率,Cult3D的操作簡單直觀,開發環境十分人性化和條理化。
Cult3D包括 Cult3D Exporter Plug-in,Cult3D Designer和Cult3D Viewer Plug-in三個程序模塊。Cult3D Exporter Plug-in用于將3DS MAX,MAYA等三維設計軟件制作的三維模型轉換為Cult3D Designer支持的格式。Cult3D Designer用于為模型加入交互功能,如縮放、移動、旋轉等,導出后嵌入到網頁或其他應用程序當中。Cult3D Viewer Plug-in是顯示插件,安裝該插件后,用戶即可在網上瀏覽采用Cult3D技術制作的三維模型,并進行實時交互操作。
Viewpoint是一種基于XML構架的Web3D技術,由美國的Viewpoint公司開發,它能夠十分方便地與數據庫和瀏覽器進行通信,因此得到了廣泛的應用。用戶僅需安裝一個免費的插件,即可在網上瀏覽采用Viewpoint技術制作的三維模型,并進行實時交互操作。與Cult3D技術不同的是,Viewpoint自己制作三維模型,而不是導入其他軟件制作的三維模型。
Viewpoint模型的三維多邊形網格結構具有可伸縮性和流傳輸性。可伸縮性即采用Viewpoint技術開發的Web3D模型能夠自動地依據用戶電腦的性能和網絡速度調整模型的精度及相關技術參數,以確保用戶獲得最佳的體驗;得益于這種特性,一個高精度的Web3D模型就能夠滿足用戶對不同精度的需求,同時還可以大大減少設計者的開發工作量。流傳輸性允許用戶在下載模型數據的同時瀏覽Web3D模型,并與之交互。基于這兩種優越的特性,Viewpoint技術得到了廣泛的應用。
Java3D是Java語言在三維圖形領域的應用編程接口(API),由美國的SUN公司(2010年被Oracle公司收購)推出,利用Java3D提供的API,可以快速開發基于網頁的三維動畫、各種計算機輔助教學軟件和三維游戲等。采用Java3D開發Web3D程序時,開發者僅需調用這些API進行編程,而客戶端只需要安裝標準的Java虛擬機即可瀏覽,而無需安裝額外的插件。
Java3D把OpenGL和DirectX等底層3D技術封裝在Java3D API中,提供了一個高層的面向對象的編程模型,從而使3D技術不再繁瑣,并且可以加入到J2SE,J2EE的整套架構中,這些特性使得Java3D技術具有強大的擴展性。Java3D作為Java語言的擴展,具有平臺無關性,即“一次書寫,隨處運行”[2];采用Java3D開發的Web3D程序可以訪問所有的Java類,因此能夠很好地與Internet集成。Java3D支持運行時裝載器,因而能夠兼容多種文件格式,包括各種廠商的自定義格式[3]。
X3D(Extensible 3D)是新一代的Web3D國際標準,由Web3D協會(Web3D Consortium)于2003年發布,它在VRML97的基礎上發展進化而來,更加成熟和完善。X3D整合了正在發展的XML,Java,流技術等先進技術,包括更強大、更高效的3D計算能力、模型渲染質量和網絡傳輸速度。
X3D采用XML(Extensible Markup Language)——可擴展標記語言描述三維實體及其行為[4],XML是平臺無關的并且得到了廣泛的支持和應用,XML具有顯著的技術優勢:擁有自定義的標記語言來描述結構數據、易于編程者和計算機理解;具有有效的數據約束等。X3D的組件化體系結構使其具有良好的可擴展性和可定制性,它可以根據市場應用和服務的需求添加組件以擴展其功能,并且可以定制一系列標準擴展組件以滿足特定應用的要求。X3D支持開發廣播/嵌入式應用,可以用于從手機到超級計算機的各種設備。
土木工程專業的主干課程包括混凝土結構、鋼結構、高層建筑結構、建筑結構抗震等,這些課程的實踐性很強,且構造要求很多,從而導致學生難學、教師難教[5]。因此,如何幫助學生加深對教學內容的理解,提高學習效率,提升教學質量,長期以來一直都是土木工程專業教學改革的熱點。將這些課程中涉及的各種結構組成,尤其是一些節點構造制作成Web3D模型,用戶可以任意縮放、移動、旋轉模型,實現360°全景瀏覽,還能夠對模型中各種構件的顯示或隱藏進行控制。如此讓學生直觀且互動地學習,有助于解決教學中的重點難點問題,從而提高教學效果。
下面以采用Cult3D制作鋼結構節點構造模型為例說明Web3D模型的制作方法及流程[6](見圖1)。

圖1 鋼結構節點構造模型
1)三維模型的建立和輸出。在AutoCAD中建立三維模型,導入3DS MAX中進行渲染,最后由3DS MAX輸出為Cult3D Designer可以接受的.c3d文件格式。
2)為三維模型加入交互功能。在Cult3D Designer中加入各種觸發事件和動作控制,以實現三維模型的交互功能。
3)三維模型的導出和發布。將完成的三維模型輸出為.co文件格式,嵌入到網頁當中。
隨著信息技術的高速發展,Web3D技術更加成熟和實用,應用Web3D技術開發網絡互動三維模型,有助于解決教學中的重點難點問題,從而提高教學效果。土木工程專業實踐性強,教學難度大,Web3D技術在土木工程專業教學中表現出獨特的優勢和潛力,擁有廣闊的應用前景。
[1]鄧文新.Web3D技術的教學研究[J].現代教育技術,2002(4):68-69.
[2]宋志堅,李文生,左煥琛.Web模式的醫學斷層圖像三維重建[J].軟件學報,2001,12(11):1727-1731.
[3]張 蒙,陳澤琳,溫 武.基于VRML和Java的虛擬現實協同研究與設計[J].計算機工程與應用,2001,37(13):156-157,169.
[4]肖 虓,黃曉萍.Web3D技術及新一代標準 X3D[J].計算機與現代化,2003(10):39-42.
[5]張玉峰.“混凝土結構”課程教學改革的探討[J].河海大學學報(哲學社會科學版),2002,4(sup):86-87,103.
[6]王春雨,張廣文.Cult3D技術及其在陶瓷產品展示中的應用[J].中國陶瓷,2007,43(1):49-51.