国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OSG虛擬漫游的設(shè)計與實現(xiàn)

2011-03-23 09:30陳定方
關(guān)鍵詞:環(huán)境變量碰撞檢測漫游

王 麗,陳 杰,李 佳,陳定方

(武漢理工大學(xué)智能制造與控制研究所,湖北 武漢 430063)

虛擬漫游技術(shù)是虛擬現(xiàn)實(VR)技術(shù)的重要分支,而場景實時漫游是虛擬現(xiàn)實技術(shù)的一個重要應(yīng)用.由于沒有制定具體的路線,人們可以在虛擬的環(huán)境中自由行走,不受時間、空間的限制,達到真正意義上的交互,因此該技術(shù)能夠給客戶帶來企業(yè)最直觀的展示.本文對OpenSceneGraph(OSG)圖形系統(tǒng)大型場景進行數(shù)字化采集數(shù)據(jù),然后通過三維建模建立大型場景,最終實現(xiàn)現(xiàn)實場景的虛擬漫游系統(tǒng)開發(fā).

1 場景建模

利用Google Earth大型場景的衛(wèi)星地圖為依據(jù),收集相關(guān)實體的結(jié)構(gòu)數(shù)據(jù)以及照片,通過使用3ds Max軟件對光照、紋理、材質(zhì)等多因素進行修理,進行實體建模.

2 場景模型的優(yōu)化

虛擬建筑場景漫游的最大難點在于建模逼真度和繪制實時性.由于這種漫游所看到的景象離觀察者近,要求繪制非常逼真的圖像.因此,構(gòu)造精細的建模,會消耗很多時間.同樣,由于計算機性能的制約,構(gòu)造出來的模型越復(fù)雜,在繪制時要達到實時效果就越困難,實時性太差會使觀察者無法接受.因此必須像重視建模本身一樣重視對場景模型的優(yōu)化[1].可以運用多層次細節(jié)(LOD)方法為場景生成不同的細節(jié)層次,這樣可大大減少繪制的計算量.還可以采取一些場景預(yù)處理辦法,例如用輻射度方法,可在漫游時省去許多光照的計算量.

3 建立三維場景模型

利用基于OSG技術(shù)開發(fā)的軟件——三維仿真軟件進行編輯并導(dǎo)出三維場景模型.將場景模型導(dǎo)入3dvri軟件中進行編輯(主要是進行攝影機的路線校正,以及天空盒的創(chuàng)建還有鏡頭光斑的設(shè)置等),最后將場景文件保存為ive格式的文件[2,3].

4 實現(xiàn)實時漫游

基于 OSG技術(shù),通過在 Microsoft Visutual stdio.NET平臺下開發(fā)的一個基于MFC的演示窗口,實現(xiàn)虛擬校園的漫游功能.

4.1 系統(tǒng)開發(fā)與環(huán)境設(shè)置

正確使用安裝包安裝OSG并完成OSG的編譯后,打開VS2005,選擇“工具”※“選項”命令打開“選項”對話框,展開“項目和解決方案”結(jié)點,選擇“VC++目錄”選項,在此設(shè)置包含文件和庫文件兩項,分別選擇OSG目錄中的include和lib文件夾所在的路徑[4].

具體設(shè)置方法如下.

1)包含文件和庫文件目錄分別設(shè)置為:

2)右擊“我的電腦”圖標(biāo),在彈出的快捷菜單中選擇“屬性命令”打開“系統(tǒng)屬性”對話框,選擇“高級”選項卡,單擊“環(huán)境變量”按鈕,在彈出環(huán)境變量對話框中設(shè)置下面兩個環(huán)境變量:

4.2 場景漫游

在瀏覽整個三維場景時,矩陣變換非常關(guān)鍵.通過適當(dāng)?shù)木仃囎儞Q可獲得各種移動或者渲染效果.此系統(tǒng)中自定義的漫游操作器T ravelManipulator是繼承于OSGGA::MatrixManipulator的.

編寫自定義場景漫游操作器的主要步驟如下.

1)編寫一個繼承自 osgGA::GUIEventHandler類的新類,class TravelManipulator:public osgGA::MatrixManipulator.

2)重載函數(shù)handle()及相關(guān)矩陣變換函數(shù),在handle()中添加合適的事件處理函數(shù),并指定執(zhí)行相關(guān)的動作.

在此函數(shù)中執(zhí)行相關(guān)動作如:

3)進行碰撞檢測.本系統(tǒng)中使用一種簡單的碰撞檢測方法(圖1).

圖1 簡單碰撞檢測

碰撞檢測實現(xiàn)代碼如下:

4)關(guān)聯(lián)該操作器到當(dāng)前視圖場景中,OSG不會自動啟動.該操作器代碼為

5 結(jié)論

使用該漫游系統(tǒng)操作方便,仿真度高,在實際應(yīng)用中獲得了較好的效果(圖2).

[1]丁建浩,王毅剛,潘志庚.采用大屏幕投影系統(tǒng)的虛擬河坊街漫游[J].杭州電子科技大學(xué)學(xué)報,2005,25(1):56-59.

[2]申閆春,朱幼虹,曹 莉,等.基于 OSG的三維仿真平臺的設(shè)計與實現(xiàn)[J].計算機仿真,2007,24(6):207-211.

[3]Bow man DA,Kruijff E,LaViola J,et al.3D user interfaces:theory and practice[M].Boston:Addison Wesley,2004.

[4]肖 鵬,劉更代,徐明亮.Open Scene Graph三維渲染引擎編程指南[M].北京:清華大學(xué)出版社,2010:14-15,265-275.

猜你喜歡
環(huán)境變量碰撞檢測漫游
全新預(yù)測碰撞檢測系統(tǒng)
從桌面右鍵菜單調(diào)用環(huán)境變量選項
基于BIM的鐵路信號室外設(shè)備布置與碰撞檢測方法
徹底弄懂Windows 10環(huán)境變量
霹靂漫游堂
NASA漫游記
空間遙操作預(yù)測仿真快速圖形碰撞檢測算法
BIM技術(shù)下的某辦公樓項目管線碰撞檢測
基于三階段DEA—Malmquist模型的中國省域城鎮(zhèn)化效率測度及其收斂分析
基于權(quán)變管理理論的科技期刊管理模式研究
吉林市| 绩溪县| 平乐县| 军事| 长治市| 瓦房店市| 蒙城县| 醴陵市| 崇州市| 罗山县| 南京市| 江华| 麻栗坡县| 万安县| 定兴县| 增城市| 贵溪市| 潼南县| 平谷区| 南丰县| 格尔木市| 长兴县| 伽师县| 东丰县| 平舆县| 南开区| 阿克| 丰宁| 志丹县| 剑河县| 湟中县| 仪陇县| 宁乡县| 彭泽县| 于都县| 洪洞县| 墨江| 会理县| 安吉县| 石家庄市| 萨嘎县|