摘要 結(jié)合開發(fā)實(shí)踐,闡述高壓電氣設(shè)備三維虛擬實(shí)驗(yàn)系統(tǒng)中虛擬場景的建模與優(yōu)化,實(shí)現(xiàn)將虛擬實(shí)驗(yàn)與傳統(tǒng)實(shí)驗(yàn)相結(jié)合,有效提高實(shí)驗(yàn)教學(xué)的質(zhì)量。
關(guān)鍵詞 虛擬實(shí)驗(yàn);虛擬現(xiàn)實(shí)技術(shù);3D
中圖分類號 G434 文獻(xiàn)標(biāo)識碼 A 文章編號 1671-489X(2008)12-0087-02
1 引言
伴隨著計算機(jī)技術(shù)和虛擬仿真技術(shù)的發(fā)展,虛擬實(shí)驗(yàn)已被逐漸地引入實(shí)驗(yàn)教學(xué)。將虛擬實(shí)驗(yàn)與傳統(tǒng)實(shí)驗(yàn)相結(jié)合,使兩者相輔相成,揚(yáng)長避短,可以提高實(shí)驗(yàn)教學(xué)的教學(xué)質(zhì)量。
目前,國內(nèi)已有很多關(guān)于虛擬實(shí)驗(yàn)系統(tǒng)的研究。如北京郵電大學(xué)網(wǎng)絡(luò)教育技術(shù)研究所文福安教授,歷時2年開發(fā)了《數(shù)字電路》《電路分析》《中學(xué)物理電學(xué)虛擬實(shí)驗(yàn)》3門課程的單機(jī)版和網(wǎng)絡(luò)版的虛擬實(shí)驗(yàn)系統(tǒng)。大部分二維虛擬實(shí)驗(yàn)是基于美國國家儀器有限公司的虛擬實(shí)驗(yàn)開發(fā)工具LabView開發(fā)的。LabView是一個圖形化的開發(fā)環(huán)境,具有內(nèi)置的信號采集,測量分析與數(shù)據(jù)顯示功能。基于它可以開發(fā)出功能完善的二維虛擬實(shí)驗(yàn)系統(tǒng),但是這樣的虛擬實(shí)驗(yàn)系統(tǒng)缺少“實(shí)物感”。
虛擬現(xiàn)實(shí)技術(shù)具有沉浸性、交互性、自主性的特點(diǎn)[1],是一種高級的用戶界面技術(shù),可以增強(qiáng)虛擬實(shí)驗(yàn)的“實(shí)物感”。本文旨在探討基于虛擬現(xiàn)實(shí)技術(shù)與仿真技術(shù)的高壓電氣設(shè)備三維虛擬實(shí)驗(yàn)系統(tǒng)的建模與優(yōu)化。
2 高壓電氣設(shè)備三維虛擬實(shí)驗(yàn)系統(tǒng)的構(gòu)成
基于虛擬現(xiàn)實(shí)技術(shù)與仿真技術(shù)的高壓電氣設(shè)備三維虛擬實(shí)驗(yàn)系統(tǒng),由虛擬場景管理、輸入輸出設(shè)備的管理、虛擬仿真場景和支持場景4個子系統(tǒng)構(gòu)成,它們之間的關(guān)系如圖1所示。(圖1由上海交通大學(xué)計算機(jī)集成制造研究所虛擬現(xiàn)實(shí)研發(fā)部武殿梁提供。)

