[摘要]針對當前網絡技術的迅猛發展,提出建立基于Internet的虛擬制圖模型室,并通過實例說明了虛擬現實模型的實現技術。
[關鍵詞]虛擬現實 模型庫 交互功能
一、引言
《工程制圖》課作為一門重要的專業技術基礎課,無論是在課堂教學還是課后作業,教學模型都是教學手段的重要組成部分,發揮著積極的輔助教學作用。但是,實物模型普遍存在明顯的不足,這些在較大程度上直接影響了教學效果。通過普通的文字和圖片顯然也難以達到令人滿意的效果。隨著計算機軟件技術和網絡技術的迅速發展,網絡化教學勢在必行,通過一些三維動畫制作軟件以及VRML語言來構造網絡虛擬模型室無疑是個不錯的解決方案。
二、虛擬現實技術
虛擬現實(Virtual Reality)技術是一種能超越物理局限性和時空局限性的高級模擬手段。虛擬現實技術的基礎是虛擬現實建模語言VRML(Virtual Reality Markup Language),它作為一種描述虛擬環境中場景的標準,可以在Internet建立交互式的三維多媒體的境界,可以對設定的模型和場景進行實時渲染和交互,從而營造出一種栩栩如生的逼真效果,使學生在教學和學習中獲得親臨現場、身臨其境的感覺。
VRML源代碼編輯工具可以使用VRML Pad,這是一種功能強大的VRML開發設計專業軟件,完全支持VRML2.0標準,而且還可以對資源文件、場景節點樹等進行有效管理。為了查看VRML文件,需要一個VRML瀏覽器的插件,筆者使用Cortvrml。當鼠標停留在模型上時,利用瀏覽器插件可以實現旋轉、平移、縮放等功能,從而達到全方位觀看立體模型的目的。
三、虛擬模型的實現
建立虛擬現實基本模型的方法有兩種:一種是完全用VRML代碼編程實現,另一種是利用大型三維造型工具軟件,如采用Solid Works和3DMAX等先進行造型,再將其文件轉化為VRML文件格式。
下面以圓柱與圓錐相貫為例,用VRML代碼編程實現建立虛擬模型。圖1是VRML Pad中的場景節點樹圖。構建這個虛擬場景主要是完成一些節點的定義,主要的節點有Viewpoint視點節點、Cone圓錐節點和Cylinder圓柱節點等。Viewpoint視點節點的作用就是設置一個處于局部坐標系的指定位置,用戶可以從該點來觀察場景,在每一個觀察點,瀏覽器獲得圖像就像是使用一部虛擬的取景器在屏幕上播放一樣。Viewpoint視點節點有兩個關鍵的域值,即Position和Orientations域值說明了一個三維坐標,用于當前坐標系中視點的定位;Orientation域值提供了一個視點繞其旋轉的旋轉軸,旋轉角度指定了繞此軸旋轉的數值。Cone圓錐節點和Cylinder圓柱節點分別是圓錐和圓柱的形體造型節點,通過對Geometry域值的參數設置可以獲得相應尺寸的圓錐體和圓柱體,此外還可以對其材質屬性進行設置以獲得不同的顏色參數等。

由于篇幅問題,VRML程序的關鍵源代碼省略。圖2是VRML編程實現圓柱圓錐相貫的模型圖。
四、虛擬模型交互功能的實現
交互功能是VRML的一個重要特點。正是因為交互,才能有身臨其境的感覺。利用一些三維圖形軟件(如3DSmax、Pro/E等)先生成所需的三維形體后,利用路徑語句及內插器節點、傳感器節點來實現三維動畫,讓圖形根據我們的需要產生相對運動,可以任意旋轉、移動、變大、變小或改變顏色等。這些交互是通過感知器節點touch Sensor, Plane Sensor, Cylinder Sensor, Sphere Sensor, VisibilitySensor, Proximity –Sensor等實現的。例如,可用Touch Sensor節點為一個3D物體添加觸動感知器,在瀏覽虛擬模型時觸動該感知器,就可產生適當響應,如出現該模型的二視圖或該模型的講解等??捎肞lane Sensor節點檢測鼠標對象的動作,使得對象可在X-Y平面移動,但是其方位并不發生變化。這種交互功能在網絡教學及工業技術領域有時甚至比三維動畫效果還要有用。
下面是兩圓柱體的相貫的VRML代碼程序,說明圓柱位置發生變化時相貫線的變化過程。
#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
通過以上程序生成的是兩圓柱體相貫的模型。用戶通過鼠標拖動平放的圓柱,可實時地改變兩圓柱軸線的相對位置,從而可觀察相貫線形狀的變化情況,見圖3。
五、虛擬模型庫的實現
建立三維模型后,就要對虛擬模型的數據進行管理,即創建數據庫管理系統(DBMS)。利用SQL Sever的強大數據庫操作功能,可以實現模型數據的管理與存儲。由于這些三維實體建模軟件都已實現參數化,所以對同種類型的問題,只需要一次三維建模,便可動態改變尺寸,根據需要隨時可對模型進行任意的放大、縮小、剖切、旋轉、材質及環境渲染等操作,這種效果是傳統模型無法達到的,學生的積極性和教學質量勢必得到顯著提高。

六、結束語
虛擬模型庫將充分利用網絡資源,突破了過去傳統教學模式的局限
圖3 用Plane Sensor節點建立交互模型性,改善了現有教學資源不足的問題,從而使教學手段多樣化,將學習過程中抽象的知識簡單直觀的方式展示給學生,更好的培養了學生的空間想象能力和創新思維能力,提高了學習者的學習興趣,我們相信用VRML構建的網上三維虛擬模型庫將在網絡遠程教育中發揮巨大的作用。
參考文獻:
[1]胡小強,虛擬現實技術[M].北京:北京郵電大學出版社,2005.
[2]馮開平,左宗義.虛擬現實建模語言(VRML)在圖學教育中的應用[J].電化教育研究,2000,86(6): 46- 48.
[3]劉亞姝,許小榮等.ASP動態網站開發技術與實踐[M].北京:電子工業出版社,2007.
(作者單位:陜西理工學院)