謝年,向煜,徐艇偉
(重慶數字城市科技有限公司,重慶 400020)
基于規則的快速三維建模技術研究
謝年?,向煜,徐艇偉
(重慶數字城市科技有限公司,重慶 400020)
傳統的三維建模方式多通過手工建立精細的三維模型,效果好,但建設周期長,成本高。本文介紹了在Esri CityEngine平臺下,基于規則進行三維建模的方法,重點介紹了建筑物和道路的建模思路,利用現有GIS數據,基于規則進行快速自動的建模,提高了三維建模效率,為三維建模提供了一種全新的手段。
Esri CityEngine;三維建模;GIS
三維建模技術是建立現實世界虛擬化三維場景模型的基礎,其運用計算機圖形圖像處理技術,將地理空間數據從傳統以二維平面圖的表現方式轉換為以三維立體的方式顯示[1],能更真實、形象地展示現實世界,廣泛應用于城市規劃、數字城市、建筑設計、安全應急等領域。三維建模技術的核心是根據研究對象的三維空間信息構造其立體模型,并利用相關建模軟件或編程語言生成該模型的圖形顯示,然后對其進行各種操作和處理[2]。傳統的三維建模技術采用純手工建立精細的三維模型,雖然展示效果好,但其結果往往是靜態、固化的作品,而且建設周期長[3]。本文主要介紹一種在Esri CityEngine平臺下,基于規則的三維快速建模方法,通過規則能調用GIS數據中屬性數據,進行自動批量建模,很好地利用了現有GIS數據,提高了三維建模效率,在大場景三維快速建模領域提供了一種新的手段。
規則是一種獨特的程序語言,它定義了三維模型的幾何和紋理特征,決定三維模型如何生成。基于規則建模的核心思想是定義合理的規則,反復優化設計,批量生成模型,建模對象的規律性越高,其建模優勢越明顯。如圖1所示為整個規則推導過程:左側是最初的圖形和右側是最終生成的模型。

圖1 規則推導過程
Esri CityEngine內置了許多三維模型構建的方法函數,規則文件CGA定義了如何調用這些三維模型構建函數,一個對象被賦予規則后,調用對象本身屬性表中的值作為參數,生成三維模型[4]。一個規則可以同時賦予多個對象實現批量建模,參數可以實時調整修改,三維模型修改效果得以即時展現。
基于Esri CityEngine快速三維建模的一般化流程如圖2所示。

圖2 建模流程
快速三維建模由幾何建模和紋理建模兩部分組成[5],其中幾何建模部分一般需要準備基礎底圖、數字高程模型(DEM)等數據,紋理建模部分需準備數字正射影像(DOM)、紋理照片等數據。1∶500數字地形圖包含了大量的房屋、道路、水系等要素信息,不僅準確地還原了現實世界對象之間的空間關系,而且包含了對象材質、高度等一些屬性信息,因此1∶500數字地形圖是三維城市建模一種比較理想的基礎底圖。紋理建模是指根據對象的表征特性進行紋理貼片,紋理貼圖圖片的獲取方式有實地拍照、航空攝影、數字全景攝影等。
數據在導入Esri CityEngine平臺之前需進行預處理,以滿足快速建模的要求。首先將基礎底圖數據轉換成ArcGIS的shp或者File GDB格式,由于Esri City-Engine中只能設置投影坐標系,所以需將建模的數據進行投影轉換,還要豐富對象的屬性信息,根據建模的要求來設定對象的屬性結構,比如樓層高度、樓層數、車道等,屬性信息越豐富,后期通過規則建立的三維模型就能越精細。為了更好地體現三維建模的真實性,還需要將基礎底圖數據與DEM疊加計算,轉換成三維數據,使對象帶有高程信息,這樣與地形的貼合會更加準確。紋理貼圖圖片的透視關系要矯正準確,所有貼圖的門窗、建筑立面等必須保持橫平豎直,清晰可見。
快速建模的核心部分是編寫規則,首先對建模對象進行分析,根據對象的共性和差異性來復用或編寫規則。在規則建模初期,需要對不同類型的對象編寫規則進行建模,與其他手工建模的方法相比,規則建模花費的代價差不多甚至更多,但是可以建立一個規則庫,將編寫好的規則導入庫中進行規則積累,隨著規則庫中的規則不斷擴充,在后期建模的時候,就可以設置對象調用庫中已有的規則進行批量建模,而只需對庫中規則無法表達的對象編寫規則進行補充,減少了建模的投入,且規則庫很方便進行移植和共享。此時規則建模和傳統手工建模的方法相比,建模效率會有較大的提升。規則建模與傳統手工建模的比較如圖3所示。