三維虛擬實(shí)驗(yàn)系統(tǒng)各子系統(tǒng)具有如下功能。
1)虛擬場景的管理:虛擬場景主要是負(fù)責(zé)場景導(dǎo)入、切換、保存。
2)輸入/輸出設(shè)備的管理:負(fù)責(zé)管理系統(tǒng)的輸入、輸出設(shè)備,檢測用戶的輸入,為用戶提供實(shí)驗(yàn)結(jié)果的輸出。
3)虛擬仿真場景:虛擬場景是根據(jù)后臺仿真場景的運(yùn)行情況,被實(shí)時渲染出來的三維虛擬場景。用戶可以通過數(shù)據(jù)手套、頭盔等外設(shè)與虛擬場景進(jìn)行交互,虛擬場景根據(jù)用戶的操作情況實(shí)時更新,并向仿真場景輸入?yún)?shù)。仿真場景根據(jù)輸入?yún)?shù)進(jìn)行實(shí)驗(yàn)的仿真計算,并將計算結(jié)果作為參數(shù)傳回給虛擬場景,虛擬場景根據(jù)返回的結(jié)果參數(shù)實(shí)時更新。
4)支持場景:支持場景對于用戶來說是透明的,不會被渲染,主要是為虛擬仿真場景提供后臺支持,如碰撞檢測計算、動力學(xué)計算等。
虛擬實(shí)驗(yàn)場景是用戶進(jìn)行虛擬實(shí)驗(yàn)的場所,學(xué)習(xí)者可以通過虛擬手操作實(shí)驗(yàn)儀器,進(jìn)行虛擬實(shí)驗(yàn)。筆者將分別從虛擬場景的構(gòu)建和優(yōu)化2個方面,介紹高壓電氣設(shè)備三維虛擬實(shí)驗(yàn)場景的設(shè)計與優(yōu)化。
3 高壓電氣設(shè)備三維虛擬實(shí)驗(yàn)場景的設(shè)計
3.1 虛擬場景的構(gòu)建虛擬場景是三維虛擬實(shí)驗(yàn)系統(tǒng)中非常重要的組成部分,是用戶進(jìn)行虛擬實(shí)驗(yàn)的虛擬實(shí)驗(yàn)室,其中包括進(jìn)行實(shí)驗(yàn)所需的虛擬實(shí)驗(yàn)儀器、實(shí)驗(yàn)臺等實(shí)驗(yàn)設(shè)備。
1)虛擬儀器的建模。在虛擬實(shí)驗(yàn)系統(tǒng)的開發(fā)中,項(xiàng)目組采用UGS NX 5.0 和Multigen Creator這2款軟件作為虛擬儀器的建模軟件。UGS NX 5.0用于模型的初步建模,Multigen Creator用于對初步模型進(jìn)行紋理和材質(zhì)的處理。
很多電氣設(shè)備上的器件是標(biāo)準(zhǔn)器件,為了避免重復(fù)性建模,可以將儀器體與附著在其上的標(biāo)準(zhǔn)器件分開建模,最后在虛擬場景的渲染過程中可以重復(fù)地使用標(biāo)準(zhǔn)器件,如圖2所示的工頻電壓控制箱、便攜式電壓發(fā)生器等虛擬設(shè)備的儀器體,以及圖3所示的標(biāo)準(zhǔn)器件。這樣既可以避免重復(fù)的建模工作,還可以提高虛擬場景的實(shí)時渲染速度。在虛擬場景中可以通過移動、旋轉(zhuǎn)、縮放等三維變換重復(fù)使用標(biāo)準(zhǔn)器件,并將它們裝配到虛擬儀器體上。
2)虛擬儀器的紋理與材質(zhì)。對于虛擬儀器的某些要求不是很精細(xì)的部分,可以通過三維貼圖的方式進(jìn)行構(gòu)建。通過三維貼圖可以極大地增強(qiáng)虛擬儀器的“逼真感”,并且可以減少模型的三角面片,提高場景的實(shí)時渲染速度。對于虛擬儀器不適合三維貼圖的部分,可以通過賦予物體材質(zhì)的方式增強(qiáng)它的“逼真感”。如圖2所示的虛擬儀器體,通過材質(zhì)和三維貼圖相結(jié)合的方式達(dá)到虛擬儀器的“逼真感”。

