《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于VRML的虛擬機房的設(shè)計與實現(xiàn)
基于VRML的虛擬機房的設(shè)計與實現(xiàn)
摘要: VRML(虛擬現(xiàn)實建模語言)是以虛擬現(xiàn)實為特征的3D Web技術(shù)的核心,它是一種描述交互式三維對象和世界的文件格式,,它允許你去描述一個現(xiàn)有的或想象的景物并將它放入虛擬的三維環(huán)境中,。隨著國際互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)技術(shù)和硬件設(shè)施的飛速發(fā)展,,虛擬現(xiàn)實技術(shù)將成為今后網(wǎng)絡(luò)多媒體發(fā)展方向的主流,。VRML作為一種ISO國際標(biāo)準(zhǔn)將得到越來越廣泛的應(yīng)用。
關(guān)鍵詞: 虛擬儀器 VRML 虛擬機房 3D Web
Abstract:
Key words :

       VRML(虛擬現(xiàn)實建模語言)是以虛擬現(xiàn)實為特征的3D Web技術(shù)的核心,,它是一種描述交互式三維對象和世界的文件格式,,它允許你去描述一個現(xiàn)有的或想象的景物并將它放入虛擬的三維環(huán)境中。隨著國際互聯(lián)網(wǎng)的普及,,網(wǎng)絡(luò)技術(shù)和硬件設(shè)施的飛速發(fā)展,,虛擬現(xiàn)實技術(shù)將成為今后網(wǎng)絡(luò)多媒體發(fā)展方向的主流。VRML作為一種ISO國際標(biāo)準(zhǔn)將得到越來越廣泛的應(yīng)用。

  1 虛擬機房的總體設(shè)計

  虛擬機房三維立體場景包含機房內(nèi)的各種三維立體造型,,如黑板,、電腦桌、電腦椅,、電腦,、空調(diào)、交換機,、門窗等,。系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。

  2.2 幾何建模的實現(xiàn)

  VRML2.O有著豐富的造型功能,,利用基本幾何體Geometry節(jié)點和描述物體表面性質(zhì)的Appearance節(jié)點,,可以創(chuàng)建各種形態(tài)的三維實體;再利用Light節(jié)點和Viewpoint節(jié)點可以建立光照和視點,,從而創(chuàng)建出逼真的虛擬場景,。


  各子對象的創(chuàng)建主要運用的是幾何建模技術(shù),先從形狀和外觀上進行建模,,再添加紋理映射的方法實現(xiàn)建模,。紋理數(shù)據(jù)來自實地用數(shù)碼相機拍攝的照片。

  2.2.1 交換機的建模

  現(xiàn)代機房中交換機是必不可少的設(shè)備,,交換機的建模采用Billboard組節(jié)點來實現(xiàn),。值得注意的是Billboard組節(jié)點中使用的紋理圖背景必須是透明的,這是使用Billboard組節(jié)點的關(guān)鍵,。通過Billboard組節(jié)點可以快速方便地創(chuàng)建一些靜態(tài)的模型,,例如虛擬機房中的空調(diào)等都可以用Billboard組節(jié)點創(chuàng)建。使用Billboard組節(jié)點創(chuàng)建的模型,,形象逼真,,具有很好的視覺效果;并且代碼量小,,渲染速度快。

  利用Billboard節(jié)點創(chuàng)建交換機的源代碼如下所示,。

  Billboard { axisOfRotation 0.0 1.0 0.O

  children[Shape{appearance Appearance{

  texture ImageTexture {url"jiaohuanji.png"}}

  geometry Box{size 3.O 3.0 3.0})]}

  運行效果如圖3所示,。

  2.2.2 門的建模

  虛擬機房的門是先使用VRML中的IndexedFaceSet面集節(jié)點建立造型,再貼上實拍的門的紋理貼圖,,做出逼真的虛擬門,,關(guān)鍵代碼如下。

  現(xiàn)實生活中的任何物體都是由各個平面組合而成的,,而VRML的IndexedFaceSet面集節(jié)點就是通過創(chuàng)建物體造型的各個面,,再賦予材質(zhì)和顏色,還可以添加不同的紋理貼圖,從而創(chuàng)建逼真的物體造型,。利用VRML的IndexedFaceSet面集節(jié)點幾乎可以創(chuàng)建現(xiàn)實生活中存在的任何物體造型,。虛擬機房中的房屋造型、電腦桌,、電腦椅,、電腦等造型都是使用IndexedFaceSet面集節(jié)點創(chuàng)建,再添加上實拍的紋理貼圖,,創(chuàng)建而成的,。

  2.3 交互功能的實現(xiàn)

  在虛擬機房場景中,使用Touchsensor節(jié)點,、TimeSensor節(jié)點,、OrientationInterpolator節(jié)點和Script節(jié)點,并用ROUTE把各個事件聯(lián)系起來,,創(chuàng)建了門的開,、關(guān)的交互動作。

  在虛擬機房的虛擬場景中,,當(dāng)鼠標(biāo)指向門時,,會出現(xiàn)一個手形指針,這時單擊鼠標(biāo),,門就會緩慢地開開,,再單擊鼠標(biāo),門又會緩慢地關(guān)閉,。實現(xiàn)代碼如下所示,。

  3 虛擬文件性能優(yōu)化

  三維場景的呈現(xiàn)是通過瀏覽器已默認視點為參照對場景描述文件的解釋而完成的,每當(dāng)視點發(fā)生改變,,瀏覽器就會重新計算場景中各對象的新位置并重新進行渲染,,因而會出現(xiàn)當(dāng)改變視點時,瀏覽器渲染的速度跟不上視點的變化速度,,從而產(chǎn)生停頓的現(xiàn)象,。為了解決此問題,采取了如下措施:

  (1)最大可能地使用重用機制,。在場景內(nèi),,有不少反復(fù)出現(xiàn)的物體,比地板磚,、電腦,、電腦桌、椅子,、燈等,,這些對象中形狀完全相同者,,采用DEF和USE的實例引用法進行復(fù)制,極大地簡化了文件,,減輕了瀏覽器的負擔(dān),。

  (2)利用Inline節(jié)點,減少文件的體積,,提高代碼的 重用率,;

  (3)利用LOD細節(jié)層次節(jié)點實現(xiàn)場景切換技術(shù),實現(xiàn)同一對象模型的自動轉(zhuǎn)換,。為場景中某一對象建立多個不同的模型,,當(dāng)視點離對象較遠時采用簡單模型,較近時采用細化模型,。

  4 總結(jié)

  文章介紹了在線虛擬機房的模型,、場景建模技術(shù)的詳細設(shè)計和實現(xiàn),構(gòu)建了一個基于VRML虛擬現(xiàn)實建模語言的虛擬機房,。VRML具有語法簡單,、三維建模功能強大、便于網(wǎng)上發(fā)布等優(yōu)點,,但仍不能滿足各行各業(yè)的需求,,一些高級交互功能的實現(xiàn)必須借助于Java等功能強大的高級語言來實現(xiàn)。Java和VRML相結(jié)合來建立三維虛擬世界,,將會在網(wǎng)絡(luò)上展現(xiàn)更逼真的三維虛擬場景,,給使用者更真實的感覺
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。