圖3 建模比較
4.1 地形建模
地形模型規則建模通過正射影像(DOM)+數字高程模型(DEM)的融合疊加規則進行構建,需考慮建筑物底部與地形的貼合度,理論上建筑物底部的地形應是水平的,如果地形不平,則需將建筑物區域的DEM數據與建筑物進行插值計算,整平地形。
4.2 建筑物建模
建筑物模型是三維模型表達的主體,建筑物模型的質量直接影響整個三維模型的效果。建筑物規則建模的思想首先是對建模區域內的建筑物進行分類,按規律性可分為復雜建筑、一般建筑等。復雜建筑之間存在很少的共性,通常每個建筑都需要單獨編寫一個規則,可復用的幾率很少,也可以直接導入外部已建好的模型,所支持的格式有OBJ、DAE等。一般建筑,根據外形可分為四面形建筑、圓形建筑、異形建筑等,相同類型的建筑只需調用一個通用規則復用即可,同類型建筑物模型的表達則按每個對象自帶的屬性進行構建,因此對于普通區域只需編寫幾個常見建筑物類型的規則就可以快速地進行大范圍建筑物的三維建模。
建筑物幾何建模規則的編寫實際上是對三維模型的逆向分解,即對建筑物進行拆分,然后每個拆分部分通過規則中三維模型的構建函數調用屬性信息作為參數進行模型構建。拆分的程度越高,則建筑物幾何模型表達就越精細,但同時需要提供的屬性信息就越多,規則的編寫也就越復雜。在實際建模的過程中,需結合模型精度要求來對建筑物進行拆分。通過測試發現,普通精度的建筑模型,建筑物表面突出達到1.5 m部分應拆分出來進行模型表現,在1.5 m以下時可以用貼圖來表現,這樣就可以在規則和屬性信息上進行適當的取舍,實現規則復雜度與建模效果之間的平衡。對于不同建筑物的拆分方式大體上一致,一般四面形建筑建立規則的拆分方法如圖4所示。

圖4 四面形建筑的拆分結構圖
建筑物紋理建模規則是在各個拆分對象上,通過規則中紋理函數調用紋理圖片對對象各個面進行紋理貼片,貼片時需考慮對象表征的特性,貼片方式根據對象的特點進行設定,比如玻璃材質的紋理貼片應進行透明、反光的設置。
建筑物各個拆分部分的參數信息可以存儲在建筑物數據的屬性表中,也可以通過Esri CityEngine的屬性定義面板進行輸入調整,這樣同一個規則對不同屬性的對象的建模表現也就不一樣。為了方便管理,通常將對象的各種參數信息存儲在建筑物數據的屬性表中,基于上面四面形建筑物的拆分,需要定義的規則屬性結構如表1所示。

四面形建筑物規則屬性結構 表1
建筑物部分規則代碼如下:
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 }
#根據樓層高度對建筑物進行垂直拆分
Facade-->
split(y){floorheight:Floor}?
#根據窗戶對每層建筑物進行水平拆分
Floor-->
split(x){tilewidth:Tile}?
#拆分窗戶
Tile-->
split(x){~1:Wall|3:split(y){~2:Wall|FW_Ht:Window|~1:Wall}|~1:Wall}
#設置窗戶紋理
Window-->
setupProjection(0,scope.xy,scope.sx,scope.sy)
projectUV(0)
texture(FW_T)
#設置墻體紋理
Wall-->
setupProjection(0,scope.xy,1,1)
texture(F_WT)
projectUV(0)
#設置樓頂樣式
Roof-->
roofHip(30,2)Wall
4.3 道路建模
道路建模也是三維場景中比較重要的部分,建筑物模型規則編寫的思路同樣也適用于道路模型,首先對道路進行分類,然后對不同類型的道路進行拆分。根據道路通行特點可以分為單行道、雙行道、多行道(公交港口)、立交橋等類型。雙行道的建立規則拆分結構如圖5所示。

