虛擬現(xiàn)實(shí)技術(shù)與VRML
2.4VRML的構(gòu)造
本文引用地址:http://www.ex-cimer.com/article/202317.htm一個(gè)VRML文件包括了一些主要的功能部件:代寫論文文件頭,場(chǎng)景圖,原型和事件路由等,通過(guò)瀏覽器對(duì)VRML進(jìn)行處理以聲音和圖象的形式展現(xiàn)出來(lái),并且用戶可以與場(chǎng)景進(jìn)行交互。
(1)文件頭為方便識(shí)別VRML文件,每個(gè)VRML文件的開始都采用以下形式:
#VRML2.0ercoding type>[optional comment]line terminator>
(2)場(chǎng)景圖結(jié)構(gòu)
VRML文件用層次化的場(chǎng)景圖來(lái)描述三維對(duì)象和世界,在場(chǎng)景圖中的實(shí)體稱為節(jié)點(diǎn),VRML定義了54種不同的結(jié)點(diǎn)類型,其中包括幾何元素體及對(duì)外表特性、聲音及聲音特性,以及不同類型的群節(jié)點(diǎn)。節(jié)點(diǎn)在域中存放它們的數(shù)據(jù),VRML定義了20種類型的域,這些域可以用來(lái)存放從單個(gè)數(shù)據(jù)到三維旋轉(zhuǎn)矩陣。
VRML場(chǎng)景圖是一種單向圖,一個(gè)節(jié)點(diǎn)可以包含其他節(jié)點(diǎn)(一些類型的節(jié)點(diǎn)可能“子”節(jié)點(diǎn)),也可以被一個(gè)或多個(gè)節(jié)點(diǎn)所包含(它們可以有一個(gè)以上的“父”節(jié)點(diǎn)),但是一個(gè)節(jié)點(diǎn)不能包含自己。這樣的場(chǎng)景圖結(jié)構(gòu)可以容納由一些子模塊構(gòu)造大的或復(fù)雜的三維世界。
(3)事件結(jié)構(gòu)
VRML定義了事件或消息傳送機(jī)制,通過(guò)這些機(jī)制,場(chǎng)景圖中的節(jié)點(diǎn)可以相互通訊。每一節(jié)點(diǎn)定義了時(shí)間的名稱和類型,這些事件是該類型節(jié)點(diǎn)可以產(chǎn)生和經(jīng)受的。ROUTE語(yǔ)句定義了事件產(chǎn)生器和接收器之間的事件路徑。
(4)感知器
感知器是VRML基本的用戶交互和動(dòng)畫元素。當(dāng)時(shí)間流逝時(shí),T#39;lmeSemor節(jié)點(diǎn)就產(chǎn)生了事件,T#39;rmeSemor是所有動(dòng)畫行為基礎(chǔ)。其他感知器是所有用戶交互的基礎(chǔ),當(dāng)觀看者在三維世界中移動(dòng)或當(dāng)用戶使用一些輸入設(shè)備進(jìn)行交互操作時(shí),這些感知器就產(chǎn)生了事件。感知器只產(chǎn)生事件,它們必須通過(guò)ROUTE語(yǔ)句同其它節(jié)點(diǎn)一起使用才能在場(chǎng)景中產(chǎn)生可見(jiàn)的效果。
(5)腳本和插值器
可以在事件產(chǎn)生器和事件接收器之間插入腳本節(jié)點(diǎn)。腳本節(jié)點(diǎn)允許VRML編輯器用任何說(shuō)明支持的腳本語(yǔ)言定義任意的行為。VRML2.0定義了可以用Java和JavaScript以及E(MAScript語(yǔ)言裝的腳本節(jié)點(diǎn)。插值器節(jié)點(diǎn)實(shí)際上是完成簡(jiǎn)單的動(dòng)畫計(jì)算的內(nèi)置語(yǔ)言。它們通常和Tune.Sesmor以及場(chǎng)景圖中其它的節(jié)點(diǎn)一起使對(duì)象移動(dòng)。
(6)原型:封裝和重用
VRML2.0包括一種原型機(jī)制,可以對(duì)場(chǎng)景圖進(jìn)行封裝和重用。幾何、特性、動(dòng)畫和行為都可以分開或一起封裝。原型機(jī)制允許以現(xiàn)存節(jié)點(diǎn)類型的混合形式定義新的節(jié)點(diǎn)類型,這一機(jī)制使VRML更容易使用并且減少了VRML文件的大小。
(7)分布式場(chǎng)景
VRML2.0有兩種方法使一處定義的VRML世界分布于WWW網(wǎng)上。其中In-Line節(jié)點(diǎn)允許包含存儲(chǔ)在Web上的任何VRML文件,EX#39;IERNIPROTO語(yǔ)句可以由WWW網(wǎng)上任何地方來(lái)定義新的節(jié)點(diǎn)。更一般的情況是,EXTERNPROTO語(yǔ)句使節(jié)點(diǎn)在VRML文件皮外定義,這也是VRML基本的可擴(kuò)展機(jī)制。
(8)顯示和交互
VRML文件的解釋,執(zhí)行和顯示一般由瀏覽器來(lái)完成,瀏覽器將展現(xiàn)場(chǎng)景圖中的形狀和聲音,即所謂的“虛擬世界”,用戶可以在其中漫游,這一虛擬世界的顯示根據(jù)視點(diǎn)的變化而不同。瀏覽器提一些漫游方法(如步行或飛行)使用戶在虛擬世界中移動(dòng)視點(diǎn)的位置)。
除支持漫游外,瀏覽器還允許用戶通過(guò)場(chǎng)景圖層次中的感知器節(jié)點(diǎn)與虛擬世界進(jìn)行交互。
3 結(jié)束語(yǔ)
目前,盡管虛擬現(xiàn)實(shí)系統(tǒng)的硬件設(shè)備還比較昂貴,虛擬現(xiàn)實(shí)技術(shù)尚未能普及。但是,隨著虛擬現(xiàn)實(shí)技術(shù)的不斷發(fā)展和完善以及硬件設(shè)備價(jià)格的不斷降低,我們相信。虛擬現(xiàn)實(shí)技術(shù)最終會(huì)在各個(gè)領(lǐng)域廣泛應(yīng)用并發(fā)揮其重要作用。
虛擬現(xiàn)實(shí)作為一種全新的人——機(jī)接口技術(shù),必須研究用戶和計(jì)算機(jī)之間的協(xié)調(diào)關(guān)系問(wèn)題,這樣一個(gè)問(wèn)題只有通過(guò)大量的使用才能逐步解決,VRML以因特網(wǎng)作為應(yīng)用平臺(tái),最有希望成為構(gòu)筑虛擬現(xiàn)實(shí)應(yīng)用的基本構(gòu)架。VRML在電子商務(wù)、教育、工程技術(shù)、建筑、娛樂(lè)、藝術(shù)等領(lǐng)域的廣泛應(yīng)用,將會(huì)促使它迅速發(fā)展,并成構(gòu)建虛擬現(xiàn)實(shí)應(yīng)用系統(tǒng)的基礎(chǔ)。
VRML將創(chuàng)造一種融多媒體、三維圖形、網(wǎng)絡(luò)通訊、虛擬現(xiàn)實(shí)為一體的新型媒體,兼具先進(jìn)性和普及性,是關(guān)心三維圖形、多媒體、新一代網(wǎng)頁(yè)開發(fā)和虛擬現(xiàn)實(shí)技術(shù)的人士應(yīng)密切注意的。
參考文獻(xiàn):
[1]石教英.虛擬現(xiàn)實(shí)基礎(chǔ)及實(shí)用方法[M].科學(xué)出版社, 2000。
[2]Mark Peace.History of Virtual RmlityModeling
[3] VRML Architecture Group (VGA)。http://vag.vnn1.org.
更多計(jì)算機(jī)與外設(shè)信息請(qǐng)關(guān)注:21ic計(jì)算機(jī)與外設(shè)頻道
評(píng)論