基于ssh的新一代室內(nèi)模型調(diào)度策略研究_第1頁
基于ssh的新一代室內(nèi)模型調(diào)度策略研究_第2頁
基于ssh的新一代室內(nèi)模型調(diào)度策略研究_第3頁
基于ssh的新一代室內(nèi)模型調(diào)度策略研究_第4頁
基于ssh的新一代室內(nèi)模型調(diào)度策略研究_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于ssh的新一代室內(nèi)模型調(diào)度策略研究

吉普城市的gis以三維形式顯示數(shù)據(jù),包括三維城市模型(3d城市模型s)和真實(shí)表面表達(dá)。地表(DEM和DOM)都是柵格數(shù)據(jù),而三維城市模型主要是指城市地區(qū)地形表面以上和以下一定范圍內(nèi)的空間地物,其中大多數(shù)對象都是人造物體,例如建筑物、街道、道路、橋梁、管線等。在諸多三維城市模型中,建筑物已成為三維城市模型中重要的要素。近年來,對建筑物三維結(jié)構(gòu)的需求明顯增長,而建筑物區(qū)別于其他地物的最顯著的特征是可以包含室內(nèi)模型。只有結(jié)合各種建筑物室內(nèi)場景應(yīng)用的數(shù)碼城市才可稱得上是一個(gè)完整的應(yīng)用體系,這樣的應(yīng)用也才更富生命力,從室外進(jìn)入室內(nèi)是數(shù)碼城市進(jìn)一步發(fā)展的必然。然而,目前大部分三維GIS軟件雖能較好地管理和調(diào)度DEM和DOM,而對于三維城市模型特別是室內(nèi)場景卻無能為力。研究室內(nèi)場景的管理與調(diào)度方法也正被越來越多的學(xué)者所關(guān)注。1基于數(shù)據(jù)分頁的動(dòng)態(tài)加載策略三維場景的實(shí)時(shí)漫游要求程序在運(yùn)行時(shí)能達(dá)到30fps(framespersecond)以上的幀率,因此,面對大量的三維面片數(shù)據(jù),必然要采用一定的策略對其進(jìn)行管理,三維場景管理就是為解決這一目的而產(chǎn)生的。然而,GIS中強(qiáng)調(diào)地物類、地物的概念,并需要進(jìn)行屬性查詢并擴(kuò)展分析功能,而游戲和仿真更側(cè)重于可視化效果,對數(shù)據(jù)組織并無特殊要求。因此,數(shù)碼城市GIS中的場景管理更為復(fù)雜,但是局部還是可以從其他方面借鑒,其中就包括場景管理。目前,基于數(shù)據(jù)分頁的動(dòng)態(tài)裝載策略已經(jīng)能比較好地解決DEM、DOM以及室外模型的調(diào)度。但這種方法在對三維城市室內(nèi)模型數(shù)據(jù)調(diào)度的時(shí)候,則碰到了一定的困難。如果不考慮Z方向上的調(diào)度,在一個(gè)數(shù)據(jù)頁內(nèi),數(shù)據(jù)量會相當(dāng)大,極有可能也是“海量”的。顯然,室內(nèi)場景有別于室外,其具體表現(xiàn)在:一個(gè)視景體內(nèi)可能有很多房間,而每個(gè)房間內(nèi)有大量精細(xì)的物體,通常情況下,用戶真正能看到的只是很少的一部分。因此,需要進(jìn)行視域裁切。但在數(shù)碼城市GIS中,視域裁切算法必須同實(shí)際的數(shù)據(jù)生產(chǎn)相結(jié)合,否則會加大數(shù)據(jù)生產(chǎn)的工作量,這是其和游戲的根本區(qū)別。因?yàn)橛螒螂m然也涉及到數(shù)據(jù)生產(chǎn),但其場景較少,一旦建立,就基本上不用改動(dòng),而且游戲數(shù)據(jù)的建立者通常是專業(yè)人員,而數(shù)碼城市中的數(shù)據(jù)生產(chǎn)卻是經(jīng)常的,面對的用戶群往往是非專業(yè)人員。2基于bsp的《提取》本文借鑒大量3D引擎中的技術(shù),筆者引入了Cell和Portal的概念,提出了一種基于BSP樹和Portal的方法。其主要思想是:一個(gè)Cell(也有人稱之為Room、Region、Sector等)就是一個(gè)相對封閉的空間,比如一個(gè)房間,Cell和Cell之間通過Portal(如門窗)相連接。因此,如果視點(diǎn)處于一個(gè)Cell當(dāng)中,就只能看見這個(gè)Cell中的物體。如果你能夠看到其他Cell中的物體,那么你一定是通過Portal看到的。顯然,室內(nèi)場景可以描述為通過Portal連接到一起的Cell,其中一個(gè)Cell是多邊形的凸集。Cell-Portal技術(shù)的優(yōu)勢在Quake等游戲中得到了充分的體現(xiàn)。Portal技術(shù)的基本思想是當(dāng)你從視點(diǎn)的位置繪制視圖體中的場景的時(shí)候,如果碰到Portal多邊形,那么Portal將裁減視圖體。圖1是一個(gè)視圖體被裁減的過程。圖1中,視點(diǎn)位置是V,最初的視圖體是F1。當(dāng)F1碰到Portal多邊形P1,它被裁減為F2,碰到P3則被裁減為F3和F4,碰到P4被P4裁減為F5和F6。BSP樹在20世紀(jì)90年代初就開始應(yīng)用于游戲領(lǐng)域。最早使用這個(gè)技術(shù)的游戲就是Doom。此后,它被廣泛應(yīng)用于3D可視化引擎中,如目前比較著名的開源引擎ogre等。單獨(dú)的BSP樹并非表達(dá)場景的合適的數(shù)據(jù)結(jié)構(gòu),如果用來搜索,BSP是比較好的,但如果用來渲染,則BSP樹并不適合于大的場景,這是因?yàn)?BSP樹的渲染需要判斷場景中的所有多邊形。但是BSP樹結(jié)構(gòu)能夠提供一種自動(dòng)建立Portal的方法??傮w思想是每個(gè)Portal必須和分類多邊形定義的平面一致。在每個(gè)平面上建立一個(gè)Portal多邊形,Portal多邊形初始化為一個(gè)四邊形,并且其大小超過了它所在節(jié)點(diǎn)的包圍盒。然后,沿每個(gè)通道多邊形下推到這個(gè)節(jié)點(diǎn)的子樹。當(dāng)一個(gè)通道多邊形通過其子樹的一個(gè)節(jié)點(diǎn)時(shí),則利用節(jié)點(diǎn)分類的多邊形定義的平面來剪切它,如果這個(gè)節(jié)點(diǎn)是一個(gè)葉節(jié)點(diǎn),它也會被節(jié)點(diǎn)內(nèi)的多邊形剪切。如果一個(gè)多邊形被裁減,那么兩個(gè)結(jié)果部分從樹的頂部傳下來。當(dāng)一個(gè)通道多邊形不需要任何裁減,那么它被傳到當(dāng)前訪問節(jié)點(diǎn)的子樹。這意味著,如果它在平面的正面,它將被傳到右子樹,如果在反面將被傳到左子樹。但是如果它和分類多邊形定義的平面一致,那么將會同時(shí)傳到這兩個(gè)子樹。以圖2中的房間為例,按照上述的思路,具體實(shí)現(xiàn)方法如下。1)在分類多邊形上建立初始Portal。在分類多邊形CD上建立初始Portal:P1、P2(如圖3)。其他分類多邊形也類似。2)用BSP樹中的所有分類多邊形對所有Portal進(jìn)行切分,產(chǎn)生一系列新的Portal。如圖3,此BSP樹種的分類多邊形有DE、DC、IJ、IH。Portal多邊形P1、P2被分類多邊形DE、IH切分為3個(gè)新的Portal多邊形P1、D,D、P3和P3、P2。3)將這三個(gè)Portal從樹的頂端傳下來,并將Portal分配到葉節(jié)點(diǎn)。其中Portal多邊形P1、D在分類多邊形DE的后面,被傳送到左子樹。Portal多邊形P1、D與分類多邊形DC一致,則被同時(shí)傳送到兩個(gè)子樹。其他的兩個(gè)Portal類推。最終這三個(gè)Portal多邊形被傳送到葉節(jié)點(diǎn)。形成的結(jié)構(gòu)如圖4所示,其中葉節(jié)點(diǎn)中的斜體部分表示添加到葉節(jié)點(diǎn)的Portal多邊形。4)根據(jù)兩個(gè)基本原則去除冗余的Portal??梢钥吹?只有Portal多邊形P1、D在兩個(gè)葉節(jié)點(diǎn)中同時(shí)存在,因此,只有它被保留下來。然后將Portal與其相連的兩個(gè)葉節(jié)點(diǎn)中的多邊形進(jìn)行裁切,僅保留在葉節(jié)點(diǎn)中的所有多邊形前面的部分。在Portal多邊形P1、D與其后葉節(jié)點(diǎn)中的多邊形BC進(jìn)行裁切的時(shí)候,僅剩下P1C。這樣P1C作為一個(gè)Portal就建立起來了。圖5(a)是場景的線框圖表示,圖5(b)表示的矩形區(qū)域就是場景中的Portal多邊形。2.1《圖像》中的點(diǎn)片的處理基于Cell-Portal的場景布置好之后,就需要按照前面所述的方法對不可見的節(jié)點(diǎn)進(jìn)行剔除。其基本步驟如下。1)判斷當(dāng)前視點(diǎn)所在的葉節(jié)點(diǎn),并將此節(jié)點(diǎn)設(shè)置為可見。2)循環(huán)當(dāng)前節(jié)點(diǎn)的所有Portal,將它們與視圖體的平面(除了近裁切面)進(jìn)行裁切。如果一個(gè)Portal不在這些片面的前面也不和這些平面裁切,那么這個(gè)Portal在視圖體的外面。如果一個(gè)Portal裁切之后在所有這些面的前面,那么它在視圖體內(nèi)。3)對裁切后的Portal進(jìn)行類似的遞歸調(diào)用。首先,將這個(gè)Portal的后葉節(jié)點(diǎn)設(shè)置為可見。通過這個(gè)Portal將產(chǎn)生一個(gè)新的視圖體。對這個(gè)葉節(jié)點(diǎn)中的Portal返回步驟2)。4)遞歸結(jié)束以后,所有可見的葉節(jié)點(diǎn)將被設(shè)置為可見。這樣,只需要繪制這些葉節(jié)點(diǎn)即可。5)經(jīng)過裁減后的這些視圖體將可以用于室外場景的裁減,實(shí)現(xiàn)室內(nèi)外一體化漫游。2.2基于多媒體圖像數(shù)據(jù)的工作原理在數(shù)碼數(shù)碼平臺中的應(yīng)用,主要分為三類上面是自動(dòng)建立Portal的方法。然而,建立一棵BSP樹是非常耗時(shí)的,BSP樹的深度過大也通常被認(rèn)為是其缺陷。并且房間內(nèi)如果有很多的東西,如樓梯等,那么有可能會產(chǎn)生大量的Portal,這并不是一個(gè)有效的解決方式。本文采用以下兩種優(yōu)化方案。1)建立BSP樹,在選擇分類多邊形時(shí)采用面積優(yōu)先原則。在通常情況下,面積大的多邊形往往極有可能是墻面、地板等,選取這種多邊形作為分類多邊形將更接近于實(shí)際情況。2)在數(shù)碼城市中,樹木、街燈以及其他精細(xì)CAD模型通??梢杂镁哂刑厥鈱傩缘娜S點(diǎn)對象來表示。目前,CAD與GIS集成主要有虛擬模型庫、簡單格式轉(zhuǎn)換、中心數(shù)據(jù)庫三種方式。對可以用點(diǎn)對象來表示的物體,如桌椅、家電等,其中的三角形面片不參與BSP樹的建立,而只在Cell和Portal建立完成之后,判斷其外接矩形框是否在某個(gè)或某幾個(gè)Cell內(nèi)。當(dāng)然,這種方法有可能會造成重繪,在繪制的時(shí)候需要處理。通常點(diǎn)狀地物表示的都是一些非常精細(xì)的模型,面片數(shù)相當(dāng)多。通過這樣的優(yōu)化之后,算法執(zhí)行時(shí)間大大降低。2.3存儲pbp/wlp存儲技術(shù)在三維引擎中,為了實(shí)現(xiàn)高效率,預(yù)處理是一種普遍而有用的方法。所謂預(yù)處理,就是在程序之外盡可能地把所有固定的數(shù)據(jù)處理好,并且為程序中優(yōu)化的算法奠定基石。這就需要存儲Cell-Portal結(jié)構(gòu),然后通過讀取文件快速恢復(fù),這也是一種預(yù)處理的方法。因?yàn)楫?dāng)數(shù)據(jù)量達(dá)到一定程度的時(shí)候,創(chuàng)建Cell-Portal結(jié)構(gòu)也是一個(gè)非常耗時(shí)的過程,其中包括BSP樹的存儲與恢復(fù)、Cell-Portal結(jié)構(gòu)的存儲與恢復(fù)。其思路比較簡單,由于篇幅所限,本文不再贅述。2.4高效動(dòng)態(tài)安裝當(dāng)對數(shù)據(jù)根據(jù)上述原則進(jìn)行重新組織以后,就采取基于Portal的視場裁切手段,還是不夠的。如一個(gè)非常大的室內(nèi)場景,由很多Cell構(gòu)成,這些Cell沒有必要完全同時(shí)放在內(nèi)存中。這類似于室外場景的動(dòng)態(tài)裝載,只不過其基本單元不太相同。根據(jù)視點(diǎn)的位置在內(nèi)存緩沖區(qū)中調(diào)入不同的Cell。類似于DEM的動(dòng)態(tài)裝載,所不同的是內(nèi)存緩沖區(qū)中的數(shù)據(jù)大小并非一定。如圖6所示,當(dāng)視點(diǎn)在Cell1時(shí),可以看到的Cell是Cell1、Cell2、Cell3、Cell4。當(dāng)視點(diǎn)到達(dá)Cell2時(shí),可以看到的Cell是Cell2、Cell3、Cell4、Cell5、Cell6。這個(gè)時(shí)候就需要卸載掉Cell1中的數(shù)據(jù),加載Cell5、Cell6中的數(shù)據(jù)。3bsp/共享機(jī)調(diào)度本文以貴陽電力大廈及其周邊區(qū)域?yàn)槔?圖7所示),其結(jié)構(gòu)相當(dāng)復(fù)雜。在配置為CPUP2.4、內(nèi)存512、顯卡ATI970064M的機(jī)器上,以穿越大廈的一條漫游路徑為例,如果不采用任何調(diào)度策略,其顯示幀率在20fps以下;采用八叉樹結(jié)構(gòu),則其顯示幀率極不穩(wěn)定;而采用Cell-Portal技術(shù)后的幀率可以穩(wěn)定在50fps左右。其幀率隨時(shí)間變化的曲線如圖8所示。其中的面片數(shù)(點(diǎn)狀地物出外)為4431個(gè),建立BSP和Portal的時(shí)間長達(dá)1h36min;而采用預(yù)處理的方法,只需要8s即可恢復(fù)Cell-Portal結(jié)構(gòu)。在穿越房間的過程中,可見的Cell數(shù)目大致在1~5個(gè)之間,這就保證了顯示效率。而采用八叉樹的結(jié)構(gòu),在剛剛進(jìn)入房間的時(shí)候?qū)λ俣炔]有多大改善,因?yàn)橐粋€(gè)視圖體內(nèi)的點(diǎn)狀地物非常多,而只在穿越的過程中,才慢慢有所改善。4優(yōu)化分配地物的調(diào)度和組織本文在總結(jié)目前的一些數(shù)據(jù)調(diào)度和場景管理方法的基礎(chǔ)上,從目前游戲領(lǐng)域用得比較多的方法中,得出了一種基于Cell-Portal結(jié)構(gòu)的調(diào)度和場景管理方法。由于這種結(jié)構(gòu)可以通過算法自動(dòng)建立,不會加大數(shù)據(jù)生產(chǎn)中的工作量。通過試驗(yàn)驗(yàn)證,這是一種行之有效的方法。但是,這種方法還需要不斷優(yōu)化,以使得這種空間分割方式能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論