圖5 雙行道的拆分結構圖
雙行道是道路中最為常見的,為了增加路網模型的真實性,還可以在車道上隨機分布汽車模型、人行道上分布人物模型等。基于上面雙行道的拆分結構,需要定義的規則屬性結構如表2所示。4.4 其他模型

雙行道規則屬性結構 表2
除了建筑物和道路外,構建三維場景還需要其他模型,比如雕塑、各類附屬設施等,這類對象的規律性不強,通常用其他的建模軟件進行建模,然后在規則中定義模型的導入、大小、角度等參數。
在重慶市某區域的三維城市模型建設中,我們充分利用現有GIS數據,通過編寫建筑物模型、道路模型等規則文件,通過Esri CityEngine實現了大場景三維城市批量建模,建設周期相比傳統手工建模的方式縮短了約30%,建模成果滿足項目設計要求。建模效果如圖6所示。

圖6 三維模型效果
本文在Esri CityEngine平臺下,對基于規則的快速三維建模方法進行了研究,介紹了一種全新的三維建模方式,Esri CityEngine基于規則的建模方式,能充分利用現有GIS數據,將大場景的二維數據快速的構建成三維模型,減少了人工干預,縮短了建模周期,而且對建模效果能快速有效的調整。后期主要研究方向是擴充規則的優化和擴展,以便建模進行規則復用,提高工作效率。
[1] 尹小君,趙慶展,寧川等.城市虛擬地理環境的研究與實現[J].計算機應用與軟件,2011,28(5):91~93.
[2] 毛健,蘇笛.地理場景三維可視化系統的關鍵問題研究[J].城市勘測,2012(4):9~11.
[3] 劉暢.虛擬現實技術的關鍵技術研究[J].數字技術與應用,2011(1):65~66.
[4] Esri中國(北京)有限公司.CityEngine概覽[R].2012.
[5] 崔新友,王海花.基于CityGML的數字城市快速建模研究[J].軟件導刊,2009,8(6):17~19.
北京市測繪設計研究院與北京天下圖數據技術有限公司簽訂戰略合作框架協議
2013年6月26日,北京市測繪設計研究院與北京天下圖數據技術有限公司舉行了戰略合作框架協議簽署儀式。溫宗勇院長和關鴻亮董事長代表雙方單位簽署協議。雙方將在北京地區航空攝影、智慧城市建設、地理國(市)情普查與監測、應急測繪保障服務、地理信息數據處理和新技術開發等領域開展合作。
國家測繪地理信息局宋超智副局長、北京市規劃委員會葉大華委員、北京市勘察設計和測繪地理信息管理辦公室王金坡副主任、北京天下圖數據技術有限公司關鴻亮董事長一行8人,與北京市測繪設計研究院溫宗勇院長等院領導班子成員和相關部門負責人參加了戰略合作框架協議簽訂儀式。
葉大華委員指出,戰略合作意義重大,一是促進測繪地理信息行業發展,二是樹立北京的測繪地理信息行業標桿,三是提高測繪服務城市規劃管理水平。他提出兩點希望:一是雙方依托一批現有項目加強合作;二是圍繞政府、規劃和民生保障等需求,策劃和推進一批新項目,提供有力的測繪地理信息保障服務。
宋超智副局長對戰略合作框架協議的簽署表示祝賀,他提出三點要求,一是雙方強強聯合,實現“一加一大于二”;二是在業務上取長補短、優勢互補,實現共贏;三是開展全方位合作,注意相互學習借鑒,力求取得事半功倍的效果。
(來源: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—),男,工程師,主要研究方向為地理信息系統應用、空間數據處理建庫。
重慶市科委重大科技攻關項目(cstc2012gg-yyjsB40006)