蔣汶宏 汪健人 張 馳
(南京理工大學(xué)泰州科技學(xué)院,江蘇泰州 225300)
隨著計算機(jī)技術(shù)和IT技術(shù)的不斷發(fā)展,三維模型和三維動畫被越來越廣泛地應(yīng)用于現(xiàn)代教育中,三維動畫能夠直觀具體地展示教學(xué)內(nèi)容,易于學(xué)習(xí)者理解和接受。然而,對于傳統(tǒng)的三維動畫,學(xué)習(xí)者只能被動地瀏覽,而不能對其進(jìn)行交互操作,無法按照自己的意愿和特點進(jìn)行主動的學(xué)習(xí),學(xué)習(xí)者只能被動地接受知識,因而大大降低了教學(xué)效果。
Web3D技術(shù)是一種虛擬現(xiàn)實技術(shù),采用Web3D技術(shù)建立的三維模型能夠?qū)崟r響應(yīng)用戶的操作,進(jìn)行縮放、移動、旋轉(zhuǎn)等,360°全方位地展示三維模型,不僅如此,還可以實現(xiàn)復(fù)雜的人機(jī)交互。Web3D技術(shù)與傳統(tǒng)的三維動畫技術(shù)相比,具有無可比擬的優(yōu)越性,因此,將Web3D技術(shù)應(yīng)用于土木工程專業(yè)的教學(xué)中,開發(fā)網(wǎng)絡(luò)互動三維模型,有助于解決教學(xué)中的重點難點問題,從而提高教學(xué)效果和學(xué)生的自學(xué)能力。
Web3D技術(shù)又稱為網(wǎng)絡(luò)三維技術(shù),應(yīng)用該技術(shù),用戶可以在網(wǎng)上瀏覽三維模型,并對其進(jìn)行交互操作。Web3D技術(shù)最早可以追溯到VRML,VRML(Virtual Reality Modeling Language)即虛擬現(xiàn)實建模語言,出現(xiàn)于20世紀(jì)90年代初期;1998年,VRML組織更名為Web3D組織。
Web3D技術(shù)與傳統(tǒng)的三維動畫技術(shù)的主要區(qū)別在于:1)網(wǎng)絡(luò)傳輸?shù)氖悄P臀募?,其傳輸量遠(yuǎn)小于視頻圖像;2)由渲染引擎對模型進(jìn)行實時渲染并動態(tài)顯示;3)具有無限的交互性。Web3D的實現(xiàn)技術(shù)主要分為三部分,即建模技術(shù)、顯示技術(shù)和三維場景中的交互技術(shù)[1]。三維模型的實時建模與動態(tài)顯示技術(shù)是Web3D技術(shù)的基礎(chǔ),該技術(shù)可以分為兩類:1)基于幾何模型的實時建模與動態(tài)顯示;2)基于圖像的實時建模與動態(tài)顯示。交互技術(shù)是Web3D技術(shù)的關(guān)鍵,Web3D軟件能夠直接實現(xiàn)常用的交互功能,復(fù)雜的交互功能則可以通過編程實現(xiàn)。
Cult3D是一種基于Java內(nèi)核的Web3D技術(shù),由瑞典的Cycore公司開發(fā),用戶可以將第三方開發(fā)的Java類嵌入其中,極大地增強了Cult3D的交互性和擴(kuò)展性。為了提高開發(fā)效率,Cult3D的操作簡單直觀,開發(fā)環(huán)境十分人性化和條理化。
Cult3D包括 Cult3D Exporter Plug-in,Cult3D Designer和Cult3D Viewer Plug-in三個程序模塊。Cult3D Exporter Plug-in用于將3DS MAX,MAYA等三維設(shè)計軟件制作的三維模型轉(zhuǎn)換為Cult3D Designer支持的格式。Cult3D Designer用于為模型加入交互功能,如縮放、移動、旋轉(zhuǎn)等,導(dǎo)出后嵌入到網(wǎng)頁或其他應(yīng)用程序當(dāng)中。Cult3D Viewer Plug-in是顯示插件,安裝該插件后,用戶即可在網(wǎng)上瀏覽采用Cult3D技術(shù)制作的三維模型,并進(jìn)行實時交互操作。
Viewpoint是一種基于XML構(gòu)架的Web3D技術(shù),由美國的Viewpoint公司開發(fā),它能夠十分方便地與數(shù)據(jù)庫和瀏覽器進(jìn)行通信,因此得到了廣泛的應(yīng)用。用戶僅需安裝一個免費的插件,即可在網(wǎng)上瀏覽采用Viewpoint技術(shù)制作的三維模型,并進(jìn)行實時交互操作。與Cult3D技術(shù)不同的是,Viewpoint自己制作三維模型,而不是導(dǎo)入其他軟件制作的三維模型。
Viewpoint模型的三維多邊形網(wǎng)格結(jié)構(gòu)具有可伸縮性和流傳輸性??缮炜s性即采用Viewpoint技術(shù)開發(fā)的Web3D模型能夠自動地依據(jù)用戶電腦的性能和網(wǎng)絡(luò)速度調(diào)整模型的精度及相關(guān)技術(shù)參數(shù),以確保用戶獲得最佳的體驗;得益于這種特性,一個高精度的Web3D模型就能夠滿足用戶對不同精度的需求,同時還可以大大減少設(shè)計者的開發(fā)工作量。流傳輸性允許用戶在下載模型數(shù)據(jù)的同時瀏覽Web3D模型,并與之交互?;谶@兩種優(yōu)越的特性,Viewpoint技術(shù)得到了廣泛的應(yīng)用。
Java3D是Java語言在三維圖形領(lǐng)域的應(yīng)用編程接口(API),由美國的SUN公司(2010年被Oracle公司收購)推出,利用Java3D提供的API,可以快速開發(fā)基于網(wǎng)頁的三維動畫、各種計算機(jī)輔助教學(xué)軟件和三維游戲等。采用Java3D開發(fā)Web3D程序時,開發(fā)者僅需調(diào)用這些API進(jìn)行編程,而客戶端只需要安裝標(biāo)準(zhǔn)的Java虛擬機(jī)即可瀏覽,而無需安裝額外的插件。
Java3D把OpenGL和DirectX等底層3D技術(shù)封裝在Java3D API中,提供了一個高層的面向?qū)ο蟮木幊棠P?,從而?D技術(shù)不再繁瑣,并且可以加入到J2SE,J2EE的整套架構(gòu)中,這些特性使得Java3D技術(shù)具有強大的擴(kuò)展性。Java3D作為Java語言的擴(kuò)展,具有平臺無關(guān)性,即“一次書寫,隨處運行”[2];采用Java3D開發(fā)的Web3D程序可以訪問所有的Java類,因此能夠很好地與Internet集成。Java3D支持運行時裝載器,因而能夠兼容多種文件格式,包括各種廠商的自定義格式[3]。
X3D(Extensible 3D)是新一代的Web3D國際標(biāo)準(zhǔn),由Web3D協(xié)會(Web3D Consortium)于2003年發(fā)布,它在VRML97的基礎(chǔ)上發(fā)展進(jìn)化而來,更加成熟和完善。X3D整合了正在發(fā)展的XML,Java,流技術(shù)等先進(jìn)技術(shù),包括更強大、更高效的3D計算能力、模型渲染質(zhì)量和網(wǎng)絡(luò)傳輸速度。
X3D采用XML(Extensible Markup Language)——可擴(kuò)展標(biāo)記語言描述三維實體及其行為[4],XML是平臺無關(guān)的并且得到了廣泛的支持和應(yīng)用,XML具有顯著的技術(shù)優(yōu)勢:擁有自定義的標(biāo)記語言來描述結(jié)構(gòu)數(shù)據(jù)、易于編程者和計算機(jī)理解;具有有效的數(shù)據(jù)約束等。X3D的組件化體系結(jié)構(gòu)使其具有良好的可擴(kuò)展性和可定制性,它可以根據(jù)市場應(yīng)用和服務(wù)的需求添加組件以擴(kuò)展其功能,并且可以定制一系列標(biāo)準(zhǔn)擴(kuò)展組件以滿足特定應(yīng)用的要求。X3D支持開發(fā)廣播/嵌入式應(yīng)用,可以用于從手機(jī)到超級計算機(jī)的各種設(shè)備。
土木工程專業(yè)的主干課程包括混凝土結(jié)構(gòu)、鋼結(jié)構(gòu)、高層建筑結(jié)構(gòu)、建筑結(jié)構(gòu)抗震等,這些課程的實踐性很強,且構(gòu)造要求很多,從而導(dǎo)致學(xué)生難學(xué)、教師難教[5]。因此,如何幫助學(xué)生加深對教學(xué)內(nèi)容的理解,提高學(xué)習(xí)效率,提升教學(xué)質(zhì)量,長期以來一直都是土木工程專業(yè)教學(xué)改革的熱點。將這些課程中涉及的各種結(jié)構(gòu)組成,尤其是一些節(jié)點構(gòu)造制作成Web3D模型,用戶可以任意縮放、移動、旋轉(zhuǎn)模型,實現(xiàn)360°全景瀏覽,還能夠?qū)δP椭懈鞣N構(gòu)件的顯示或隱藏進(jìn)行控制。如此讓學(xué)生直觀且互動地學(xué)習(xí),有助于解決教學(xué)中的重點難點問題,從而提高教學(xué)效果。
下面以采用Cult3D制作鋼結(jié)構(gòu)節(jié)點構(gòu)造模型為例說明Web3D模型的制作方法及流程[6](見圖1)。
圖1 鋼結(jié)構(gòu)節(jié)點構(gòu)造模型
1)三維模型的建立和輸出。在AutoCAD中建立三維模型,導(dǎo)入3DS MAX中進(jìn)行渲染,最后由3DS MAX輸出為Cult3D Designer可以接受的.c3d文件格式。
2)為三維模型加入交互功能。在Cult3D Designer中加入各種觸發(fā)事件和動作控制,以實現(xiàn)三維模型的交互功能。
3)三維模型的導(dǎo)出和發(fā)布。將完成的三維模型輸出為.co文件格式,嵌入到網(wǎng)頁當(dāng)中。
隨著信息技術(shù)的高速發(fā)展,Web3D技術(shù)更加成熟和實用,應(yīng)用Web3D技術(shù)開發(fā)網(wǎng)絡(luò)互動三維模型,有助于解決教學(xué)中的重點難點問題,從而提高教學(xué)效果。土木工程專業(yè)實踐性強,教學(xué)難度大,Web3D技術(shù)在土木工程專業(yè)教學(xué)中表現(xiàn)出獨特的優(yōu)勢和潛力,擁有廣闊的應(yīng)用前景。
[1]鄧文新.Web3D技術(shù)的教學(xué)研究[J].現(xiàn)代教育技術(shù),2002(4):68-69.
[2]宋志堅,李文生,左煥琛.Web模式的醫(yī)學(xué)斷層圖像三維重建[J].軟件學(xué)報,2001,12(11):1727-1731.
[3]張 蒙,陳澤琳,溫 武.基于VRML和Java的虛擬現(xiàn)實協(xié)同研究與設(shè)計[J].計算機(jī)工程與應(yīng)用,2001,37(13):156-157,169.
[4]肖 虓,黃曉萍.Web3D技術(shù)及新一代標(biāo)準(zhǔn) X3D[J].計算機(jī)與現(xiàn)代化,2003(10):39-42.
[5]張玉峰.“混凝土結(jié)構(gòu)”課程教學(xué)改革的探討[J].河海大學(xué)學(xué)報(哲學(xué)社會科學(xué)版),2002,4(sup):86-87,103.
[6]王春雨,張廣文.Cult3D技術(shù)及其在陶瓷產(chǎn)品展示中的應(yīng)用[J].中國陶瓷,2007,43(1):49-51.