謝年,向煜,徐艇偉
(重慶數(shù)字城市科技有限公司,重慶 400020)
基于規(guī)則的快速三維建模技術(shù)研究
謝年?,向煜,徐艇偉
(重慶數(shù)字城市科技有限公司,重慶 400020)
傳統(tǒng)的三維建模方式多通過手工建立精細(xì)的三維模型,效果好,但建設(shè)周期長,成本高。本文介紹了在Esri CityEngine平臺下,基于規(guī)則進(jìn)行三維建模的方法,重點介紹了建筑物和道路的建模思路,利用現(xiàn)有GIS數(shù)據(jù),基于規(guī)則進(jìn)行快速自動的建模,提高了三維建模效率,為三維建模提供了一種全新的手段。
Esri CityEngine;三維建模;GIS
三維建模技術(shù)是建立現(xiàn)實世界虛擬化三維場景模型的基礎(chǔ),其運用計算機圖形圖像處理技術(shù),將地理空間數(shù)據(jù)從傳統(tǒng)以二維平面圖的表現(xiàn)方式轉(zhuǎn)換為以三維立體的方式顯示[1],能更真實、形象地展示現(xiàn)實世界,廣泛應(yīng)用于城市規(guī)劃、數(shù)字城市、建筑設(shè)計、安全應(yīng)急等領(lǐng)域。三維建模技術(shù)的核心是根據(jù)研究對象的三維空間信息構(gòu)造其立體模型,并利用相關(guān)建模軟件或編程語言生成該模型的圖形顯示,然后對其進(jìn)行各種操作和處理[2]。傳統(tǒng)的三維建模技術(shù)采用純手工建立精細(xì)的三維模型,雖然展示效果好,但其結(jié)果往往是靜態(tài)、固化的作品,而且建設(shè)周期長[3]。本文主要介紹一種在Esri CityEngine平臺下,基于規(guī)則的三維快速建模方法,通過規(guī)則能調(diào)用GIS數(shù)據(jù)中屬性數(shù)據(jù),進(jìn)行自動批量建模,很好地利用了現(xiàn)有GIS數(shù)據(jù),提高了三維建模效率,在大場景三維快速建模領(lǐng)域提供了一種新的手段。
規(guī)則是一種獨特的程序語言,它定義了三維模型的幾何和紋理特征,決定三維模型如何生成?;谝?guī)則建模的核心思想是定義合理的規(guī)則,反復(fù)優(yōu)化設(shè)計,批量生成模型,建模對象的規(guī)律性越高,其建模優(yōu)勢越明顯。如圖1所示為整個規(guī)則推導(dǎo)過程:左側(cè)是最初的圖形和右側(cè)是最終生成的模型。
圖1 規(guī)則推導(dǎo)過程
Esri CityEngine內(nèi)置了許多三維模型構(gòu)建的方法函數(shù),規(guī)則文件CGA定義了如何調(diào)用這些三維模型構(gòu)建函數(shù),一個對象被賦予規(guī)則后,調(diào)用對象本身屬性表中的值作為參數(shù),生成三維模型[4]。一個規(guī)則可以同時賦予多個對象實現(xiàn)批量建模,參數(shù)可以實時調(diào)整修改,三維模型修改效果得以即時展現(xiàn)。
基于Esri CityEngine快速三維建模的一般化流程如圖2所示。
圖2 建模流程
快速三維建模由幾何建模和紋理建模兩部分組成[5],其中幾何建模部分一般需要準(zhǔn)備基礎(chǔ)底圖、數(shù)字高程模型(DEM)等數(shù)據(jù),紋理建模部分需準(zhǔn)備數(shù)字正射影像(DOM)、紋理照片等數(shù)據(jù)。1∶500數(shù)字地形圖包含了大量的房屋、道路、水系等要素信息,不僅準(zhǔn)確地還原了現(xiàn)實世界對象之間的空間關(guān)系,而且包含了對象材質(zhì)、高度等一些屬性信息,因此1∶500數(shù)字地形圖是三維城市建模一種比較理想的基礎(chǔ)底圖。紋理建模是指根據(jù)對象的表征特性進(jìn)行紋理貼片,紋理貼圖圖片的獲取方式有實地拍照、航空攝影、數(shù)字全景攝影等。
數(shù)據(jù)在導(dǎo)入Esri CityEngine平臺之前需進(jìn)行預(yù)處理,以滿足快速建模的要求。首先將基礎(chǔ)底圖數(shù)據(jù)轉(zhuǎn)換成ArcGIS的shp或者File GDB格式,由于Esri City-Engine中只能設(shè)置投影坐標(biāo)系,所以需將建模的數(shù)據(jù)進(jìn)行投影轉(zhuǎn)換,還要豐富對象的屬性信息,根據(jù)建模的要求來設(shè)定對象的屬性結(jié)構(gòu),比如樓層高度、樓層數(shù)、車道等,屬性信息越豐富,后期通過規(guī)則建立的三維模型就能越精細(xì)。為了更好地體現(xiàn)三維建模的真實性,還需要將基礎(chǔ)底圖數(shù)據(jù)與DEM疊加計算,轉(zhuǎn)換成三維數(shù)據(jù),使對象帶有高程信息,這樣與地形的貼合會更加準(zhǔn)確。紋理貼圖圖片的透視關(guān)系要矯正準(zhǔn)確,所有貼圖的門窗、建筑立面等必須保持橫平豎直,清晰可見。
快速建模的核心部分是編寫規(guī)則,首先對建模對象進(jìn)行分析,根據(jù)對象的共性和差異性來復(fù)用或編寫規(guī)則。在規(guī)則建模初期,需要對不同類型的對象編寫規(guī)則進(jìn)行建模,與其他手工建模的方法相比,規(guī)則建模花費的代價差不多甚至更多,但是可以建立一個規(guī)則庫,將編寫好的規(guī)則導(dǎo)入庫中進(jìn)行規(guī)則積累,隨著規(guī)則庫中的規(guī)則不斷擴充,在后期建模的時候,就可以設(shè)置對象調(diào)用庫中已有的規(guī)則進(jìn)行批量建模,而只需對庫中規(guī)則無法表達(dá)的對象編寫規(guī)則進(jìn)行補充,減少了建模的投入,且規(guī)則庫很方便進(jìn)行移植和共享。此時規(guī)則建模和傳統(tǒng)手工建模的方法相比,建模效率會有較大的提升。規(guī)則建模與傳統(tǒng)手工建模的比較如圖3所示。
圖3 建模比較
4.1 地形建模
地形模型規(guī)則建模通過正射影像(DOM)+數(shù)字高程模型(DEM)的融合疊加規(guī)則進(jìn)行構(gòu)建,需考慮建筑物底部與地形的貼合度,理論上建筑物底部的地形應(yīng)是水平的,如果地形不平,則需將建筑物區(qū)域的DEM數(shù)據(jù)與建筑物進(jìn)行插值計算,整平地形。
4.2 建筑物建模
建筑物模型是三維模型表達(dá)的主體,建筑物模型的質(zhì)量直接影響整個三維模型的效果。建筑物規(guī)則建模的思想首先是對建模區(qū)域內(nèi)的建筑物進(jìn)行分類,按規(guī)律性可分為復(fù)雜建筑、一般建筑等。復(fù)雜建筑之間存在很少的共性,通常每個建筑都需要單獨編寫一個規(guī)則,可復(fù)用的幾率很少,也可以直接導(dǎo)入外部已建好的模型,所支持的格式有OBJ、DAE等。一般建筑,根據(jù)外形可分為四面形建筑、圓形建筑、異形建筑等,相同類型的建筑只需調(diào)用一個通用規(guī)則復(fù)用即可,同類型建筑物模型的表達(dá)則按每個對象自帶的屬性進(jìn)行構(gòu)建,因此對于普通區(qū)域只需編寫幾個常見建筑物類型的規(guī)則就可以快速地進(jìn)行大范圍建筑物的三維建模。
建筑物幾何建模規(guī)則的編寫實際上是對三維模型的逆向分解,即對建筑物進(jìn)行拆分,然后每個拆分部分通過規(guī)則中三維模型的構(gòu)建函數(shù)調(diào)用屬性信息作為參數(shù)進(jìn)行模型構(gòu)建。拆分的程度越高,則建筑物幾何模型表達(dá)就越精細(xì),但同時需要提供的屬性信息就越多,規(guī)則的編寫也就越復(fù)雜。在實際建模的過程中,需結(jié)合模型精度要求來對建筑物進(jìn)行拆分。通過測試發(fā)現(xiàn),普通精度的建筑模型,建筑物表面突出達(dá)到1.5 m部分應(yīng)拆分出來進(jìn)行模型表現(xiàn),在1.5 m以下時可以用貼圖來表現(xiàn),這樣就可以在規(guī)則和屬性信息上進(jìn)行適當(dāng)?shù)娜∩?,實現(xiàn)規(guī)則復(fù)雜度與建模效果之間的平衡。對于不同建筑物的拆分方式大體上一致,一般四面形建筑建立規(guī)則的拆分方法如圖4所示。
圖4 四面形建筑的拆分結(jié)構(gòu)圖
建筑物紋理建模規(guī)則是在各個拆分對象上,通過規(guī)則中紋理函數(shù)調(diào)用紋理圖片對對象各個面進(jìn)行紋理貼片,貼片時需考慮對象表征的特性,貼片方式根據(jù)對象的特點進(jìn)行設(shè)定,比如玻璃材質(zhì)的紋理貼片應(yīng)進(jìn)行透明、反光的設(shè)置。
建筑物各個拆分部分的參數(shù)信息可以存儲在建筑物數(shù)據(jù)的屬性表中,也可以通過Esri CityEngine的屬性定義面板進(jìn)行輸入調(diào)整,這樣同一個規(guī)則對不同屬性的對象的建模表現(xiàn)也就不一樣。為了方便管理,通常將對象的各種參數(shù)信息存儲在建筑物數(shù)據(jù)的屬性表中,基于上面四面形建筑物的拆分,需要定義的規(guī)則屬性結(jié)構(gòu)如表1所示。
四面形建筑物規(guī)則屬性結(jié)構(gòu) 表1
建筑物部分規(guī)則代碼如下:
attr Height=rand(20,100)#定義建筑物高度
attr F_Ht=4 #定義樓層高度
attr FW_Wd=5 #定義窗戶寬度
attr FW_Ht=3 #定義窗戶高度
attr FW_T="" #定義窗戶紋理
attr F_WT="" #定義墻體紋理
#拉升建筑物
Lot-->
extrude(Height)comp(f){side: Facade|top(0): Roof }
#根據(jù)樓層高度對建筑物進(jìn)行垂直拆分
Facade-->
split(y){floorheight:Floor}?
#根據(jù)窗戶對每層建筑物進(jìn)行水平拆分
Floor-->
split(x){tilewidth:Tile}?
#拆分窗戶
Tile-->
split(x){~1:Wall|3:split(y){~2:Wall|FW_Ht:Window|~1:Wall}|~1:Wall}
#設(shè)置窗戶紋理
Window-->
setupProjection(0,scope.xy,scope.sx,scope.sy)
projectUV(0)
texture(FW_T)
#設(shè)置墻體紋理
Wall-->
setupProjection(0,scope.xy,1,1)
texture(F_WT)
projectUV(0)
#設(shè)置樓頂樣式
Roof-->
roofHip(30,2)Wall
4.3 道路建模
道路建模也是三維場景中比較重要的部分,建筑物模型規(guī)則編寫的思路同樣也適用于道路模型,首先對道路進(jìn)行分類,然后對不同類型的道路進(jìn)行拆分。根據(jù)道路通行特點可以分為單行道、雙行道、多行道(公交港口)、立交橋等類型。雙行道的建立規(guī)則拆分結(jié)構(gòu)如圖5所示。
圖5 雙行道的拆分結(jié)構(gòu)圖
雙行道是道路中最為常見的,為了增加路網(wǎng)模型的真實性,還可以在車道上隨機分布汽車模型、人行道上分布人物模型等?;谏厦骐p行道的拆分結(jié)構(gòu),需要定義的規(guī)則屬性結(jié)構(gòu)如表2所示。4.4 其他模型
雙行道規(guī)則屬性結(jié)構(gòu) 表2
除了建筑物和道路外,構(gòu)建三維場景還需要其他模型,比如雕塑、各類附屬設(shè)施等,這類對象的規(guī)律性不強,通常用其他的建模軟件進(jìn)行建模,然后在規(guī)則中定義模型的導(dǎo)入、大小、角度等參數(shù)。
在重慶市某區(qū)域的三維城市模型建設(shè)中,我們充分利用現(xiàn)有GIS數(shù)據(jù),通過編寫建筑物模型、道路模型等規(guī)則文件,通過Esri CityEngine實現(xiàn)了大場景三維城市批量建模,建設(shè)周期相比傳統(tǒng)手工建模的方式縮短了約30%,建模成果滿足項目設(shè)計要求。建模效果如圖6所示。
圖6 三維模型效果
本文在Esri CityEngine平臺下,對基于規(guī)則的快速三維建模方法進(jìn)行了研究,介紹了一種全新的三維建模方式,Esri CityEngine基于規(guī)則的建模方式,能充分利用現(xiàn)有GIS數(shù)據(jù),將大場景的二維數(shù)據(jù)快速的構(gòu)建成三維模型,減少了人工干預(yù),縮短了建模周期,而且對建模效果能快速有效的調(diào)整。后期主要研究方向是擴充規(guī)則的優(yōu)化和擴展,以便建模進(jìn)行規(guī)則復(fù)用,提高工作效率。
[1] 尹小君,趙慶展,寧川等.城市虛擬地理環(huán)境的研究與實現(xiàn)[J].計算機應(yīng)用與軟件,2011,28(5):91~93.
[2] 毛健,蘇笛.地理場景三維可視化系統(tǒng)的關(guān)鍵問題研究[J].城市勘測,2012(4):9~11.
[3] 劉暢.虛擬現(xiàn)實技術(shù)的關(guān)鍵技術(shù)研究[J].數(shù)字技術(shù)與應(yīng)用,2011(1):65~66.
[4] Esri中國(北京)有限公司.CityEngine概覽[R].2012.
[5] 崔新友,王?;?基于CityGML的數(shù)字城市快速建模研究[J].軟件導(dǎo)刊,2009,8(6):17~19.
北京市測繪設(shè)計研究院與北京天下圖數(shù)據(jù)技術(shù)有限公司簽訂戰(zhàn)略合作框架協(xié)議
2013年6月26日,北京市測繪設(shè)計研究院與北京天下圖數(shù)據(jù)技術(shù)有限公司舉行了戰(zhàn)略合作框架協(xié)議簽署儀式。溫宗勇院長和關(guān)鴻亮董事長代表雙方單位簽署協(xié)議。雙方將在北京地區(qū)航空攝影、智慧城市建設(shè)、地理國(市)情普查與監(jiān)測、應(yīng)急測繪保障服務(wù)、地理信息數(shù)據(jù)處理和新技術(shù)開發(fā)等領(lǐng)域開展合作。
國家測繪地理信息局宋超智副局長、北京市規(guī)劃委員會葉大華委員、北京市勘察設(shè)計和測繪地理信息管理辦公室王金坡副主任、北京天下圖數(shù)據(jù)技術(shù)有限公司關(guān)鴻亮董事長一行8人,與北京市測繪設(shè)計研究院溫宗勇院長等院領(lǐng)導(dǎo)班子成員和相關(guān)部門負(fù)責(zé)人參加了戰(zhàn)略合作框架協(xié)議簽訂儀式。
葉大華委員指出,戰(zhàn)略合作意義重大,一是促進(jìn)測繪地理信息行業(yè)發(fā)展,二是樹立北京的測繪地理信息行業(yè)標(biāo)桿,三是提高測繪服務(wù)城市規(guī)劃管理水平。他提出兩點希望:一是雙方依托一批現(xiàn)有項目加強合作;二是圍繞政府、規(guī)劃和民生保障等需求,策劃和推進(jìn)一批新項目,提供有力的測繪地理信息保障服務(wù)。
宋超智副局長對戰(zhàn)略合作框架協(xié)議的簽署表示祝賀,他提出三點要求,一是雙方強強聯(lián)合,實現(xiàn)“一加一大于二”;二是在業(yè)務(wù)上取長補短、優(yōu)勢互補,實現(xiàn)共贏;三是開展全方位合作,注意相互學(xué)習(xí)借鑒,力求取得事半功倍的效果。
(來源:http://www.smibj.com)
Research on Rapid 3D M odeling Technology Based on Rules
Xie Nian,Xiang Yu,Xu Tingwei
(Chongqing Cybercity Sci-tech Co.,Ltd.Chongqing 400020,China)
The traditionalmodelingmethods by hand to establish fine 3Dmodel,effect is good,but the long construction period,high cost.This paper introduces the Esri CityEngine platform,rule based modelingmethod,focuses on building and roadmodeling ideas,use of the existing GISdata,based on rules for fastautomaticmodeling,improves themodeling efficiency,for three-dimensionalmodeling provides a new means.
esri cityengine;3D modeling;GIS
1672-8262(2013)04-5-04
P208.2,TP391.9
A
2013—01—14
謝年(1985—),男,工程師,主要研究方向為地理信息系統(tǒng)應(yīng)用、空間數(shù)據(jù)處理建庫。
重慶市科委重大科技攻關(guān)項目(cstc2012gg-yyjsB40006)