3.2 虛擬場景的優(yōu)化為了提高虛擬場景的渲染速度,避免給用戶造成長時間的交互等待,需要通過多種方式對虛擬場景進(jìn)行優(yōu)化。
1)調(diào)整虛擬儀器模型的層級結(jié)構(gòu)。模型數(shù)據(jù)庫的層級結(jié)構(gòu)組織形式對于實(shí)時系統(tǒng)渲染過程的遍歷操作和剔除過程有著重要的影響。一般而言,可以通過3種不同的形式來組織虛擬儀器模型數(shù)據(jù)庫。
①線形結(jié)構(gòu):把虛擬場景中的節(jié)點(diǎn)都作為一個單獨(dú)組節(jié)點(diǎn)的子節(jié)點(diǎn),整個虛擬儀器模型數(shù)據(jù)庫只有一個主節(jié)點(diǎn)。
②邏輯結(jié)構(gòu):對虛擬場景中的所有的物體節(jié)點(diǎn)按照某種邏輯結(jié)構(gòu)進(jìn)行分組,將它們分別放在相應(yīng)的邏輯組節(jié)點(diǎn)下。
③空間結(jié)構(gòu):根據(jù)虛擬儀器模型在場景中的具體位置來組織模型節(jié)點(diǎn),這樣實(shí)時系統(tǒng)可以加快遍歷操作和剔除操作。
一般來說,按照空間結(jié)構(gòu)對虛擬儀器模型數(shù)據(jù)庫進(jìn)行分組,可以較大地提高虛擬場景的渲染速度。因?yàn)閷?shí)時系統(tǒng)可以通過虛擬場景的空間結(jié)構(gòu),快速地判斷出哪些區(qū)域在或不在視錐體的可視范圍內(nèi),尤其是對于大規(guī)模的場景數(shù)據(jù)庫來說,這種優(yōu)化可以明顯地提高渲染速度[2]。
2)減少多邊形面片的數(shù)量。任何實(shí)時系統(tǒng)的圖形硬件,對于某個給定的幀率,只能計算處理有限數(shù)量的多邊形。如果模型數(shù)據(jù)庫的多邊形數(shù)量超過圖形硬件的處理能力,那么虛擬場景就不能被流暢地渲染。所以應(yīng)該在不影響視覺效果的前提下,用盡可能少的多邊形來表現(xiàn)盡可能豐富的虛擬實(shí)驗(yàn)場景。可以通過如下的多種方式來減少多邊形數(shù)量。
①多層次細(xì)節(jié)模型:使用LOD(多層次細(xì)節(jié)模型)技術(shù)創(chuàng)建包含不同細(xì)節(jié)程度的模型,可以在圖形硬件可以處理的范圍內(nèi)有效地提高虛擬場景的渲染效率,增強(qiáng)視覺效果。不同細(xì)節(jié)層次的虛擬儀器模型使用不同數(shù)量的多邊形,當(dāng)視點(diǎn)離物體模型越近時,使用細(xì)節(jié)程度越高的模型版本;而當(dāng)視點(diǎn)離物體模型越遠(yuǎn)時,使用細(xì)節(jié)程度越低的模型版本。
②用紋理代替模型細(xì)節(jié):使用紋理可以在很大程度上增強(qiáng)模型的“逼真感”,并且可以減少模型的面片數(shù)量而不會降低視覺效果。另外,對于使用LOD技術(shù)的模型,可以對不同細(xì)節(jié)層次的模型用不同分辨率的紋理。即對細(xì)節(jié)程度較高的模型使用高分辨率的模型,而對細(xì)節(jié)程度較低的模型使用低分辨率的紋理。
③刪除冗余多邊形:對于永遠(yuǎn)不會被顯示出來的冗余多邊形,可以在模型數(shù)據(jù)庫中手動刪除它們。如模型實(shí)體內(nèi)部的多邊形和背面多邊形都可以被刪除。除了手動刪除冗余多邊形外,還可以通過第三方軟件工具自動刪除冗余多邊形面片。
3)使用邊界體(bounding volume)。邊界體是一個包圍模型幾何體的最小不可見幾何體,如常用的長方形體型或球體型邊界體。可以在Creator建模軟件中為模型數(shù)據(jù)庫定義邊界體,這些邊界體可以被用于渲染虛擬場景時的碰撞檢測、剔除多邊形面片等操作。
4)靈活運(yùn)用裁剪面。裁剪面被用于定義可見范圍的最近平面和最遠(yuǎn)平面。可以通過改變裁剪面,控制模型數(shù)據(jù)庫在圖形視圖中的可見范圍。只有處于近裁剪面和遠(yuǎn)裁剪面之間的多邊形面片才會被顯示出來。對于大規(guī)模的模型數(shù)據(jù)庫而言,合理地設(shè)置裁剪面,可以明顯地加快模型數(shù)據(jù)庫在圖形視圖中的顯示速度,從而提高虛擬實(shí)驗(yàn)場景的渲染速度。

如圖4所示,用戶可以在虛擬場景中進(jìn)行實(shí)驗(yàn)操作。場景中的變壓器、供頻耐壓工作箱、便攜式高壓發(fā)生器等儀器體上都有很多小的標(biāo)準(zhǔn)器件,可以在場景中重復(fù)地調(diào)用標(biāo)準(zhǔn)器件,這樣可以減少顯卡內(nèi)存的負(fù)荷,加快渲染速度。對于變壓器等比較復(fù)雜的模型,在建模的過程中,通過合并多邊形面片、減少冗余面片、動態(tài)地改變裁剪面等方式,減少實(shí)時渲染系統(tǒng)的處理負(fù)荷,從而加快系統(tǒng)的響應(yīng)速度。
4 總結(jié)
在基于虛擬現(xiàn)實(shí)技術(shù)和仿真技術(shù)的三維虛擬實(shí)驗(yàn)系統(tǒng)的開發(fā)中,虛擬場景的構(gòu)建是很重要的一環(huán),它關(guān)系到虛擬場景的渲染速度。如果場景的渲染速度太慢,將會降低用戶交互的響應(yīng)速度,從而影響系統(tǒng)的整體使用效果。因此在虛擬場景的建模與實(shí)現(xiàn)的過程中,需要通過多種方式來優(yōu)化虛擬場景的渲染,提高三維虛擬實(shí)驗(yàn)軟件系統(tǒng)的質(zhì)量。
參考文獻(xiàn)
[1]SGI公司.OpenGL Performer Programmer’s Guide:Version 3.2.2004:xlv
[2]王乘,周均清,李利軍. Creator可視化仿真建模技術(shù)[M].武漢:華中科技大學(xué)出版社,2004:245-246