[摘要]針對當(dāng)前網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,提出建立基于Internet的虛擬制圖模型室,并通過實(shí)例說明了虛擬現(xiàn)實(shí)模型的實(shí)現(xiàn)技術(shù)。
[關(guān)鍵詞]虛擬現(xiàn)實(shí) 模型庫 交互功能
一、引言
《工程制圖》課作為一門重要的專業(yè)技術(shù)基礎(chǔ)課,無論是在課堂教學(xué)還是課后作業(yè),教學(xué)模型都是教學(xué)手段的重要組成部分,發(fā)揮著積極的輔助教學(xué)作用。但是,實(shí)物模型普遍存在明顯的不足,這些在較大程度上直接影響了教學(xué)效果。通過普通的文字和圖片顯然也難以達(dá)到令人滿意的效果。隨著計(jì)算機(jī)軟件技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)化教學(xué)勢在必行,通過一些三維動(dòng)畫制作軟件以及VRML語言來構(gòu)造網(wǎng)絡(luò)虛擬模型室無疑是個(gè)不錯(cuò)的解決方案。
二、虛擬現(xiàn)實(shí)技術(shù)
虛擬現(xiàn)實(shí)(Virtual Reality)技術(shù)是一種能超越物理局限性和時(shí)空局限性的高級模擬手段。虛擬現(xiàn)實(shí)技術(shù)的基礎(chǔ)是虛擬現(xiàn)實(shí)建模語言VRML(Virtual Reality Markup Language),它作為一種描述虛擬環(huán)境中場景的標(biāo)準(zhǔn),可以在Internet建立交互式的三維多媒體的境界,可以對設(shè)定的模型和場景進(jìn)行實(shí)時(shí)渲染和交互,從而營造出一種栩栩如生的逼真效果,使學(xué)生在教學(xué)和學(xué)習(xí)中獲得親臨現(xiàn)場、身臨其境的感覺。
VRML源代碼編輯工具可以使用VRML Pad,這是一種功能強(qiáng)大的VRML開發(fā)設(shè)計(jì)專業(yè)軟件,完全支持VRML2.0標(biāo)準(zhǔn),而且還可以對資源文件、場景節(jié)點(diǎn)樹等進(jìn)行有效管理。為了查看VRML文件,需要一個(gè)VRML瀏覽器的插件,筆者使用Cortvrml。當(dāng)鼠標(biāo)停留在模型上時(shí),利用瀏覽器插件可以實(shí)現(xiàn)旋轉(zhuǎn)、平移、縮放等功能,從而達(dá)到全方位觀看立體模型的目的。
三、虛擬模型的實(shí)現(xiàn)
建立虛擬現(xiàn)實(shí)基本模型的方法有兩種:一種是完全用VRML代碼編程實(shí)現(xiàn),另一種是利用大型三維造型工具軟件,如采用Solid Works和3DMAX等先進(jìn)行造型,再將其文件轉(zhuǎn)化為VRML文件格式。
下面以圓柱與圓錐相貫為例,用VRML代碼編程實(shí)現(xiàn)建立虛擬模型。圖1是VRML Pad中的場景節(jié)點(diǎn)樹圖。構(gòu)建這個(gè)虛擬場景主要是完成一些節(jié)點(diǎn)的定義,主要的節(jié)點(diǎn)有Viewpoint視點(diǎn)節(jié)點(diǎn)、Cone圓錐節(jié)點(diǎn)和Cylinder圓柱節(jié)點(diǎn)等。Viewpoint視點(diǎn)節(jié)點(diǎn)的作用就是設(shè)置一個(gè)處于局部坐標(biāo)系的指定位置,用戶可以從該點(diǎn)來觀察場景,在每一個(gè)觀察點(diǎn),瀏覽器獲得圖像就像是使用一部虛擬的取景器在屏幕上播放一樣。Viewpoint視點(diǎn)節(jié)點(diǎn)有兩個(gè)關(guān)鍵的域值,即Position和Orientations域值說明了一個(gè)三維坐標(biāo),用于當(dāng)前坐標(biāo)系中視點(diǎn)的定位;Orientation域值提供了一個(gè)視點(diǎn)繞其旋轉(zhuǎn)的旋轉(zhuǎn)軸,旋轉(zhuǎn)角度指定了繞此軸旋轉(zhuǎn)的數(shù)值。Cone圓錐節(jié)點(diǎn)和Cylinder圓柱節(jié)點(diǎn)分別是圓錐和圓柱的形體造型節(jié)點(diǎn),通過對Geometry域值的參數(shù)設(shè)置可以獲得相應(yīng)尺寸的圓錐體和圓柱體,此外還可以對其材質(zhì)屬性進(jìn)行設(shè)置以獲得不同的顏色參數(shù)等。
由于篇幅問題,VRML程序的關(guān)鍵源代碼省略。圖2是VRML編程實(shí)現(xiàn)圓柱圓錐相貫的模型圖。
四、虛擬模型交互功能的實(shí)現(xiàn)
交互功能是VRML的一個(gè)重要特點(diǎn)。正是因?yàn)榻换?,才能有身臨其境的感覺。利用一些三維圖形軟件(如3DSmax、Pro/E等)先生成所需的三維形體后,利用路徑語句及內(nèi)插器節(jié)點(diǎn)、傳感器節(jié)點(diǎn)來實(shí)現(xiàn)三維動(dòng)畫,讓圖形根據(jù)我們的需要產(chǎn)生相對運(yùn)動(dòng),可以任意旋轉(zhuǎn)、移動(dòng)、變大、變小或改變顏色等。這些交互是通過感知器節(jié)點(diǎn)touch Sensor, Plane Sensor, Cylinder Sensor, Sphere Sensor, VisibilitySensor, Proximity –Sensor等實(shí)現(xiàn)的。例如,可用Touch Sensor節(jié)點(diǎn)為一個(gè)3D物體添加觸動(dòng)感知器,在瀏覽虛擬模型時(shí)觸動(dòng)該感知器,就可產(chǎn)生適當(dāng)響應(yīng),如出現(xiàn)該模型的二視圖或該模型的講解等??捎肞lane Sensor節(jié)點(diǎn)檢測鼠標(biāo)對象的動(dòng)作,使得對象可在X-Y平面移動(dòng),但是其方位并不發(fā)生變化。這種交互功能在網(wǎng)絡(luò)教學(xué)及工業(yè)技術(shù)領(lǐng)域有時(shí)甚至比三維動(dòng)畫效果還要有用。
下面是兩圓柱體的相貫的VRML代碼程序,說明圓柱位置發(fā)生變化時(shí)相貫線的變化過程。
#VRML V2.0 utf8
#//Cylinder move
Group{
children [
DEF B PlaneSensor{}
DEF B1 Transform{
translation 0 1 0
rotation 1 0 0 1.57
children [
Shape{
appearance Appearance{
material Material{
diffuseColor 1 0 0
}
}
geometry Cylinder{
radius 1.2 height 4
}}]}
DEF TS1 Transform{
translation 0 1 0
rotation 0 0 1 1.57
children [
Shape{
appearance Appearance{
material Material{
diffuseColor 0 0 1
}}
geometry Cylinder{
height 4
}}]}]}
ROUTE B. translation_changed TO B1. set_translation
通過以上程序生成的是兩圓柱體相貫的模型。用戶通過鼠標(biāo)拖動(dòng)平放的圓柱,可實(shí)時(shí)地改變兩圓柱軸線的相對位置,從而可觀察相貫線形狀的變化情況,見圖3。
五、虛擬模型庫的實(shí)現(xiàn)
建立三維模型后,就要對虛擬模型的數(shù)據(jù)進(jìn)行管理,即創(chuàng)建數(shù)據(jù)庫管理系統(tǒng)(DBMS)。利用SQL Sever的強(qiáng)大數(shù)據(jù)庫操作功能,可以實(shí)現(xiàn)模型數(shù)據(jù)的管理與存儲(chǔ)。由于這些三維實(shí)體建模軟件都已實(shí)現(xiàn)參數(shù)化,所以對同種類型的問題,只需要一次三維建模,便可動(dòng)態(tài)改變尺寸,根據(jù)需要隨時(shí)可對模型進(jìn)行任意的放大、縮小、剖切、旋轉(zhuǎn)、材質(zhì)及環(huán)境渲染等操作,這種效果是傳統(tǒng)模型無法達(dá)到的,學(xué)生的積極性和教學(xué)質(zhì)量勢必得到顯著提高。
六、結(jié)束語
虛擬模型庫將充分利用網(wǎng)絡(luò)資源,突破了過去傳統(tǒng)教學(xué)模式的局限
圖3 用Plane Sensor節(jié)點(diǎn)建立交互模型性,改善了現(xiàn)有教學(xué)資源不足的問題,從而使教學(xué)手段多樣化,將學(xué)習(xí)過程中抽象的知識(shí)簡單直觀的方式展示給學(xué)生,更好的培養(yǎng)了學(xué)生的空間想象能力和創(chuàng)新思維能力,提高了學(xué)習(xí)者的學(xué)習(xí)興趣,我們相信用VRML構(gòu)建的網(wǎng)上三維虛擬模型庫將在網(wǎng)絡(luò)遠(yuǎn)程教育中發(fā)揮巨大的作用。
參考文獻(xiàn):
[1]胡小強(qiáng),虛擬現(xiàn)實(shí)技術(shù)[M].北京:北京郵電大學(xué)出版社,2005.
[2]馮開平,左宗義.虛擬現(xiàn)實(shí)建模語言(VRML)在圖學(xué)教育中的應(yīng)用[J].電化教育研究,2000,86(6): 46- 48.
[3]劉亞姝,許小榮等.ASP動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù)與實(shí)踐[M].北京:電子工業(yè)出版社,2007.
(作者單位:陜西理工學(xué)院)