<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于虛擬現(xiàn)實技術(shù)的虛擬校園漫游系統(tǒng)優(yōu)化算法研究

          基于虛擬現(xiàn)實技術(shù)的虛擬校園漫游系統(tǒng)優(yōu)化算法研究

          作者: 時間:2011-12-30 來源:網(wǎng)絡 收藏

           現(xiàn)實 (virtual reality,VR)是一種可以創(chuàng)建和體驗世界的計算機,是指利用高性能的計算機生成逼真的視、聽、觸、嗅覺等一體化的環(huán)境,用戶借助必要的專用設備(如數(shù)據(jù)手套、頭盔)以 自然的方式與虛擬環(huán)境中的虛擬對象進行實時交互,相互作用,相互影響,從而產(chǎn)生身臨其境的感覺.

          本文引用地址:http://www.ex-cimer.com/article/161227.htm

            近年來,隨著計算機硬件的加速發(fā)展,在建筑環(huán)境實時中的應用成為人們關(guān)注的熱點.虛擬是城市規(guī)劃應用的基本功能之一,構(gòu)造一個虛擬,必須綜合應用計算機圖形、多媒體技術(shù)、傳感器技術(shù)、顯示技術(shù)以及網(wǎng)絡技術(shù)等多種計算機領(lǐng)域的最新技術(shù).文中根據(jù)第 2炮兵士官學校規(guī)劃設計,應用技術(shù)開發(fā)了桌面的“虛擬實時漫游系統(tǒng)”,該系統(tǒng)以中檔 Pc機為硬件平臺,對實時漫游系統(tǒng)的各種進行了深入。

            1 系統(tǒng)總體結(jié)構(gòu)

            為了保證整個場景能順利、流暢地在普通高檔微機上運行,同時達到實時漫游的功能,保證其安全、可靠地運行,按照任務側(cè)重點的不同,可將整個系統(tǒng)分解成場景模型子系統(tǒng)、漫游引擎子系統(tǒng)、輸入子系統(tǒng) 、渲染輸 出子系統(tǒng)等,它們在功能上相對獨立,通過數(shù)據(jù)接口相互聯(lián)系,其總體結(jié)構(gòu)如圖 1所示.

            

            2 模型及貼圖的

            2.1 三維復雜模型結(jié)構(gòu)的

            虛擬校園中有許多復雜結(jié)構(gòu)模型,如果模型數(shù)據(jù)庫中多邊形數(shù) 目超過系統(tǒng)的計算能力,在虛擬場景中漫游時幀處理將無法及時完成,場景變換的平滑性會受到破壞 .為了提高運行系統(tǒng)的實時性,必須對模型進行簡化處理,以減少數(shù)據(jù)庫的多邊形開銷,從下面幾個方面對模型進行簡化:

            1)使用 LOD表達復雜結(jié)構(gòu)模型.虛擬校園中有許多復雜模型必須用 LOD來表達,以使運行系統(tǒng)中的多邊形數(shù)控制在預算之內(nèi),有利于提高運行系統(tǒng)的實時性.

            2)用紋理代替多邊形表達結(jié)構(gòu)細節(jié).紋理映射能夠在不增加多邊形數(shù)目的前提下提高場景表達的詳實程度,用 LOD模型配合一定細節(jié)程度的紋理來代替多邊形模型會大大降低系統(tǒng)的繪制負載.

            3)刪除冗余多邊形.刪除數(shù)據(jù)庫中的冗余多邊形可以在一定程度上減少系統(tǒng)中的多邊形數(shù)量,這些多邊形可能是模型內(nèi)部的細節(jié)結(jié)構(gòu),某些多邊形的背面可能是位于某平面上的模型的底面,如地面上內(nèi)部不需漫游的房屋的底面等.可以用 3DSMAX中的 Optimize修飾器進行簡化 ,主要用于減少模型的面數(shù).值得注意的是,Optimize必須在貼圖之前進行,否則貼圖會發(fā)生扭曲.

            4)移除多邊形的背面.虛擬校園環(huán)境中組成絕大多數(shù)模型的多邊形都是單面可見,3DSMAX能 自動剔除多邊形的背面,僅顯示其前面,虛擬校園環(huán)境中除構(gòu)成樹木模型之外的絕大多數(shù)多邊形都是單面可見的.為減輕系統(tǒng)的運行負載,提高渲染速度,如果多邊形是單面可見,應確保其狀態(tài)沒被設定為 2side.

            2.2 紋理映射優(yōu)化

            虛擬校園中所使用的紋理是用數(shù)碼相機拍攝景物表面細節(jié)獲得的數(shù)字圖像來離散定義的,之后用3 DSMAX的紋理工具進行紋理映射和對紋理進行編輯 ;但系統(tǒng)中紋理的大小、數(shù)量和分辨率受運行系統(tǒng)中紋理存儲空間的限制.所以為了在不降低模擬真實性的前提下,使紋理占據(jù)的系統(tǒng)資源(如存儲空間)盡可能少,必須對紋理數(shù)據(jù)進行優(yōu)化,以提高系統(tǒng)的運行實時性.

            從以下幾個方面對紋理數(shù)據(jù)進行優(yōu)化:

            1)紋理大小的合理確定.紋理大小應根據(jù)圖形加速卡性能、運行系統(tǒng)的內(nèi)存及人的視覺生理特性等合理確定.為有效節(jié)省內(nèi)存,虛擬校園中所用紋理多數(shù)是512×512或更?。叻直媛实募y理只有當虛擬場景需近距離觀看時才使用.

            2)紋理內(nèi)部格式分辨率的優(yōu)化配置.紋理內(nèi)部格式分辨率決定了如何改變紋理數(shù)據(jù)各顏色分量的字節(jié)配置,以得到不同格式紋理在諸如性能、效率或圖像質(zhì)量等方面的不同效果.虛擬校園中的紋理數(shù)據(jù)做了如下的優(yōu)化處理:為節(jié)省內(nèi)存 ,將源數(shù)據(jù)采集效果較好 的多數(shù) RGB文件 內(nèi)部 格式分 配為 TX— RGB一5,RGBA文件的內(nèi)部格式分配為 TX—RGBA一4;有些紋理數(shù)據(jù)因為采集效果不理想,為保證圖像質(zhì)量,將其內(nèi)部格式設定為 TX—RGB一12.

            3)子紋理的運用.虛擬校園中有些表面的紋理細節(jié)差別較小,如不同路段的路面紋理等,采用子紋理進行處理,既避免了明顯的雷同,又節(jié)省了內(nèi)存.[

           3 漫游引擎子系統(tǒng)的優(yōu)化

            3.1 建立一個好 的層次結(jié)構(gòu)庫

            由于建立的模型的各個部分在層次圖中分別對應一塊面板,實時漫游系統(tǒng)將通過層次結(jié)構(gòu)圖來展示數(shù)據(jù)庫組成,一個有序的、有條理的層次結(jié)構(gòu)圖將使您的模型在實時漫游系統(tǒng)中以最快的速度和最正確的方式顯示出來.層次結(jié)構(gòu)庫也是一個可視化的數(shù)據(jù)結(jié)構(gòu)庫.這種結(jié)構(gòu)像一棵倒立的大樹,根在最上面,樹枝、樹葉在下面.它將展示出模型的結(jié)構(gòu)組織,各個組成部分以小面板的形式按照一種或多種樹形結(jié)構(gòu)排列,這樣的方式十分有利于模型的修改.通過在層次結(jié)構(gòu)圖中用鼠標點擊并拖動小面板來編輯任意一個面,例如,單擊便可編輯視圖中的任一模型結(jié)構(gòu)體,雙擊便可得到或修改結(jié)構(gòu)體的屬性.而且由于面在組中或?qū)嶓w中時按從左到右的順序排列,如果其中有一部分是按錯誤的順序排列,可以左移或右移面板來調(diào)整它們的順序.在顯示時,對于任意一點,Z—buffer將計算這一點附近所有物體到屏幕的距離 ,最近的物體的顏色將被賦給這一點,從而防止在建立面時需要對面進行轉(zhuǎn)換或排序.另外,好的層次結(jié)構(gòu)庫能夠更加方便地用于場景的挑選.換句話說,此虛擬場景結(jié)構(gòu)可以根據(jù)當前視點來挑選場景中的哪一部分是可以看到的.在渲染開始時,對不可視的幾何體元素不予處理,從而加強虛擬現(xiàn)實場景的渲染階段的性能.


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();