專利名稱:一種顧及城市意象的城市建筑綜合與渲染的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種顧及城市意象的城市建筑綜合與渲染的方法,屬于空間信息技術(shù)領(lǐng)域。
ニ背景技術(shù):
在大規(guī)模復(fù)雜場景的渲染過程中,常見的可視化方式是借助模型綜合技術(shù)對城市場景的意象進(jìn)行不同細(xì)節(jié)層次的簡化和抽象,模型綜合涉及三個基本任務(wù)簡化、聚類和合井。多細(xì)節(jié)層次的三維建筑聚類在城市意象表達(dá)過程中發(fā)揮著重要的作用,根據(jù)不同的用 途,這些細(xì)節(jié)層次大體可以分為離散和連續(xù)兩大類。離散細(xì)節(jié)層次表達(dá)通常應(yīng)用在旅游信息系統(tǒng)和導(dǎo)航系統(tǒng)中,不同層次細(xì)節(jié)的建筑群具有差異明顯的外表特征,這些特征有助于用戶認(rèn)識和理解不同的城市意象,如建筑集群、街區(qū)或行政単元。連續(xù)細(xì)節(jié)層次要求建筑群和原始建筑之間具有相對嚴(yán)格的形狀和紋理相似性,通常用于實現(xiàn)大型或復(fù)雜城市場景的平滑渲染。目前多數(shù)三維建筑綜合與渲染技術(shù)存在兩個不足首先,通常只基于主要紋理細(xì)節(jié)表達(dá)不同的建筑群模型,盡管能夠達(dá)到平滑的視覺效果,卻削弱了城市意象間的差別;其次,以往方法注重幾何細(xì)節(jié)的平滑,而對紋理細(xì)節(jié)不同層次的簡化關(guān)注甚少。值得注意的是,為原始建筑拍照以創(chuàng)建低精度紋理的方法不僅費(fèi)時,而且不能弾性式簡化特定對象(如,墻、門、窗)的紋理。這種幾何和紋理單獨(dú)處理的方式也不利于不同綜合意象的幾何和紋理細(xì)節(jié)的同步表達(dá)。除紋理綜合的缺陷外,以往技術(shù)獲得的結(jié)果可移植性較差,建筑模型更新后綜合結(jié)果難以重復(fù)利用,其主要原因是生成了固定的幾何和紋理信息,當(dāng)更新了原始建筑模型后,還需要一個復(fù)雜再綜合過程處理更新的建筑及其周圍建筑。在眾多的基于ニ維建筑足跡圖(building footprints)的聚類和合并方法中,一些更受歡迎的方法能夠產(chǎn)生兼顧道路、街區(qū)和其他城市意象要素的建筑群平面圖,然而,嚴(yán)格按照路網(wǎng)的建筑綜合過程受制于道路數(shù)據(jù)的快速自動提取。對于那些不依賴道路數(shù)據(jù)的建筑綜合,聚類的不精確以及合并得到的曲折邊界使得這些綜合方法不適合用來描述塊狀的街區(qū)。本發(fā)明將建筑群(同時包含原始建筑模型以及建筑群)中精細(xì)的連續(xù)面片抽象為直觀的ニ維形狀,以描述抽象面片間的相互關(guān)系,借助于ー種多分辨率表達(dá)樹(EBT)渲染出比CityGML標(biāo)準(zhǔn)中定義的細(xì)節(jié)層次更加靈活的城市意象,同時保證了城市意象的可讀性和逼真性,本發(fā)明還設(shè)計了自動道路分析算法用來提取城市意象的相關(guān)空間要素,以此輔助于建筑的聚類和合井,利用索引機(jī)制存儲抽象邊FEdge、建筑群和EBT作為城市建筑綜合結(jié)果,以便在渲染城市LOD場景之前對綜合結(jié)果進(jìn)行靈活預(yù)處理,并方便模型更新。
發(fā)明內(nèi)容
I、目的以往三維城市模型渲染和可視化方法難以兼顧建筑仿真和城市意象,本 發(fā)明通過引入ー種新模型元素-抽象邊FEdge,在綜合和可視化的過程中有效管理建筑群 的幾何和紋理信息;為了兼顧仿真建筑與城市意象的可視化,引進(jìn)ー種多層次表達(dá)數(shù)據(jù)結(jié)構(gòu)EBT,用于組織建筑群和設(shè)定更加靈活的細(xì)節(jié)層次模型,以此實現(xiàn)大場景城市建筑模型的快速三維渲染和可視化。2、技術(shù)方案一種顧及城市意象的城市建筑綜合與渲染的方法的技術(shù)流程如圖I所示,它包含了預(yù)綜合、墻面與屋頂綜合、預(yù)可視化和可視化渲染四個模塊。預(yù)綜合模塊負(fù)責(zé)原始建筑模型的抽象和新建筑模型的更新。在這個階段,每個建筑抽象為用FEdge表達(dá)的建筑群。通過分割和簡化建筑模型抽象出FEdge的ニ維幾何實 體,再將原始模型的面元映射到FEdge上,便于FEdge的索引快速獲取對應(yīng)紋理面元(FEdgeelement)信息。FEdge的幾何實體信息將會在之后的綜合過程中使用,面元信息將會在預(yù)可視化中發(fā)揮作用。墻面與屋頂綜合模塊主要由聚類和合并兩個過程組成。在聚類之前,首先自動道路分析,提取道路寬度、道路長度和建筑緩沖區(qū)。為了更好表達(dá)城市意象,本發(fā)明根據(jù)道路寬度和街區(qū)的塊狀特征對建筑進(jìn)行不同細(xì)節(jié)層次(LOD)的聚類,以便生成EBT。在合并過程中,用緩沖區(qū)的形狀生成每個建筑群中FEdge的幾何實體以及不同建筑群FEdge間的拓?fù)潢P(guān)系??梢暬秩緯r,為了引導(dǎo)預(yù)建筑群的可渲染面元的生成,綜合過程輸出EBT以及樹結(jié)點(diǎn)對應(yīng)的每個建筑群的FEdge信息。在渲染最終的模型綜合結(jié)果之前,為EBT中包含不同LOD建筑群實體生成面元表達(dá)。為了更有效處理不同類型的面元,墻體部分和屋頂部分按照其不同的幾何和紋理特征分別處理。本發(fā)明方法在墻體部分維持原有建筑的基本紋理模式(如墻、窗、門等);對于屋頂部分,在建筑群合并過程中,盡可能保持原始場景中的建筑高度變化信息。每個建筑群的墻體和屋頂面元都按照其相應(yīng)LOD生成之后,EBT中的樹結(jié)點(diǎn)便具有了可渲染的模型實體,在可視化過程中進(jìn)行渲染,每個原始建筑模型或建筑群作為ー個建筑群,對應(yīng)于樹狀結(jié)構(gòu)的ー個結(jié)點(diǎn)。具體步驟如下步驟ー構(gòu)建抽象邊結(jié)構(gòu)抽象邊FEdge由一條子邊或多條互相連接的子邊組成,姆條子邊對應(yīng)ー個或多個小的貼圖面元(FEdge element)。圖2中,三維建筑模型被抽象成ー個具有多個墻面FEdge和一個屋頂FEdge建筑群。每個FEdge具有自己的ニ維幾何形狀和一些對應(yīng)三維面元FEdgeelements。FEdge不僅能表達(dá)相對規(guī)則的墻面,也能夠表達(dá)不規(guī)則的屋頂。FEdge代表的面類型通過計算FEdge包含的所有FEdge elements的平均法向量來區(qū)分。例如,對ー個代表墻面的墻面FEdge來說,其法向量通常沿水平方向;而對于代表屋頂?shù)奈蓓擣Edge來說,不同子傾斜面在水平方向上的分量往往是對稱的,使得平均法向量接近于豎直上方向。FEdge的抽象基于獨(dú)立的三維建筑模型的簡化,綜合過程中,無需生成建筑基底平面的FEdge。分割墻體和屋頂并提取每一部分的足跡圖,足跡圖經(jīng)過簡化后生成FEdge的幾何實體。由于大多數(shù)的墻面足跡圖和屋頂足跡圖很相似,為了降低簡化過程的計算量,將屋頂足跡圖的頂點(diǎn)映射到墻面足跡圖的頂點(diǎn)上。最后,把墻面簡化足跡圖上的每條邊作為ー個墻面FEdge,整個屋頂簡化足跡圖作為ー個屋頂FEdge,垂直投影在FEdge上的面片作為該FEdge對應(yīng)的FEdge elements。在建筑實體生成過程中,通過綜合過程中確定的FEdge的連接關(guān)系,對FEdge對應(yīng)的FEdge elements進(jìn)行面元處理。為了便于新FEdge element的生成,姆個FEdgeelement均使用基于FEdge的相對坐標(biāo)進(jìn)行記錄,因而很方便將FEdgeelement從舊的FEdge移植到新的FEdge上,實現(xiàn)面元的復(fù)用。同時,利用城市建筑紋理的重復(fù)特性,也可以對具有相同模式的FEdge element進(jìn)行更高效的整合。
FEdge的抽象表達(dá)方式有利于建立彈性式的綜合機(jī)制,因為FEdge具有一個相對穩(wěn)定的幾何形狀,并且能對應(yīng)于各種不同細(xì)節(jié)層次的表面。綜合結(jié)果不直接記錄綜合后的建筑表面,而是通過記錄FEdge的拓?fù)潢P(guān)系來間接表達(dá)面片的幾何結(jié)構(gòu),以便在可視化之前對面片進(jìn)行靈活處理生成可渲染的建筑群實體。為了在建筑群實體生成及原始建筑模型更新時快速定位某一 FEdge及其對應(yīng)的面片,本發(fā)明為所有FEdge建立了快速的索引機(jī)制。步驟ニ 建立層次緩沖區(qū) 樹結(jié)構(gòu)EBT道路是劃分城市街區(qū)的重要要素,在建筑綜合之前,基于圖像處理方法進(jìn)行城市道路的自動分析,從而獲取城市的布局信息。在道路分析過程中,提取道路中心線和建筑緩沖區(qū)用于輔助城市建筑模型的聚類和合井。對原始建筑模型進(jìn)行聚類和合井,得到不同LOD建筑群,使用樹狀結(jié)構(gòu)EBT記錄建筑群之間的層次關(guān)系。在EBT中,每個樹結(jié)點(diǎn)包含ー個建筑群的指針,使得樹創(chuàng)建過程獨(dú)立于建筑群信息完善的過程,同一深度層的樹結(jié)點(diǎn)共享同ー個L0D,靠近根結(jié)點(diǎn)的樹結(jié)點(diǎn)對應(yīng)較粗LOD的建筑群,而靠近葉結(jié)點(diǎn)的樹結(jié)點(diǎn)對應(yīng)較精細(xì)LOD的建筑群。和連續(xù)LOD相比,離散LOD更適合表達(dá)具有可讀意象的城市場景,因為幾何和紋理特征的差異使用戶更容易識別和理解不同的城市意象。生成EBT中的LOD分為兩個步驟連續(xù)聚類生成城市場景的多個連續(xù)L0D,之后,可從這些具有連續(xù)LOD的聚類結(jié)果中選擇對其有意義的結(jié)果,并賦予它們離散的L0D。步驟三三維建筑模型抽象建筑模型抽象的主要任務(wù)是在原始建筑面元中選擇關(guān)鍵頂點(diǎn)和關(guān)鍵邊,進(jìn)而創(chuàng)建FEdge0 ー個三維建筑模型被抽象成多個墻面FEdge和一個屋頂FEdge的三個步驟建筑分割和足跡圖提?。缓喕阚E圖生成FEdge的ニ維幾何實體;映射原始模型的面元生成FEdgeelement。建筑足跡圖簡化分為四個步驟將短邊向長邊平移;合并具有相似法向量方向的相鄰邊;計算凸包消除凹角;細(xì)化凸包保留重要的凹角。圖3列舉了這四種情形下的足跡圖簡化結(jié)果。將原始面元映射到FEdge上時,需要考慮墻體和屋頂是否被顯式區(qū)分。將屋頂面元全部映射到屋頂FEdge上,而將墻體面元映射至和它具有最相似法向量方向和水平面投影的墻面FEdge上。如果沒有明確區(qū)分墻體和屋頂,則先執(zhí)行自動區(qū)分墻體和屋頂?shù)倪^程。在這種情形下,所有的面元將被投影到屋頂FEdge確定的屋頂平面上。如果ー個面元的絕大部分在該平面以上,則被視為屋頂面元,否則,將被看成是墻體面元,進(jìn)ー步尋找其對應(yīng)的墻面FEdge。步驟四用圖像處理方法實現(xiàn)緩沖區(qū)聚類城市道路對基于城市意象的聚類來說非常重要,本發(fā)明的緩沖區(qū)聚類基于圖像處理的自動道路提取方法。圖像范圍是比整個城市建筑的包圍框略大的矩形區(qū)域,所有建筑的墻面FEdge圍成的多邊形都被投影在該城市區(qū)域內(nèi)。考慮到聚類過程中有意義的最小道路寬度,本發(fā)明選用I米的間距進(jìn)行采樣。顯然,大規(guī)模的城市區(qū)域可以采用區(qū)域分割的方法提高每個子區(qū)域的處理效率。圖4說明了用道路分析方法生成的圖像。首先,將所有簡化后建筑群墻面FEdge圍成的足跡多邊形投影在與城市區(qū)域一樣大的水平面上(如圖4b),并將所有投影區(qū)域使用建筑的ID進(jìn)行標(biāo)識,生成建筑的ID圖(圖4d);沒有標(biāo)識的區(qū)域為道路區(qū)域,為這些道路區(qū)域計算棋盤距離,作為該點(diǎn)的道路寬度,生成道路寬度圖(圖4c);計算棋盤距離時,有標(biāo)識的建筑區(qū)域同時向未標(biāo)識的道路區(qū)域膨脹至道路中心,生成建筑緩沖圖(圖4e);提取建筑緩沖圖的邊緣得到類似于道路中心線的結(jié)果,生成道路中心圖(圖4f);檢測道路中心圖相鄰兩棟建筑的緩沖區(qū)邊界,找出所有相鄰建筑對。使用這些相鄰建筑對原始建筑逐步聚類成不同層次的建筑群。在聚類過程中,將每個相鄰建筑對包含的兩棟建筑群對應(yīng)的子結(jié)點(diǎn)合并成ー個父結(jié)點(diǎn)。為了限制樹的深度,每層次的聚類允許多個相鄰建筑對聚類,當(dāng)父節(jié)點(diǎn)數(shù)目首次不大于子節(jié)點(diǎn)數(shù)目吋,終止該層次的聚類。聚類的精確度和相鄰建筑對的聚類順序有夫。排序過程中同時考慮道路寬度和每個建筑對的幾何特征。一方面,為每個 建筑對之間的緩沖區(qū)求取ー個平均緩沖距離(用像表示的道路距離來近似等價);另一方面,聚類過程中動態(tài)計算每個相鄰建筑對的最小包圍框。每ー步聚類時,選取具有最小緩沖距離和最小包圍框的相鄰建筑對進(jìn)行聚類操作并進(jìn)行建筑的包圍框更新。步驟五FEdge合并和面元重構(gòu)生成EBT中表示建筑群的樹結(jié)點(diǎn)并將其組織成樹狀結(jié)構(gòu)后,下ー步創(chuàng)建每個建筑群實例的幾何和紋理。兩個離散LOD之間允許有多個連續(xù)LODs實現(xiàn)它們之間平滑過渡。在這些不同LOD中,粗糙的LOD通常用于抽象意象的表達(dá),而精細(xì)的LOD用于仿真地物的表達(dá)。用戶可以選擇細(xì)節(jié)層次并將其應(yīng)用在自定義的城市場景可視化中。建筑合并的過程分成兩部分FEdge幾何實體的合并;FEdge對應(yīng)面元(即FEdgeelements)的重新構(gòu)造。第一步實質(zhì)上是ニ維邊的連接和ー個附加的簡化,第二步是對三維面元進(jìn)行相應(yīng)的連接和簡化。為了獲得合理的綜合城市場景,幾何和紋理的對應(yīng)在合并和重構(gòu)過程中是必須的。由于墻體和屋頂在幾何和紋理上差異較大,本發(fā)明分別說明這兩部分的合并和重構(gòu)過程。(I)建筑墻體當(dāng)合并不同建筑群模型(子建筑群)時,先合并它們自身的緩沖區(qū),合并后的緩沖區(qū)形狀用于輔助生成新的合并后建筑群(父建筑群)的FEdge。父建筑群中的FEdge分成兩類,一類繼承子建筑群中的部分FEdge,另ー類是用于閉合父建筑群例足跡圖所需的新FEdge。隨著FEdge的連接、合并和刪除,對應(yīng)的FEdge elements也執(zhí)行相應(yīng)的操作。為了合并兩個子建筑群,首先為父建筑群生成能合并其所有子建筑群的新緩沖區(qū),然后追蹤新緩沖區(qū)的邊界,尋找對應(yīng)子建筑群的頂點(diǎn)。沿新緩沖區(qū)的邊界,在每個像素點(diǎn)一定范圍的鄰域內(nèi)尋找離該像素點(diǎn)最近的子建筑群的頂點(diǎn),并依次連接,刪除相鄰重復(fù)頂點(diǎn)后,剩余頂點(diǎn)序列組成多邊形,作為父建筑群的足跡圖。邊界追蹤算法的最終精度取決于采樣頂點(diǎn)之間的最小距離、新緩沖區(qū)的形狀以及緩沖區(qū)距離。在獲取新足跡圖的過程中,用能夠合并所有子建筑群的緩沖區(qū)距離最小的新緩沖區(qū)計算更精確的父建筑群的足跡圖。為了加速新緩沖區(qū)的生成,在合井一些大建筑群時,直接合并它們在建筑緩沖圖中的緩沖區(qū)??紤]到城市建筑通常具有鮮明的紋理模式,面元可以分為高度重復(fù)單元(墻和窗)和微重復(fù)単元(門),將每ー種FEdge element作為可移植性的面元,使用相對位置和尺寸組合所需要種類的FEdge element ο這種處理方式大大簡化了傳統(tǒng)的考慮姆個FEdgeelement的面元重構(gòu)方法,非常適合原始面元的復(fù)用和移植。(2)建筑屋頂
在處理建筑群屋頂時,預(yù)先為建筑群生成一個有著平均高度的平屋頂,在可視化過程中,渲染部分高度突出的建筑以維持城市場景中建筑高度維的特征。本發(fā)明也采用類似的方法構(gòu)建這種具有屋頂細(xì)節(jié)的建筑群。為了節(jié)約紋理資源和彌補(bǔ)負(fù)空間紋理不合理的缺陷,使用原始建筑生成俯視情況下的屋頂影像,并結(jié)合BBmap中的緩沖區(qū)對屋頂紋理進(jìn)行擴(kuò)張,向負(fù)空間填充屋頂紋理。為了填充新面元,需要在屋頂FEdge圍成的空間內(nèi)進(jìn)行Delaunay三角剖分。本發(fā)明簡化建筑群屋頂?shù)脑瓌t是盡可能保持原始建筑的高度變化,因而在簡化三角剖分得到的面元過程中,面元的重要性由該面元的高度決定。隨著面元的逐步簡化,具有連續(xù)LOD的一系列屋頂被構(gòu)造出來。本發(fā)明使用預(yù)先定義的顏色將這些城市意象(如街區(qū))與一般小型的建筑群意象區(qū)分開來。同吋,為了簡化這些城市意象中不重要的屋頂細(xì)節(jié),在三角剖分之前對屋頂內(nèi)部的原始頂點(diǎn)進(jìn)行刪除。嚴(yán)格的說,要絕對保證原始建筑的高度變化,則不能在三角剖分前隨意剔除父建筑群屋頂邊界內(nèi)部的每個子屋頂角點(diǎn),遵循這樣的原則會使得計算過程過于復(fù)雜。本發(fā)明采用一種更便捷但等效于嚴(yán)格做法的方法。首先,將父建筑群的高度設(shè)置成子建筑群的帶權(quán)平均高度,權(quán)重和子建筑群的足跡圖面積成正比,根據(jù)子建筑群的高度與父建筑群的高度差選出高度維上較為重要的子建筑群,將它們頂端抽象為各自屋頂?shù)闹行模@些屋頂中心最終和父建筑群屋頂邊界上的頂點(diǎn)一同參與三角剖分。步驟五EBT可視化渲染本發(fā)明的可視化機(jī)制支持不同意象建筑群不受限制的自定義LOD設(shè)計,從而為這些建筑群指定不同的渲染方式。相鄰離散LOD間通過添加連續(xù)LOD對可視化結(jié)果進(jìn)行平滑。預(yù)可視化之前,在EBT的所有樹層次中選擇了部分層并為它們指定適合其意象的L0D,并使用了取值范圍為I(LODl)到3(L0D3)的浮點(diǎn)型屬性“ L”記錄EBT選中層的L0D。可視化過程中,分兩步對城市綜合結(jié)果進(jìn)行渲染。如果視點(diǎn)到城市中心的水平距離大于給定的距離閾值時,抽象意象的樹結(jié)點(diǎn)(I < L < 2)將被渲染,否則,渲染仿真的樹結(jié)點(diǎn)(2 < L < 3);其次,像素誤差作為精細(xì)篩選具有特定LOD的建筑群標(biāo)準(zhǔn)。為了保證渲染結(jié)果的連續(xù)性,可視化過程中,必須考慮不同LOD建筑群在當(dāng)前可視條件下渲染結(jié)果的像素誤差。建筑群在綜合前后具有負(fù)空間的體積差異,分別投影這個體積差異到水平和垂直方向上,形成水平誤差和垂直誤差。在EBT中,該體積差被定義為父建筑群與所有子建筑群體積和差值的絕對值,其中葉結(jié)點(diǎn)體積差為O。預(yù)計算完所有建筑群的體積差后,沿葉結(jié)點(diǎn)向根結(jié)點(diǎn)方向?qū)w積差向上ー級做一次累積,最后,實時渲染城市場景過程中,一旦父建筑群的投影誤差超過給定的閾值,則渲染子建筑群。
四
圖I建筑模型綜合及可視化的基本框架2三維建筑模型與它的抽象表達(dá)圖3建筑足跡圖簡化圖3 (a)合并邊圖3 (b)平移及合并邊
圖3 (C)消除小凹角
圖3(d)保留大凹角圖4(a)原始建筑足跡圖投影圖4(b)足跡圖簡化后的投影圖4 (C)道路寬度4 (d)建筑ID4(e)建筑緩沖4(f)道路中心線圖 圖5城市建筑綜合前(左)后(右)的可視化結(jié)果對比圖
五具體實施例方式本發(fā)明涉及一種基于空間認(rèn)知的大場景城市建筑實時三維可視化的方法,該方法的具體步驟如下步驟ー構(gòu)建抽象邊結(jié)構(gòu)抽象邊FEdge由一條子邊或多條互相連接的子邊組成,姆條子邊對應(yīng)ー個或多個小的貼圖面元(FEdge element)。圖2中,三維建筑模型被抽象成ー個具有多個墻面FEdge和一個屋頂FEdge建筑群。每個FEdge具有自己的ニ維幾何形狀和一些對應(yīng)三維面元FEdgeelements。FEdge不僅能表達(dá)相對規(guī)則的墻面,也能夠表達(dá)不規(guī)則的屋頂。FEdge代表的面類型通過計算FEdge包含的所有FEdge elements的平均法向量來區(qū)分。例如,對ー個代表墻面的墻面FEdge來說,其法向量通常沿水平方向;而對于代表屋頂?shù)奈蓓擣Edge來說,不同子傾斜面在水平方向上的分量往往是對稱的,使得平均法向量接近于豎直上方向。FEdge的抽象基于獨(dú)立的三維建筑模型的簡化,綜合過程中,無需生成建筑基底平面的FEdge。分割墻體和屋頂并提取每一部分的足跡圖,足跡圖經(jīng)過簡化后生成FEdge的幾何實體。由于大多數(shù)的墻面足跡圖和屋頂足跡圖很相似,為了降低簡化過程的計算量,將屋頂足跡圖的頂點(diǎn)映射到墻面足跡圖的頂點(diǎn)上。最后,把墻面簡化足跡圖上的每條邊作為ー個墻面FEdge,整個屋頂簡化足跡圖作為ー個屋頂FEdge,垂直投影在FEdge上的面片作為該FEdge對應(yīng)的FEdge elements。在建筑實體生成過程中,通過綜合過程中確定的FEdge的連接關(guān)系,對FEdge對應(yīng)的FEdge elements進(jìn)行面元處理。為了便于新FEdge element的生成,姆個FEdgeelement均使用基于FEdge的相對坐標(biāo)進(jìn)行記錄,因而很方便將FEdgeelement從舊的FEdge移植到新的FEdge上,實現(xiàn)面元的復(fù)用。同時,利用城市建筑紋理的重復(fù)特性,也可以對具有相同模式的FEdge element進(jìn)行更高效的整合。FEdge的抽象表達(dá)方式有利于建立彈性式的綜合機(jī)制,因為FEdge具有一個相對穩(wěn)定的幾何形狀,并且能對應(yīng)于各種不同細(xì)節(jié)層次的表面。綜合結(jié)果不直接記錄綜合后的建筑表面,而是通過記錄FEdge的拓?fù)潢P(guān)系來間接表達(dá)面片的幾何結(jié)構(gòu),以便在可視化之前對面片進(jìn)行靈活處理生成可渲染的建筑群實體。為了在建筑群實體生成及原始建筑模型更新時快速定位某一 FEdge及其對應(yīng)的面片,本發(fā)明為所有FEdge建立了快速的索引機(jī)制。步驟ニ 建立層次緩沖區(qū)樹結(jié)構(gòu)EBT道路是劃分城市街區(qū)的重要要素,在建筑綜合之前,基于圖像處理方法進(jìn)行城市道路的自動分析,從而獲取城市的布局信息。在道路分析過程中,提取道路中心線和建筑緩沖區(qū)用于輔助城市建筑模型的聚類和合井。對原始建筑模型進(jìn)行聚類和合井,得到不同LOD建筑群,使用樹狀結(jié)構(gòu)EBT記錄建筑群之間的層次關(guān)系。在EBT中,每個樹結(jié)點(diǎn)包含ー個建筑群的指針,使得樹創(chuàng)建過程獨(dú)立于建筑群信息完善的過程,同一深度層的樹結(jié)點(diǎn)共享同ー個LOD,靠近根結(jié)點(diǎn)的樹結(jié)點(diǎn)對應(yīng)較粗LOD的建筑群,而靠近葉結(jié)點(diǎn)的樹結(jié)點(diǎn)對應(yīng)較精細(xì)LOD的建筑群。和連續(xù)LOD相比,離散LOD更適合表達(dá)具有可讀意象的城市場景,因為幾何和紋理特征的差異使用戶更容易識別和理解不同的城市意象。生成EBT中的LOD分為兩個步驟連續(xù)聚類生 成城市場景的多個連續(xù)L0D,之后,可從這些具有連續(xù)LOD的聚類結(jié)果中選擇對其有意義的結(jié)果,并賦予它們離散的L0D。步驟三三維建筑模型抽象建筑模型抽象的主要任務(wù)是在原始建筑面元中選擇關(guān)鍵頂點(diǎn)和關(guān)鍵邊,進(jìn)而創(chuàng)建FEdge0 ー個三維建筑模型被抽象成多個墻面FEdge和一個屋頂FEdge的三個步驟建筑分割和足跡圖提?。缓喕阚E圖生成FEdge的ニ維幾何實體;映射原始模型的面元生成FEdgeelement。建筑足跡圖簡化分為四個步驟將短邊向長邊平移;合并具有相似法向量方向的相鄰邊;計算凸包消除凹角;細(xì)化凸包保留重要的凹角。圖3列舉了這四種情形下的足跡圖簡化結(jié)果。將原始面元映射到FEdge上時,需要考慮墻體和屋頂是否被顯式區(qū)分。將屋頂面元全部映射到屋頂FEdge上,而將墻體面元映射至和它具有最相似法向量方向和水平面投影的墻面FEdge上。如果沒有明確區(qū)分墻體和屋頂,則先執(zhí)行自動區(qū)分墻體和屋頂?shù)倪^程。在這種情形下,所有的面元將被投影到屋頂FEdge確定的屋頂平面上。如果ー個面元的絕大部分在該平面以上,則被視為屋頂面元,否則,將被看成是墻體面元,進(jìn)ー步尋找其對應(yīng)的墻面FEdge。步驟四用圖像處理方法實現(xiàn)緩沖區(qū)聚類城市道路對基于城市意象的聚類來說非常重要,本發(fā)明的緩沖區(qū)聚類基于圖像處理的自動道路提取方法。圖像范圍是比整個城市建筑的包圍框略大的矩形區(qū)域,所有建筑的墻面FEdge圍成的多邊形都被投影在該城市區(qū)域內(nèi)??紤]到聚類過程中有意義的最小道路寬度,本發(fā)明選用I米的間距進(jìn)行采樣。顯然,大規(guī)模的城市區(qū)域可以采用區(qū)域分割的方法提高每個子區(qū)域的處理效率。圖4說明了用道路分析方法生成的圖像。首先,將所有簡化后建筑群墻面FEdge圍成的足跡多邊形投影在與城市區(qū)域一樣大的水平面上(如圖4b),并將所有投影區(qū)域使用建筑的ID進(jìn)行標(biāo)識,生成建筑的ID圖(圖4d);沒有標(biāo)識的區(qū)域為道路區(qū)域,為這些道路區(qū)域計算棋盤距離,作為該點(diǎn)的道路寬度,生成道路寬度圖(圖4c);計算棋盤距離時,有標(biāo)識的建筑區(qū)域同時向未標(biāo)識的道路區(qū)域膨脹至道路中心,生成建筑緩沖圖(圖4e);提取建筑緩沖圖的邊緣得到類似于道路中心線的結(jié)果,生成道路中心圖(圖4f);檢測道路中心圖相鄰兩棟建筑的緩沖區(qū)邊界,找出所有相鄰建筑對。使用這些相鄰建筑對原始建筑逐步聚類成不同層次的建筑群。在聚類過程中,將每個相鄰建筑對包含的兩棟建筑群對應(yīng)的子結(jié)點(diǎn)合并成ー個父結(jié)點(diǎn)。為了限制樹的深度,每層次的聚類允許多個相鄰建筑對聚類,當(dāng)父節(jié)點(diǎn)數(shù)目首次不大于子節(jié)點(diǎn)數(shù)目吋,終止該層次的聚類。聚類的精確度和相鄰建筑對的聚類順序有夫。排序過程中同時考慮道路寬度和每個建筑對的幾何特征。一方面,為每個建筑對之間的緩沖區(qū)求取ー個平均緩沖距離(用像表示的道路距離來近似等價);另一方面,聚類過程中動態(tài)計算每個相鄰建筑對的最小包圍框。每ー步聚類時,選取具有最小緩沖距離和最小包圍框的相鄰建筑對進(jìn)行聚類操作并進(jìn)行建筑的包圍框更新。步驟五FEdge合并和面元重構(gòu)生成EBT中表示建 筑群的樹結(jié)點(diǎn)并將其組織成樹狀結(jié)構(gòu)后,下ー步創(chuàng)建每個建筑群實例的幾何和紋理。兩個離散LOD之間允許有多個連續(xù)LODs實現(xiàn)它們之間平滑過渡。在這些不同LOD中,粗糙的LOD通常用于抽象意象的表達(dá),而精細(xì)的LOD用于仿真地物的表達(dá)。用戶可以選擇細(xì)節(jié)層次并將其應(yīng)用在自定義的城市場景可視化中。建筑合并的過程分成兩部分=FEdge幾何實體的合并;FEdge對應(yīng)面元(即FEdgeelements)的重新構(gòu)造。第一步實質(zhì)上是ニ維邊的連接和ー個附加的簡化,第二步是對三維面元進(jìn)行相應(yīng)的連接和簡化。為了獲得合理的綜合城市場景,幾何和紋理的對應(yīng)在合并和重構(gòu)過程中是必須的。由于墻體和屋頂在幾何和紋理上差異較大,本發(fā)明分別說明這兩部分的合并和重構(gòu)過程。(I)建筑墻體當(dāng)合并不同建筑群模型(子建筑群)時,先合并它們自身的緩沖區(qū),合并后的緩沖區(qū)形狀用于輔助生成新的合并后建筑群(父建筑群)的FEdge。父建筑群中的FEdge分成兩類,一類繼承子建筑群中的部分FEdge,另ー類是用于閉合父建筑群例足跡圖所需的新FEdge。隨著FEdge的連接、合并和刪除,對應(yīng)的FEdge elements也執(zhí)行相應(yīng)的操作。為了合并兩個子建筑群,首先為父建筑群生成能合并其所有子建筑群的新緩沖區(qū),然后追蹤新緩沖區(qū)的邊界,尋找對應(yīng)子建筑群的頂點(diǎn)。沿新緩沖區(qū)的邊界,在每個像素點(diǎn)一定范圍的鄰域內(nèi)尋找離該像素點(diǎn)最近的子建筑群的頂點(diǎn),并依次連接,刪除相鄰重復(fù)頂點(diǎn)后,剩余頂點(diǎn)序列組成多邊形,作為父建筑群的足跡圖。邊界追蹤算法的最終精度取決于采樣頂點(diǎn)之間的最小距離、新緩沖區(qū)的形狀以及緩沖區(qū)距離。在獲取新足跡圖的過程中,用能夠合并所有子建筑群的緩沖區(qū)距離最小的新緩沖區(qū)計算更精確的父建筑群的足跡圖。為了加速新緩沖區(qū)的生成,在合井一些大建筑群時,直接合并它們在建筑緩沖圖中的緩沖區(qū)。考慮到城市建筑通常具有鮮明的紋理模式,面元可以分為高度重復(fù)單元(墻和窗)和微重復(fù)単元(門),將每ー種FEdge element作為可移植性的面元,使用相對位置和尺寸組合所需要種類的FEdge element ο這種處理方式大大簡化了傳統(tǒng)的考慮姆個FEdgeelement的面元重構(gòu)方法,非常適合原始面元的復(fù)用和移植。(2)建筑屋頂在處理建筑群屋頂時,預(yù)先為建筑群生成一個有著平均高度的平屋頂,在可視化過程中,渲染部分高度突出的建筑以維持城市場景中建筑高度維的特征。本發(fā)明也采用類似的方法構(gòu)建這種具有屋頂細(xì)節(jié)的建筑群。為了節(jié)約紋理資源和彌補(bǔ)負(fù)空間紋理不合理的缺陷,使用原始建筑生成俯視情況下的屋頂影像,并結(jié)合BBmap中的緩沖區(qū)對屋頂紋理進(jìn)行擴(kuò)張,向負(fù)空間填充屋頂紋理。為了填充新面元,需要在屋頂FEdge圍成的空間內(nèi)進(jìn)行Delaunay三角剖分。本發(fā)明簡化建筑群屋頂?shù)脑瓌t是盡可能保持原始建筑的高度變化,因而在簡化三角剖分得到的面元過程中,面元的重要性由該面元的高度決定。隨著面元的逐步簡化,具有連續(xù)LOD的一系列屋頂被構(gòu)造出來。
本發(fā)明使用預(yù)先定義的顏色將這些城市意象(如街區(qū))與一般小型的建筑群意象區(qū)分開來。同吋,為了簡化這些城市意象中不重要的屋頂細(xì)節(jié),在三角剖分之前對屋頂內(nèi)部的原始頂點(diǎn)進(jìn)行刪除。嚴(yán)格的說,要絕對保證原始建筑的高度變化,則不能在三角剖分前隨意剔除父建筑群屋頂邊界內(nèi)部的每個子屋頂角點(diǎn),遵循這樣的原則會使得計算過程過于復(fù)雜。本發(fā)明采用一種更便捷但等效于嚴(yán)格做法的方法。首先,將父建筑群的高度設(shè)置成子建筑群的帶權(quán)平均高度,權(quán)重和子建筑群的足跡圖面積成正比,根據(jù)子建筑群的高度與父建筑群的高度差選出高度維上較為重要的子建筑群,將它們頂端抽象為各自屋頂?shù)闹行?,這些屋頂中心最終和父建筑群屋頂邊界上的頂點(diǎn)一同參與三角剖分。步驟五EBT可視化渲染本發(fā)明的可視化機(jī)制支持不同意象建筑群不受限制的自定義LOD設(shè)計,從而為這些建筑群指定不同的渲染方式。相鄰離散LOD間通過添加連續(xù)LOD對可視化結(jié)果進(jìn)行平滑。 預(yù)可視化之前,在EBT的所有樹層次中選擇了部分層并為它們指定適合其意象的L0D,并使用了取值范圍為I(LODl)到3(L0D3)的浮點(diǎn)型屬性“L”記錄EBT選中層的L0D??梢暬^程中,分兩步對城市綜合結(jié)果進(jìn)行渲染。如果視點(diǎn)到城市中心的水平距離大于給定的距離閾值時,抽象意象的樹結(jié)點(diǎn)(I < L < 2)將被渲染,否則,渲染仿真的樹結(jié)點(diǎn)(2 < L < 3);其次,像素誤差作為精細(xì)篩選具有特定LOD的建筑群標(biāo)準(zhǔn)。為了保證渲染結(jié)果的連續(xù)性,可視化過程中,必須考慮不同LOD建筑群在當(dāng)前可視條件下渲染結(jié)果的像素誤差。建筑群在綜合前后具有負(fù)空間的體積差異,分別投影這個體積差異到水平和垂直方向上,形成水平誤差和垂直誤差。在EBT中,該體積差被定義為父建筑群與所有子建筑群體積和差值的絕對值,其中葉結(jié)點(diǎn)體積差為O。預(yù)計算完所有建筑群的體積差后,沿葉結(jié)點(diǎn)向根結(jié)點(diǎn)方向?qū)w積差向上ー級做一次累積,最后,實時渲染城市場景過程中,一旦父建筑群的投影誤差超過給定的閾值,則渲染子建筑群。實施例I :在一臺配置為Windows7 Home Premium 操作系統(tǒng),2. 4GHz Intel Core (TM)i5-2430MCPU,8GB內(nèi)存,NVIDIANVS 4200M顯卡的計算機(jī)上進(jìn)行了實施。測試了不同形狀的建筑(如矩形、梯形、L型、T型、U型,H型)、常見的紋理(如樸素紋理、房屋板壁、木材、磚塊、大理石等)以及基本建筑元素(如墻、窗、門)。本發(fā)明的綜合方法能夠?qū)崿F(xiàn)建筑模型幾何和紋理的同步操作,在合并結(jié)果中融合不同角度下的可見紋理信息。另外,本發(fā)明中采用的紋理復(fù)用機(jī)制極大限度減少了建筑群新紋理的生成,且能靈活生成不同樣式的綜合紋理,這種紋理控制的靈活性對某些應(yīng)用十分有利,比如在數(shù)字旅游圖等應(yīng)用的建筑群綜合中保留特殊的視覺線索(建筑的紋理風(fēng)格和建筑名)。由于緩沖區(qū)可以用傳統(tǒng)的幾何方法或用本發(fā)明提出的基于圖像方法生成。表I給出了用幾何方法為ー個具有6,820棟建筑的城市區(qū)域生成不同層次緩沖區(qū)聚類結(jié)果的耗時,而使用圖像方法生成所有道路分析結(jié)果圖的過程(包含緩沖區(qū)分析的過程)只需要6秒,遠(yuǎn)遠(yuǎn)優(yōu)于幾何方法。這兩種方法的對比結(jié)果驗證了基于圖像處理方法生成緩沖區(qū)的高效性。表I.使用幾何方法生成建筑足跡圖不同層次緩沖區(qū)聚類結(jié)果的統(tǒng)計信息
權(quán)利要求
1.一種顧及城市意象的城市建筑綜合與渲染的方法步驟包括 步驟一構(gòu)建抽象邊結(jié)構(gòu) 抽象邊FEdge由一條子邊或多條互相連接的子邊組成,每條子邊對應(yīng)一個或多個小的貼圖面元(FEdge element),三維建筑模型被抽象成一個具有多個墻面FEdges和一個屋頂FEdge建筑群,每個FEdge具有二維幾何形狀和一些對應(yīng)三維面元FEdge elements, FEdge代表的面類型通過計算FEdge包含的所有FEdge elements的平均法向量來區(qū)分。
分割墻體和屋頂,分別提取每一部分的足跡圖,簡化后的足跡圖用來生成FEdge的幾何實體,為了降低簡化過程的計算量,將屋頂足跡圖的頂點(diǎn)映射到墻面足跡圖的頂點(diǎn)上,最后,把墻面簡化足跡圖上的每條邊作為墻面FEdge,整個屋頂簡化足跡圖作為屋頂FEdge,垂直投影在FEdge上的面片作為該FEdge對應(yīng)的FEdge elements,為了便于新FEdgeelement的生成,每個FEdge element均使用基于FEdge的相對坐標(biāo)進(jìn)行記錄。
綜合結(jié)果不直接記錄綜合后的建筑表面,而是通過記錄FEdge的拓?fù)潢P(guān)系來間接表達(dá)面片的幾何結(jié)構(gòu),以便在可視化之前對面片進(jìn)行靈活處理生成可渲染的建筑群實體。
步驟二 建立層次緩沖區(qū)樹結(jié)構(gòu)EBT 在建筑綜合之前,基于圖像處理方法進(jìn)行城市道路的自動分析,在道路分析過程中,提取了道路中心線和建筑緩沖區(qū)用于輔助城市建筑模型的聚類和合并,對原始建筑模型進(jìn)行聚類和合并,得到級別不同的建筑群,使用樹狀結(jié)構(gòu)記錄建筑群之間的層次關(guān)系,該結(jié)構(gòu)稱為多分辨率表達(dá)樹(EBT),在EBT中,每個樹結(jié)點(diǎn)包含一個建筑群的指針,同一深度層的樹結(jié)點(diǎn)共享同一個細(xì)節(jié)層次(LOD),靠近根結(jié)點(diǎn)的樹結(jié)點(diǎn)對應(yīng)較粗LOD的建筑群,而靠近葉結(jié)點(diǎn)的樹結(jié)點(diǎn)對應(yīng)較精細(xì)LOD的建筑群,EBT中的LOD生成分為兩個步驟通過連續(xù)聚類生成城市場景的多個連續(xù)L0D,之后,從這些具有連續(xù)LOD的聚類結(jié)果中選擇對其有意義的結(jié)果,并賦予尚散的LOD。
步驟三三維建筑模型抽象 建筑模型抽象的主要任務(wù)是在原始建筑面元中選擇關(guān)鍵頂點(diǎn)和關(guān)鍵邊,進(jìn)而創(chuàng)建FEdge, 一個三維建筑模型被抽象成多個墻面FEdge和一個屋頂FEdge分為三個步驟建筑分割和足跡圖提??;簡化足跡圖生成FEdge的二維幾何實體;映射原始模型的面元生成FEdge element ;建筑足跡圖簡化分為四個步驟將短邊向長邊平移;合并具有相似法向量方向的相鄰邊;計算凸包消除凹角;細(xì)化凸包保留重要的凹角;將屋頂面元全部映射到屋頂FEdge上,而將墻體面元映射至和它具有最相似法向量方向和水平面投影的墻面FEdge上,如果沒有明確區(qū)分墻體和屋頂,則先執(zhí)行一個自動區(qū)分墻體和屋頂?shù)倪^程,在這種情形下,所有的面元(除基地平面外)將被投影到屋頂FEdge確定的屋頂平面上,如果一個面元的絕大部分在該平面以上,則視為屋頂面元,否則,看成是一個墻體面元,進(jìn)一步尋找其對應(yīng)的墻面FEdge。
步驟四用圖像處理方法實現(xiàn)緩沖區(qū)聚類 本發(fā)明的緩沖區(qū)聚類基于圖像處理的自動道路提取方法,圖像范圍是比整個城市建筑的包圍框略大的矩形城市區(qū)域,所有建筑的墻面FEdge圍成的多邊形都被投影在該城市區(qū)域內(nèi)。將所有簡化后建筑群的墻面FEdge圍成的足跡多邊形投影在與城市區(qū)域一樣大的水平面上,并將所有投影區(qū)域使用建筑的ID號進(jìn)行標(biāo)識,生成建筑的ID圖,沒有標(biāo)識的區(qū)域為道路區(qū)域,為這些道路區(qū)域計算棋盤距離,作為該點(diǎn)的道路寬度,生成道路寬度圖, 計算棋盤距離時,有標(biāo)識的建筑區(qū)域同時向未標(biāo)識的道路區(qū)域膨脹至道路中心,生成建筑緩沖圖,提取建筑緩沖圖的邊緣得到類似于道路中心線的結(jié)果,生成道路中心圖,檢測道路中心圖相鄰兩棟建筑的緩沖區(qū)邊界,找出所有的相鄰建筑對,使用這些相鄰建筑對將原始建筑逐步聚類成EBT中不同層次的建筑群,在聚類過程中,將每個相鄰建筑對包含的兩棟建筑群對應(yīng)的子結(jié)點(diǎn)合并成 一個父結(jié)點(diǎn),為了限制樹的深度,每層次的聚類允許多個相鄰建筑對進(jìn)行聚類,當(dāng)父節(jié)點(diǎn)數(shù)目首次不大于子節(jié)點(diǎn)數(shù)目時,終止該層次的聚類。
聚類的精確度和相鄰建筑對的聚類順序有關(guān),排序過程中同時考慮了道路寬度和每個建筑對的幾何特征,一方面,為每個建筑對之間的緩沖區(qū)求取平均緩沖距離;另一方面,聚類過程中動態(tài)計算每個相鄰建筑對的最小包圍框,每一步聚類時,選取具有最小緩沖距離和最小包圍框的相鄰建筑對進(jìn)行聚類操作并進(jìn)行建筑的包圍框更新。
步驟五FEdge合并和面元重構(gòu) 生成EBT中表示建筑群的樹結(jié)點(diǎn)并將其組織成樹狀結(jié)構(gòu)后,下一步創(chuàng)建每個建筑群的幾何和紋理,每個對應(yīng)的樹結(jié)點(diǎn)有一個指定的LOD,兩個離散LOD之間允許有多個連續(xù)LODs作為它們之間的平滑過渡。
合并的過程分成兩部分=FEdge幾何實體的合并;FEdge對應(yīng)面元的重新構(gòu)造,為了獲得自然合理的綜合場景,幾何和紋理的對應(yīng)在合并和重構(gòu)過程中是必須的,由于墻體和屋頂在幾何和紋理上差異較大,本發(fā)明分別說明這兩部分的合并和重構(gòu)過程。
(1)建筑墻體 當(dāng)合并不同建筑群時,首先合并它們自身的緩沖區(qū),合并后的緩沖區(qū)形狀用于輔助生成新的合并后建筑群的FEdge,隨著FEdge的連接、合并和刪除,對應(yīng)的FEdge elements也執(zhí)行相應(yīng)的操作。
為了合并兩個子建筑群,首先為父建筑群生成能合并其所有子建筑群的新緩沖區(qū),然后追蹤新緩沖區(qū)的邊界,尋找對應(yīng)子建筑群的頂點(diǎn),沿新緩沖區(qū)的邊界,在每個像素點(diǎn)一定范圍的鄰域內(nèi)尋找離該像素點(diǎn)最近的子建筑群的頂點(diǎn),并依次連接,刪除相鄰重復(fù)頂點(diǎn)后,剩余頂點(diǎn)序列組成多邊形,作為父建筑群的足跡圖,邊界追蹤算法的最終精度取決于采樣頂點(diǎn)之間的最小距離、新緩沖區(qū)的形狀以及緩沖區(qū)距離,在獲取新足跡圖的過程中,用能夠合并所有子建筑群的緩沖區(qū)距離最小的新緩沖區(qū)計算更精確的父建筑群的足跡圖,為了加速新緩沖區(qū)的生成,在合并一些大建筑群時,直接合并它們在建筑緩沖圖中的緩沖區(qū)。
(2)建筑屋頂 在處理建筑群屋頂時,預(yù)先為建筑群生成一個有著平均高度的平屋頂,在可視化過程中,渲染部分高度突出的建筑以維持城市場景中建筑高度維的特征,為了填充新面元,需要在屋頂FEdge圍成的空間內(nèi)進(jìn)行Delaunay三角剖分,面元的重要性由該面元的高度決定,隨著面元的逐步簡化,具有連續(xù)LOD的一系列屋頂被構(gòu)造出來。
本發(fā)明使用預(yù)先定義的顏色將這些城市意象與一般小型的建筑群意象區(qū)分開來,同時,為了簡化這些城市意象中不重要的屋頂細(xì)節(jié),在三角剖分之前對屋頂內(nèi)部的原始頂點(diǎn)進(jìn)行刪除,首先,將父建筑群的高度設(shè)置成子建筑群的帶權(quán)平均高度,權(quán)重和子建筑群的足跡圖面積成正比,根據(jù)子建筑群的高度與父建筑群的高度差選出高度維上較為重要的子建筑群,將它們頂端抽象為各自屋頂?shù)闹行?,這些屋頂中心最終和父建筑群屋頂邊界上的頂點(diǎn)一同參與三角剖分。步驟五EBT可視化渲染 相鄰離散LOD間通過添加連續(xù)LOD對可視化結(jié)果進(jìn)行平滑,預(yù)可視化之前,在EBT的所有樹層次中選擇了部分層并為它們指定適合其意象的L0D,可視化過程中,分兩步對城市綜合結(jié)果進(jìn)行渲染,首先,如果視點(diǎn)到城市中心的水平距離大于給定的距離閾值時,抽象意象的樹結(jié)點(diǎn)將被渲染,否則,渲染仿真的樹結(jié)點(diǎn);其次,像素誤差作為精細(xì)篩選具有特定LOD的建筑群標(biāo)準(zhǔn),為了保證渲染結(jié)果的連續(xù)性,可視化過程中,建筑群在綜合前后具有負(fù)空間的體積差異,分別投影這個體積差異到水平和垂直方向上,形成水平誤差和垂直誤差,在EBT中,葉結(jié)點(diǎn)體積差為0,預(yù)計算完所有建筑群的體積差后,沿葉結(jié)點(diǎn)向根結(jié)點(diǎn)方向?qū)?體積差向上一級做一次累積,最后,實時渲染城市場景過程中,一旦父建筑群的投影誤差超過給定的閾值,則渲染子建筑群。
全文摘要
本發(fā)明涉及一種顧及城市意象的城市建筑綜合與渲染的方法。該方法將建筑群模型中精細(xì)的連續(xù)面片抽象為直觀的二維形狀,借助于一種多分辨率表達(dá)樹(EBT)渲染出比CityGML標(biāo)準(zhǔn)中定義的細(xì)節(jié)層次更加靈活的城市意象,同時保證了城市意象的可讀性和逼真性。本發(fā)明還設(shè)計了自動道路分析算法用來提取城市意象的相關(guān)空間要素,以此輔助于建筑的聚類和合并,利用索引機(jī)制存儲抽象邊FEdge、建筑群實例和EBT作為城市建筑綜合結(jié)果,以便在渲染城市LOD場景之前對綜合結(jié)果進(jìn)行靈活預(yù)處理,并方便模型更新。本發(fā)明提供了一種實時三維數(shù)字城市模型可視化渲染的方法,在城市導(dǎo)航、空間位置服務(wù)等方面具有廣闊的應(yīng)用前景。
文檔編號G06T17/00GK102663800SQ20121012465
公開日2012年9月12日 申請日期2012年4月26日 優(yōu)先權(quán)日2012年4月26日
發(fā)明者張曼, 張立強(qiáng), 陳棟 申請人:北京師范大學(xué)