摘要:隨著Internet的發(fā)展,以虛擬現(xiàn)實(shí)建模語(yǔ)言(Virtual Reality Modeling Language,簡(jiǎn)稱VRML)為代表的基于WWW的虛擬現(xiàn)實(shí)建模技術(shù)正在日益受到廣泛的重視。本文根據(jù)VRML的繁雜性,討論了基于VRML進(jìn)行三維仿真環(huán)境建模的主要實(shí)現(xiàn)方法,從而提高創(chuàng)建三維仿真空間和實(shí)體的效率。
關(guān)鍵詞:虛擬現(xiàn)實(shí)建模語(yǔ)言;建模;三維
中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)20-30371-02
Research on Modeling of 3D Simulation Environment Based on VRML
JIA Xin-yu
(Department of Computer, Aviation University of Air Force, Changchun 130022, China)
Abstract: With the development of Internet, more emphasize has been put on the technology of Virtual Reality modeling, which is based on the WWW. The representative one is VRML(Virtual Reality Modeling Language). The paper discussed some essential methods of how to model 3D simulation based on VRML, so improved greatly 3D environments and objects modeling.
Key words: Virtual Reality Modeling Language; Modeling; 3D
1 引言
虛擬現(xiàn)實(shí)(Virtual Reality,簡(jiǎn)稱VR)是隨著計(jì)算機(jī)技術(shù)及圖形處理技術(shù)的進(jìn)步而不斷發(fā)展成熟的一門新技術(shù)。
VR可以將人們的視覺帶入一個(gè)近乎真實(shí)世界的三維空間中,其交互式的特性更使人感到身臨其境,從而在模擬訓(xùn)練、產(chǎn)品設(shè)計(jì)、商品展示、游戲娛樂(lè)等許多領(lǐng)域顯示出巨大的應(yīng)用前景。WWW的出現(xiàn)產(chǎn)生了HTML,同時(shí)CGI使得Web有了更強(qiáng)的交互功能。隨著網(wǎng)絡(luò)的普及和人們對(duì)Web日益增長(zhǎng)的需求,WWW需要不斷地注入新的活力,于是VRML應(yīng)運(yùn)而生。VRML改變了原來(lái)WWW單調(diào)、交互性差的弱點(diǎn),將人們的運(yùn)動(dòng)行為作為瀏覽的主體,向用戶提供虛擬的三維空間。
但是,由于VRML自身的規(guī)范復(fù)雜性,對(duì)三維實(shí)體、場(chǎng)景的三維幾何體構(gòu)造需要大量的數(shù)據(jù)。而且,用戶在將其所需的三維造型直接用VRML規(guī)范的數(shù)據(jù)格式實(shí)現(xiàn)時(shí)存在較大的技術(shù)難題,這造成利用VRML建模、仿真效率低下。因此,為解決這些難題,立足于VRML現(xiàn)有的規(guī)范,本文探討并歸納了VRML進(jìn)行三維仿真的實(shí)現(xiàn)方法。
2 規(guī)則幾何體建模
VRML支持多種規(guī)則結(jié)構(gòu)的幾何體造型,包括立方體、圓錐體、圓柱體、球體和其他幾種幾何結(jié)構(gòu)(如拉伸造型和高程網(wǎng)格等)。三維仿真場(chǎng)景包括多個(gè)子場(chǎng)景,子場(chǎng)景是由多個(gè)仿真實(shí)體構(gòu)成,而每個(gè)仿真造型則由若干基本三維幾何體節(jié)點(diǎn)構(gòu)成(如圖1所示)。因此,這些規(guī)則幾何體節(jié)點(diǎn)是構(gòu)建復(fù)雜的三維空間環(huán)境的基礎(chǔ)和前提。
一個(gè)規(guī)則的幾何體通常由長(zhǎng)(Length)、寬(Width)、高(Height)等參數(shù)進(jìn)行描述,通過(guò)計(jì)算出幾何體在三維空間中坐標(biāo)的連線來(lái)實(shí)現(xiàn)真實(shí)物體或場(chǎng)景的仿真效果。一個(gè)真實(shí)的事物在計(jì)算機(jī)中可以認(rèn)為是由有限個(gè)微小或特定的立方體、圓柱體、圓錐體、球體等規(guī)則幾何體構(gòu)成,所以對(duì)這些規(guī)則的幾何體的建模方法進(jìn)行規(guī)范,就可以提升三維仿真的效率。
3 復(fù)雜幾何體建模
復(fù)雜的幾何體通常由任意形狀、數(shù)量的曲線、曲面組成。在構(gòu)造復(fù)雜幾何體之前,可以預(yù)先定義一些高級(jí)造型節(jié)點(diǎn),如:PointSet、IndexedFaceSet、Extrusion、ElevationGrid和Coordinate節(jié)點(diǎn)。如果是簡(jiǎn)單點(diǎn)和線的造型,而無(wú)須填充多邊形(如直線、曲線和網(wǎng)格),可以利用PointSet節(jié)點(diǎn)中的點(diǎn)集,畫出連續(xù)的或者離散的點(diǎn)和線;如果是構(gòu)造任意曲面,可以利用IndexedFaceSet節(jié)點(diǎn);Extrusion節(jié)點(diǎn)則應(yīng)用于高效建造管狀對(duì)象和彎曲對(duì)象;ElevationGrid節(jié)點(diǎn)通常用于繪制地形圖和建造地形;Coordinate節(jié)點(diǎn)是用來(lái)為PointSet、IndexedFaceSet等節(jié)點(diǎn)定義任意三維構(gòu)造點(diǎn)的節(jié)點(diǎn),即PointSet、IndexedFaceSet等節(jié)點(diǎn)利用Coordinate節(jié)點(diǎn)來(lái)指定點(diǎn)集中點(diǎn)的三維坐標(biāo)。
3.1 點(diǎn)集(PointSet)
一個(gè)VRML的點(diǎn)是一個(gè)虛擬的點(diǎn),點(diǎn)集是一些具有各自位置的點(diǎn)的集合。三維虛擬空間的構(gòu)建可以利用坐標(biāo)來(lái)指定一個(gè)點(diǎn)的位置和顏色等屬性,即三個(gè)參數(shù)X、Y、Z。
3.2 索引線集(IndexedLineSet)
VRML中的線集是虛擬空間的兩端點(diǎn)連線的集合。與點(diǎn)集中的點(diǎn)一樣,利用坐標(biāo)就可以設(shè)置線集中線的端點(diǎn)。通過(guò)起點(diǎn)和終點(diǎn)的連接建立直線,直線組連線組成折線。VRML中并不需要將已設(shè)置的坐標(biāo)反復(fù)書寫,而是建立索引表,將這些坐標(biāo)點(diǎn)分別存入其內(nèi),使用時(shí)只需用其相應(yīng)的索引號(hào)指定即可。
3.3 索引面集(IndexedFaceSet)
面的集合即為面集。利用IndexedFaceSet節(jié)點(diǎn)可以創(chuàng)建復(fù)雜的面造型。兩個(gè)不在同一平面上的面相交于一條直線所得到的一組面就是折疊面。折疊面是面集中最常見的,也是三維幾何體的重要組成部分。分組折疊面組合到一起可以組成凸起的或者凹陷的面,在VRML中默認(rèn)地將這些凸面和凹面統(tǒng)稱為凸面(即可見面)。
3.4 擠出面(Extrusion)
旋轉(zhuǎn)體以及旋轉(zhuǎn)體的旋轉(zhuǎn)軸扭曲變化成空間曲線時(shí)的形體,如果用面集來(lái)構(gòu)造,其數(shù)據(jù)量和計(jì)算量都是十分龐大和繁雜的。Extrusion節(jié)點(diǎn)可以一個(gè)緊湊的方式描繪這種類型的三維空間造型。任何擠出過(guò)程都由四個(gè)重要參數(shù)定義:擠出剖面、指定擠出軌跡的脊線、沿脊線的點(diǎn)上限定擠出剖面的比例、沿脊線點(diǎn)上的擠出剖面的定位。
3.5 高程格網(wǎng)(ElevationGrid)
真實(shí)的三維空間環(huán)境中,地形、地貌是一個(gè)非常重要的組成部分。利用ElevationGrid節(jié)點(diǎn)在構(gòu)造地形、山脈時(shí)只提供每一個(gè)點(diǎn)的Y值,而不是所有值。它利用XOZ(水平面)上的點(diǎn)定義一系列網(wǎng)點(diǎn),然后為網(wǎng)格的每一個(gè)點(diǎn)指定一個(gè)Y坐標(biāo)值,這些Y坐標(biāo)值則指定表面頂點(diǎn)的高度或者海拔。對(duì)于柵格中的每一個(gè)表面,Y和Z的坐標(biāo)值表明了區(qū)域表面的頂點(diǎn),從而創(chuàng)建了崎嶇不平的三維空間、地形。
4 建模優(yōu)化
通過(guò)對(duì)基于VRML的三維空間場(chǎng)景文件的研究,可以從以下幾個(gè)方面有效地提高網(wǎng)絡(luò)傳載和運(yùn)行速度。
4.1 DEF定義和USE引用
使用DEF,即定義實(shí)例;使用USE,即引用實(shí)例。在場(chǎng)景設(shè)計(jì)中,經(jīng)常會(huì)遇見在一個(gè)場(chǎng)景中有相同或相近的造型對(duì)象共存的情況,那么,在對(duì)首先出現(xiàn)的造型對(duì)象進(jìn)行詳盡的描述并定義(DEF)名稱后,就形成一個(gè)由DEF定義的實(shí)例,當(dāng)相同或相近造型對(duì)象需要描述時(shí),只需要對(duì)最先出現(xiàn)的造型實(shí)例進(jìn)行引用(USE),并做適當(dāng)修改即可。
4.2 渲染優(yōu)化
當(dāng)瀏覽者在VRML空間中游走時(shí),場(chǎng)景應(yīng)該實(shí)時(shí)地渲染并做出變化。所以,在完成對(duì)VRML文件體積優(yōu)化的同時(shí),還需要考慮的問(wèn)題就是盡可能使瀏覽者能夠平滑且連續(xù)地漫游VRML構(gòu)造的虛擬空間。要使VRML世界具有交互性,使瀏覽者如同在真實(shí)環(huán)境中活動(dòng),應(yīng)該滿足大于10幀每秒的速率;小于這個(gè)速率就會(huì)降低視覺的連續(xù)性。為了提高渲染的速度,在場(chǎng)景設(shè)計(jì)中應(yīng)使用諸如Inline節(jié)點(diǎn)、Anchor節(jié)點(diǎn)以及減少多邊形等方法來(lái)達(dá)到要求。
5 結(jié)束語(yǔ)
目前,虛擬現(xiàn)實(shí)仿真技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、國(guó)防等領(lǐng)域,基于VRML的虛擬現(xiàn)實(shí)技術(shù)更是這一些領(lǐng)域中的基礎(chǔ)性知識(shí)。通過(guò)對(duì)基于VRML的三維幾何體建模實(shí)現(xiàn)方法的總結(jié)與歸納,優(yōu)化了VRML實(shí)現(xiàn)復(fù)雜的三維空間環(huán)境仿真
效果,從而更好的將其服務(wù)于各個(gè)前沿領(lǐng)域之中。
參考文獻(xiàn):
[1] Sherman B and Judkins P. Glimpses of Heaven, Visions of Hell. Virtual Reality and its implications[M]. Hodder and Stoughton: London, 1992.
[2] Ivan E Sutherland. The Ultimate Display[A]. In Proceeding of the IFIP Congress[C]. 1965.
[3] Manetta C and Blade R. Glossary of Virtual Reality Terminology[J]. International Journal of Virtual Reality,1995,1.
[4] Walczak, K.; Cellary, W.;X-VRML for advanced virtual reality applications. Computer, 2003, 36(3): 89-92.
[5] Taubin, G.; Horn, W.P.; Lazarus, F.; Rossignac, J.; Geometry coding and VRML Proceedings of the IEEE, 1998, 86(6):1228-1243.
[6] VALERIE D, LEHNE R, THOMAS A. Distributed virtual reality: Upporting remote collaboration in vehicle design[J]. IEEE Computer graphics and Applications, 1997,17(2):13-17.