劉尚蔚,張樹珺
(1.華北水利水電學(xué)院,河南 鄭州450045;2.中國科學(xué)院大學(xué),北京100049;3.南陽理工學(xué)院,河南 南陽473004)
虛擬現(xiàn)實(shí)建模語言(Virtual Reality Modeling Language,VRML)[1]是通過創(chuàng)建虛擬場景以達(dá)到逼近現(xiàn)實(shí)的效果,將Internet變成了一個廣闊的三維空間.探討基于VRML的虛擬現(xiàn)實(shí)語言標(biāo)準(zhǔn)將鋼結(jié)構(gòu)CAD圖形直接轉(zhuǎn)換為文本文件,使得復(fù)雜的三維圖形以抽象的符號信息在VRML環(huán)境下表現(xiàn)出來具有現(xiàn)實(shí)意義.
1)平臺環(huán)境無關(guān).VRML只作為顯示系統(tǒng)的通用性基礎(chǔ)構(gòu)架,可同時作為系統(tǒng)分析和設(shè)計的工具,與具體實(shí)現(xiàn)的軟件和硬件環(huán)境無關(guān).
2)C/S方式.訪問方式基于客戶機(jī)/服務(wù)器模式,服務(wù)器提供VRML文件.VRML用戶通過網(wǎng)絡(luò)將VRML文件及其引用的資源下載到本地機(jī)來訪問虛擬場景,實(shí)現(xiàn)了VRML的平臺無關(guān)性.VRML把虛擬世界看作場景,而場景中的對象看作節(jié)點(diǎn),節(jié)點(diǎn)的集合構(gòu)成了擴(kuò)展名為wrl的文件.
VRML的主要目的是在網(wǎng)頁中實(shí)現(xiàn)三維動畫效果以及用戶交互,是一種ASCII語言,改善了原來HTML 單調(diào)、交互性差的缺點(diǎn)[1-4].
1.2.1 VRML文件擴(kuò)展名及文件頭
VRML文件由文本編輯器編寫,其擴(kuò)展名為wrl或wrz,以wrl應(yīng)用較多.文件頭的語法格式如下:
#VRML V2.0 utf8
該文本行必須位于第一行,語法形式固定.其文件頭包括3個部分:VRML說明該文件是一個VRML文件;V2.0表明文件遵循 VRML2.0版本;utf8表示該VRML文件是國際utf8字符集的文件.
1.2.2 原型、造型、路由和腳本
1)原型.節(jié)點(diǎn)對其中的域、入事件和出事件的聲明,用戶可以通過原型擴(kuò)充VRML節(jié)點(diǎn)類型.
2)造型.物體的造型即是場景,場景由表述對象及其屬性的節(jié)點(diǎn)組成.第一類節(jié)點(diǎn)表述視覺和聽覺對象,另一類節(jié)點(diǎn)參考事件和路由機(jī)制.
3)路由.產(chǎn)生事件和接受事件的節(jié)點(diǎn)之間的通道.路由不是節(jié)點(diǎn).
4)腳本.用于定義復(fù)雜的事件,可以包含利用腳本描述語言編寫的函數(shù).還可以動態(tài)地增加或刪除路由.
1.2.3 事件體系
VRML的交互和動態(tài)性能通過事件體系實(shí)現(xiàn),事件為節(jié)點(diǎn)提供了接受外界消息和向其他節(jié)點(diǎn)發(fā)送消息的能力.節(jié)點(diǎn)通過事件入口接收事件,通過事件出口發(fā)送事件.
圖1 場景圖事件體系的概念執(zhí)行模型
1.2.4 基本內(nèi)容和節(jié)點(diǎn)分類
根據(jù)作用不同,VRML2.0分為以下幾種節(jié)點(diǎn).
1)形態(tài)和幾何節(jié)點(diǎn).通過這些節(jié)點(diǎn)可以構(gòu)造出原始物體造型.如Box(方盒),Cone(圓錐),Cylinder(圓柱)等.
2)幾何屬性節(jié)點(diǎn).如Color(顏色),Normal(法向量),Coordinate(坐標(biāo)),Position(位置),這些幾何節(jié)點(diǎn)的屬性節(jié)點(diǎn)相對獨(dú)立.
3)外觀節(jié)點(diǎn).如 Material(材質(zhì)),ImageTexture(圖像紋理),TextureTransform(紋理變換).
4)組節(jié)點(diǎn).組節(jié)點(diǎn)由一個域可以包含多個子節(jié)點(diǎn),每一個組節(jié)點(diǎn)為它的子節(jié)點(diǎn)定義了空間坐標(biāo).如Group(組),Transform(變換),Switch(開關(guān)).
5)其他節(jié)點(diǎn)的子節(jié)點(diǎn).如Sound(聲音),Shape(形態(tài)),F(xiàn)og(霧),LOD(細(xì)節(jié)層次).
6)非子節(jié)點(diǎn).如 Appearance(外觀),Text(文本)等.
以下6種節(jié)點(diǎn)在三維CAD圖形轉(zhuǎn)化為VRML文件時經(jīng)常使用,需要格外關(guān)注.
1)Viewpoint.通過該節(jié)點(diǎn),瀏覽者可以很容易地在虛擬空間中實(shí)現(xiàn)遠(yuǎn)距離傳送.
2)Transform.組節(jié)點(diǎn)Transform為子節(jié)點(diǎn)提供了相對于自身的局部坐標(biāo)系變換后的新坐標(biāo)系,其參數(shù)在其自身的局部坐標(biāo)系中定義,并不受自身坐標(biāo)系變換的影響.
3)Group.節(jié)點(diǎn)Group是所有節(jié)點(diǎn)中最基本的,也是應(yīng)用非常廣泛的一個節(jié)點(diǎn).它沒有坐標(biāo)變換,這一點(diǎn)與一般的組節(jié)點(diǎn)稍有不同.在很多情況下都用于管理節(jié)點(diǎn)層次.
4)Indexedfaceset.節(jié)點(diǎn) Indexedfaceset是用來在虛擬空間中構(gòu)造幾何面的,因為任何一個形體從理論上說都是有很多個面構(gòu)成的,利用Indexedfaceset節(jié)點(diǎn)就可以構(gòu)造出虛擬空間的任何幾何造型,可稱為萬能節(jié)點(diǎn).
5)Imagetexture.在虛擬現(xiàn)實(shí)中,每個實(shí)體也要有自己的紋理.雖然通過Material節(jié)點(diǎn)也可以控制造型的外觀材質(zhì),但其只是宏觀效果,一些細(xì)節(jié)效果還是通過紋理來實(shí)現(xiàn).
6)Scene Graph.該節(jié)點(diǎn)按照一定的規(guī)則構(gòu)成場景圖(Scene Graph).
利用AutoCAD可生成DXF文件的數(shù)據(jù)接口技術(shù),應(yīng)用高級編程語言把DXF文件里的實(shí)體信息提取出來,按照VRML文件格式進(jìn)行重新組合,以達(dá)到提高建模效率、減少數(shù)據(jù)冗余的目的.
AutoCAD為用戶提供了幾種文件格式,它們分別以 DWG,DXF,BMP,DWT 等為后綴.AutoCAD 軟件支持ASCII文本格式和二進(jìn)制格式的DXF文件,DXF文件主要用于與其他CAD系統(tǒng)及用戶應(yīng)用程序間的圖形信息交換.典型的DXF文件由標(biāo)題節(jié)(HEADER)、類節(jié)(CLASSES)、表節(jié)(TABLES)、塊節(jié)(BLOCKS)、實(shí)體節(jié)(ENTITIES)、對象節(jié)(OBJECTS)組成.表1給出了DXF文件的組成.表2表示了ENTITIES節(jié)中常用組碼的含義.
表1 DXF文件組成
DXF轉(zhuǎn)換VRML工作流程如圖2所示.
對于三維CAD圖形的DXF文件,有些文件格式是不可讀的偽編碼,需要根據(jù)CAD圖形先求出三維數(shù)據(jù)結(jié)構(gòu)和拓?fù)潢P(guān)系(角點(diǎn)、邊、環(huán)、面、體),再轉(zhuǎn)換為VRML的面結(jié)構(gòu)形式,可參閱相關(guān)文件.
圖3展現(xiàn)了某大型體育展館屋頂?shù)腣RML模型,它是根據(jù)CAD三維圖形的DXF輸出文件,利用Auspic DDD軟件轉(zhuǎn)換成VRML文件所展現(xiàn)的結(jié)果.
表2 ENTITIES節(jié)中常用組碼
在掌握VRML和DXF文件格式的基礎(chǔ)上,根據(jù)二者皆是以文本為存儲格式的情況,將CAD圖形向VRML文件轉(zhuǎn)化,達(dá)到了無縫轉(zhuǎn)換的目的,為工程圖的相互轉(zhuǎn)化提供了一種實(shí)用、有效的工具和方法.
[1]魏群.數(shù)字城市可視化仿真三維實(shí)體建模及虛擬現(xiàn)實(shí)軟件系統(tǒng)的自主研發(fā)[C]//第2屆中國國際數(shù)字城市建設(shè)會議論文.蘇州:2006.
[2]魏群,彭成山,姜華,等.鋼桁梁架設(shè)過程仿真技術(shù)研究[R].鄭州:華北水利水電學(xué)院鋼結(jié)構(gòu)與工程研究所,2008.
[3]魏群.邏輯產(chǎn)品模型的研發(fā)和應(yīng)用[C]//新世紀(jì)水利工程科技前沿.天津:天津大學(xué)出版社,2005.
[4]魏群.CIS/2鋼結(jié)構(gòu)國際標(biāo)準(zhǔn)及CAD系統(tǒng)的研發(fā)應(yīng)用[C]//第二屆中國國際鋼結(jié)構(gòu)大會論文集.北京:出版社不祥,2005.