虛擬現(xiàn)實(shí)建模技術(shù)分析
本文關(guān)鍵詞:虛擬現(xiàn)實(shí)建模,由筆耕文化傳播整理發(fā)布。
(呼倫貝爾學(xué)院計(jì)算機(jī)系,內(nèi)蒙古 呼倫貝爾 021008)
摘 要: 文章對(duì)三維建模和虛擬現(xiàn)實(shí)技術(shù)在計(jì)算機(jī)圖形學(xué)領(lǐng)域中的應(yīng)用進(jìn)行了分析。
關(guān)鍵詞:虛擬現(xiàn)實(shí);VRML;建模技術(shù)
中圖分類號(hào):TP391.9 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007—6921(2008)21—0043—02
虛擬現(xiàn)實(shí)技術(shù)是近年來迅速發(fā)展的一門新興技術(shù),也是多媒體技術(shù)發(fā)展的更高境界。虛擬現(xiàn) 實(shí)(Virtual Reality,簡(jiǎn)稱VR),又稱臨境技術(shù),是最近幾年得到迅速發(fā)展的技術(shù)。虛擬現(xiàn)實(shí) 就是采用以計(jì)算機(jī)為中心的現(xiàn)代高科技,生成逼真的視、聽、觸、嗅覺等一體化的虛擬環(huán)境 ,以自然的方式與虛擬環(huán)境中的客體進(jìn)行交互作用、相互影響,從而產(chǎn)生身臨其境的感覺和 體驗(yàn)。實(shí)現(xiàn)一種虛擬幻覺。它是一種高級(jí)的仿真技術(shù),既可以做真實(shí)世界的物體仿真(如建 筑物模型),又可以做抽象物體的虛擬建模(如原子模型)。因此,虛擬現(xiàn)實(shí)技術(shù)在人工智能 、CAD、圖形仿真、虛擬通信、遙感、娛樂、軍事模擬訓(xùn)練的許多學(xué)科帶來革命的變化,將 對(duì)一個(gè)國家的國防、軍事、政治、經(jīng)濟(jì)、文化甚至日常生活產(chǎn)生深遠(yuǎn)的影響。
1 虛擬現(xiàn)實(shí)建模技術(shù)
虛擬現(xiàn)實(shí)涉及的關(guān)鍵技術(shù)主要有:大規(guī)模數(shù)據(jù)的場(chǎng)景三維建模技術(shù);動(dòng)態(tài)實(shí)時(shí)的立體視覺 、聽覺等生成技術(shù);三維定位、方向跟蹤、觸覺反憤等傳感技術(shù)和設(shè)備;符合人類認(rèn)知心理的 三維自然交互技術(shù);三維交互軟件及系統(tǒng)集成技術(shù)等。
虛擬現(xiàn)實(shí)建模技術(shù)的建模方法是虛擬現(xiàn)實(shí)技術(shù)中最重要的技術(shù)領(lǐng)域,也是虛擬現(xiàn)實(shí)技術(shù)中的關(guān)鍵技術(shù)之一,計(jì)算 機(jī)圖形學(xué)是虛擬現(xiàn)實(shí)的奠基石,在計(jì)算機(jī)圖形學(xué)中,被研究得最多的,也是最重要的研究方 向之一就是建模技術(shù)。建模技術(shù)的炮容十分廣泛,不僅涉及數(shù)學(xué)、動(dòng)力學(xué)、運(yùn)動(dòng)學(xué)等基礎(chǔ)學(xué) 科,同時(shí),還涉及機(jī)器人學(xué)、機(jī)械工程學(xué)和生物機(jī)械學(xué)等應(yīng)用學(xué)科。虛擬 現(xiàn) 實(shí) 發(fā)展至今 ,己有了許多的建模軟件。主要有:WTK(WorldTool Kit)是美國Sense 8公司研制的虛擬現(xiàn)實(shí) 系統(tǒng)應(yīng)用工具箱,是一套用來建造實(shí)時(shí)三維圖形應(yīng)用系統(tǒng)的工具;DWB (Designer's WorkBen ch)是一高逼真度的三維建模和模擬系統(tǒng),它是集三維模型、景觀和儀表圖形顯示為一體的 建模軟件;Open GL開放式圖形軟件是Silicon Graphics開發(fā)的一種建立圖形庫的語言;虛擬 現(xiàn)實(shí)建模語言VRML (Virtual Reality Modeling Language),,其目的是提供一種用于網(wǎng)上的 虛擬世界的描述方法,它使用VRML瀏覽器能解釋的ASCII文本格式來描述世界和鏈接,是實(shí) 現(xiàn)虛擬現(xiàn)實(shí)的較好工具。
2 利用VRML構(gòu)造動(dòng)態(tài)的虛擬現(xiàn)實(shí)模型
VRML2.0它能使構(gòu)造出的三維虛擬世界具有聲音,動(dòng)畫,人機(jī)交互等功能,從而使計(jì)算機(jī)生 動(dòng)逼真地模擬了真實(shí)的世界。實(shí)現(xiàn)動(dòng)態(tài)的虛擬現(xiàn)實(shí)是VRML2.0的生命力所在,VRML2.0提供了 多種構(gòu)造動(dòng)態(tài)虛擬現(xiàn)實(shí)模型的方法,以下將一一介紹。
2.1 使用插值器改變對(duì)象
插值器節(jié)點(diǎn)有很多種,各自完成不同的功能,如改變對(duì)象在場(chǎng)景中方向的OrientationInter polator節(jié)點(diǎn),用于改變觀察位置或形體位置的PositionInterpolator節(jié)點(diǎn),用于坐標(biāo)位置 運(yùn)動(dòng)的CoordinateInterpolator節(jié)點(diǎn),還有ColorInterpolator可以修改Material節(jié)點(diǎn)的顏 色,NormalInterpolator可以改變法向節(jié)點(diǎn)中的值等等,另外,ScalarInterpolator是一個(gè) 基本的構(gòu)造模塊,由它可以建造其他許多插值。使用插值器改變對(duì)象的原理大致是相同的, 這里以O(shè)rientationInterpolator節(jié)點(diǎn)實(shí)現(xiàn)旋轉(zhuǎn)對(duì)象為例子:
下面是OrientationInterpolator節(jié)點(diǎn)的定義:
OrientationInterpolator{
eventln SFFloat set fraction
exposedField MFFloat key [ ]
exposedField MFRotation keyValue [ ]
eventOut SFRotationvalue changed
}
它通常路由到一個(gè)Transform節(jié)點(diǎn)的rotation exposedField。其中的keyValue是一個(gè)SFRota tion,用來設(shè)立對(duì)象所期望的方向。在驅(qū)動(dòng)插值器過程中,由TimeSensor節(jié)點(diǎn)隨時(shí)間的流逝 產(chǎn)生0~1之間遞增的SFFloat值,每產(chǎn)生一個(gè)值,經(jīng)過路由Orientation Interpolator節(jié)點(diǎn)接收這個(gè)值,并把它的值與關(guān)鍵碼進(jìn)行匹配,一旦匹配成功,則對(duì)應(yīng)于這個(gè)關(guān)鍵碼(key)的關(guān) 鍵碼值(keyValue)被發(fā)送出去,如果這個(gè)值處于兩個(gè)相鄰的關(guān)鍵碼之間,則產(chǎn)生一個(gè)在與兩 個(gè)關(guān)鍵碼相對(duì)應(yīng)的關(guān)鍵碼值之間進(jìn)行插值的事件,得到的關(guān)鍵碼值又通過第二條路由,使Tr ansform節(jié)點(diǎn)接收到這個(gè)值,從而改變立體的位置。簡(jiǎn)單地講,使用插值器改變對(duì)象形成動(dòng) 畫,用戶只需給出一系列運(yùn)動(dòng)軌跡的中間態(tài)勢(shì),由VRML解釋器自動(dòng)平滑對(duì)象在這些中間態(tài)勢(shì) 間過渡,從而得到使對(duì)象按所給路線變化的動(dòng)態(tài)效果。
2.2 在對(duì)象上包裝電影文件
把電影作為一個(gè)移動(dòng)的紋理施加到對(duì)象上,能使虛擬世界呈現(xiàn)一種動(dòng)態(tài)效果。例如在一個(gè)虛 擬房間中放置了一臺(tái)電視機(jī),當(dāng)漫游者進(jìn)入房間時(shí),看見電視機(jī)屏幕上正在放映電視或電影 ,而并非一副靜止死板的圖像,顯然就大大地增強(qiáng)了虛擬世界的逼真程度。
由MovieTexture節(jié)點(diǎn)完成對(duì)對(duì)象的包裝,利用這個(gè)節(jié)點(diǎn),提供MPEG文件的URL和域值來控制 電影的播放時(shí)間和速度。該節(jié)點(diǎn)語法如下:
MovieTexture{
exposedField MFString url []
exposedField SFFloat speed 1
exposedField SFBool loop FALSE
exposedField SFTime startTime 0
exposedField SFTime stopTime 0
field SFBool repeatS TRUE
field SFBool repeatT TRUE
eventOut SFTime duration_changed
eventOut SFBool isActive
}
MovieTexture節(jié)點(diǎn)中的url域包含一個(gè)電影格式的文件,而不是一個(gè)靜態(tài)圖像文件,每一個(gè)M PEG電影都存儲(chǔ)了一系列電影畫面,電影的播放可以有開始、停止、繼續(xù)、循環(huán)進(jìn)行播映。
2.3 使用角色,進(jìn)行對(duì)象切換來構(gòu)造動(dòng)畫效果
所謂角色是指一個(gè)平坦的始終面向閱讀器的圖像,它是一種在虛擬世界中的2D對(duì)象,可以渲 染地更快,但是它是平面的,如果從側(cè)面看它們,它們就會(huì)消失掉,為了得到滿意的效果, 角色需要始終面向觀眾。
把一個(gè)動(dòng)畫分解成很多靜態(tài)圖片,然后連續(xù)播放,給人的視覺造成動(dòng)畫效果。這就是動(dòng)畫角 色的原理。
角色的切換是由MySwitch節(jié)點(diǎn)完成的,該節(jié)點(diǎn)可以根據(jù)變化的whichchoice的值選擇相應(yīng)的 節(jié)點(diǎn)顯示。由TimeSensor節(jié)點(diǎn)給出動(dòng)畫開始時(shí)間,把fractiones changed事件的值傳遞到My Script節(jié)點(diǎn),并被該節(jié)點(diǎn)的fraction函數(shù)處理,得到whichChoice事件的值,最后把whichCh oice事件的值傳遞到MySwitch節(jié)點(diǎn),從而隨時(shí)間的流逝依次選擇一個(gè)角色顯示出來,直至?xí)r 間結(jié)束完成整個(gè)動(dòng)畫過程。
2.4 視點(diǎn)動(dòng)畫
由于VRML提供視點(diǎn)Viewpoint節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)允許為用戶設(shè)置一個(gè)有趣的理想點(diǎn)的位置和方 向,通過不斷改變視點(diǎn)的位置和方向可以達(dá)到和不斷改變對(duì)象位置和方向相似的動(dòng)畫效果。 用戶可以從該點(diǎn)來觀察場(chǎng)景,在第一個(gè)新的觀察點(diǎn),瀏覽器獲得的圖像就像是使用一部虛擬 的取景器在屏幕上播放一樣。替身在虛擬空間中的移動(dòng),就使得取景器不斷地調(diào)整其位置和 朝向。當(dāng)Viewpoint節(jié)點(diǎn)是Transform節(jié)點(diǎn)的子節(jié)點(diǎn)時(shí),視點(diǎn)的方位是在Transform節(jié)點(diǎn)的坐 標(biāo)系內(nèi),如果坐標(biāo)系移動(dòng),則視點(diǎn)也隨著移動(dòng)。
如果虛擬世界是靜止的,而世界的作者能夠控制用戶的化身并帶領(lǐng)他在世界中漫游(比如展 示一個(gè)博物館的整體構(gòu)造),在用戶眼中就會(huì)產(chǎn)生動(dòng)畫效果。過程是把fraction changed事 件(產(chǎn)生的時(shí)間)值傳遞到旋轉(zhuǎn)節(jié)點(diǎn)(Orientationlnterpolator)和位置節(jié)點(diǎn)(PositionInterp olator)以產(chǎn)生新的視點(diǎn)方向和位置,分別把新產(chǎn)生的視點(diǎn)方向傳遞到視點(diǎn)(Viewpoint)節(jié)點(diǎn) 中以改變?cè)鹊闹担瑥亩a(chǎn)生動(dòng)畫效果。
2.5 使用紋理坐標(biāo)的動(dòng)畫
如果把一副二維圖像包裹在對(duì)象上來進(jìn)行著色,就像在墻上貼墻紙一樣,也能得到很好的效 果,這種二維圖像叫做紋理,節(jié)點(diǎn)ImageTexture負(fù)責(zé)添加紋理,紋理圖像一般是JPEG文件, 有時(shí)也可以是PNG或GIF文件。
假設(shè)要虛擬一個(gè)瀑布,可以在一個(gè)幾何體上施加一種水的紋理,但是這種紋理是靜止的,要 讓它動(dòng)起來,有一種比較簡(jiǎn)單的方法:設(shè)It對(duì)紋理與對(duì)象之間的映射所進(jìn)行的變換,即通過T extureTransform節(jié)點(diǎn)移動(dòng)、縮放或旋轉(zhuǎn)紋理,以產(chǎn)生動(dòng)畫效果。在水的紋理變換上,可以 使紋理在縱向坐標(biāo)上按時(shí)間循環(huán)地移動(dòng),用戶就會(huì)看到瀑布落水的動(dòng)畫了。
VRML2.0提供大約五種構(gòu)造動(dòng)態(tài)虛擬模型的方法,這幾種方法分別適用不同場(chǎng)合,例如在漫 游時(shí)使用視點(diǎn)移動(dòng)來產(chǎn)生動(dòng)態(tài)效果,在繪制波光粼粼的湖面時(shí)用紋理坐標(biāo)的移動(dòng)來虛擬現(xiàn)實(shí) ,在描述正放著電影的電影院時(shí)自然是用電影文件來包裹電影屏幕了。
[參考文獻(xiàn)]
[1] 任愛華多用戶虛擬現(xiàn)實(shí)建模技術(shù)研究[D]華中科技大學(xué)碩士學(xué)位論文,2 002.5(3):5~6.
[2] 張國榮虛擬現(xiàn)實(shí)技術(shù)及其應(yīng)用與展望[J]廈門科技,1997,(4):5~6.
[3] 劉文亮基于VRML的虛擬現(xiàn)實(shí)中三維建模技術(shù)的研究[D]武漢:武漢理工 大學(xué)碩士學(xué)位論文,2003,(5).
本文關(guān)鍵詞:虛擬現(xiàn)實(shí)建模,由筆耕文化傳播整理發(fā)布。
本文編號(hào):45553
本文鏈接:http://www.lk138.cn/kejilunwen/jisuanjikexuelunwen/45553.html