趙雨琪,牟乃夏,張靈先
(1. 黃河水利職業(yè)技術(shù)學(xué)院測(cè)繪工程學(xué)院,河南 開封 475004; 2. 山東科技大學(xué) 測(cè)繪科學(xué)與工程學(xué)院,山東 青島 266510)
利用CityEngine進(jìn)行三維校園參數(shù)化精細(xì)建模
趙雨琪1,牟乃夏2,張靈先2
(1. 黃河水利職業(yè)技術(shù)學(xué)院測(cè)繪工程學(xué)院,河南 開封 475004; 2. 山東科技大學(xué) 測(cè)繪科學(xué)與工程學(xué)院,山東 青島 266510)
在現(xiàn)有二維數(shù)據(jù)的基礎(chǔ)上進(jìn)行快速的三維精細(xì)化建模是當(dāng)前GIS領(lǐng)域的一個(gè)重要研究方向。本文給出了CityEngine參數(shù)化規(guī)則建模的流程和方法,解釋了規(guī)則函數(shù)的原型及其作用,闡述了建筑物、道路、綠化和水體的三維精細(xì)化規(guī)則建模的具體步驟,并以山東科技大學(xué)校園三維為例,在CityEngine平臺(tái)上構(gòu)建了整個(gè)校園的三維場(chǎng)景。參數(shù)化建模能夠通過參數(shù)更改模型的細(xì)節(jié)特征,實(shí)現(xiàn)了實(shí)時(shí)、動(dòng)態(tài)的三維建模,彌補(bǔ)了傳統(tǒng)建模方法的不足,對(duì)大規(guī)模城市快速精細(xì)化三維建模具有重要的指導(dǎo)意義。
CityEngine;規(guī)則;參數(shù)化;三維建模
“三維校園”概念是由美國(guó)克萊蒙特大學(xué)教授凱尼斯·格林在1990年發(fā)起并主持的一項(xiàng)大型科研項(xiàng)目“信息化校園計(jì)劃”中提出的[1]。隨著三維數(shù)字建模技術(shù)的發(fā)展,眾多優(yōu)秀的GIS軟件公司也相繼推出了各自的三維GIS軟件[2]。但是,大部分軟件的建模方式是通過手工建立精細(xì)的三維模型,追求的是模型的細(xì)節(jié)化效果,致使建模的建設(shè)周期長(zhǎng),耗費(fèi)大量的人力勞動(dòng)[3]。隨著智慧城市建設(shè)的推進(jìn),對(duì)快速精細(xì)化三維建模的需求越來越強(qiáng)烈[4],因此亟需一種能夠在現(xiàn)有二維數(shù)據(jù)基礎(chǔ)上進(jìn)行參數(shù)化控制,并且與現(xiàn)有的GIS平臺(tái)無縫集成的三維建模方法[5]。CityEngine軟件基于規(guī)則的批量建模則應(yīng)運(yùn)而生。
CityEngine軟件是Esri公司專門針對(duì)三維建模的軟件模塊,是通過規(guī)則快速調(diào)用GIS二維數(shù)據(jù)中的屬性數(shù)據(jù)[6],進(jìn)行自動(dòng)化批量建模。這種高效、動(dòng)態(tài)、參數(shù)化的建模方式尤其適合于大規(guī)模智慧城市的三維建模需求,因此迅速成為當(dāng)前城市三維建模的首選方法[7]。本文研究通過規(guī)則定義進(jìn)行參數(shù)化三維校園精細(xì)化建模的方法,以期為智慧城市大背景下的城市快速精細(xì)化三維建模提供參考。
計(jì)算機(jī)生成的建筑模型(computer generated architecture,CGA)規(guī)則是CityEngine進(jìn)行三維建模的方法描述[8],它是CityEngine的程序設(shè)計(jì)語(yǔ)言,是通過定義一系列的幾何和紋理的參數(shù)化特征來決定模型如何生成的。
規(guī)則的建模思想是通過定義規(guī)則,反復(fù)優(yōu)化設(shè)計(jì),創(chuàng)造更多細(xì)節(jié),對(duì)模型的精細(xì)化程度逐步完善[9]。圖1展示了規(guī)則建模的整個(gè)過程。
圖1 CGA規(guī)則建模過程示意圖
CGA規(guī)則函數(shù)包括拉伸(extrude)函數(shù)、切分(split)函數(shù)、拆分(comp)函數(shù)、屬性設(shè)置(set)函數(shù)和貼圖(texture)函數(shù)等,其基本原理是具體化、細(xì)節(jié)化地將模型的結(jié)構(gòu)拆開來進(jìn)行逐個(gè)詳細(xì)分析,再通過不同的規(guī)則函數(shù)對(duì)每個(gè)部分進(jìn)行定義,執(zhí)行循環(huán)與迭代等操作,最后完成整個(gè)模型的建模。表1列出了較為常用的規(guī)則函數(shù)及其用途。
基于CGA規(guī)則的三維模型建模方法與手工建模方法相比,有效地提高了模型的重用率,保證了模型信息的一致性,使設(shè)計(jì)條理更加清晰,能夠通過規(guī)則來調(diào)用GIS數(shù)據(jù)中的屬性數(shù)據(jù), 進(jìn)行自動(dòng)批量建模[10-11]。
表1 常用規(guī)則函數(shù)
2.1 建模流程
CityEngine的參數(shù)化規(guī)則建模過程包括數(shù)據(jù)采集、數(shù)據(jù)處理、第三方軟件輔助建模、規(guī)則建模、細(xì)節(jié)化調(diào)整、場(chǎng)景輸出展示等幾個(gè)步驟,具體流程如圖2所示。
2.2 數(shù)據(jù)處理
本例中所需的數(shù)據(jù)包括山東科技大學(xué)校園二維矢量數(shù)據(jù)、衛(wèi)星遙感影像衛(wèi)星數(shù)據(jù)和校園內(nèi)拍攝的實(shí)景數(shù)據(jù)。
數(shù)據(jù)處理主要包括矢量數(shù)據(jù)預(yù)處理、建筑外觀紋理提取、第三方軟件輔助建模等。
(1) 矢量數(shù)據(jù)處理:矢量數(shù)據(jù)是所構(gòu)建區(qū)域范圍的底面信息數(shù)據(jù),包括建筑底面數(shù)據(jù)、道路數(shù)據(jù)、綠化區(qū)數(shù)據(jù)等,存儲(chǔ)著不同類型的各項(xiàng)屬性信息[12]。
矢量數(shù)據(jù)處理的一般步驟為:①將矢量數(shù)據(jù)導(dǎo)入ArcMap中,在ArcMap中對(duì)校園內(nèi)建筑的高度、樓層數(shù)、索引值、綠化區(qū)的屬性值進(jìn)行編輯與修改。②將整理好的矢量數(shù)據(jù)導(dǎo)入地理文件數(shù)據(jù)庫(kù)(GDB數(shù)據(jù))中。③在CityEngine軟件中,通過Import功能,將GDB數(shù)據(jù)導(dǎo)入工程文件中,完成矢量數(shù)據(jù)的數(shù)據(jù)處理。
(2) 校園實(shí)景信息:校園實(shí)景信息指通過拍照采集的校園實(shí)景照片,根據(jù)實(shí)景圖片來搜集校園內(nèi)各類模型的紋理圖片,并通過Photoshop軟件對(duì)紋理圖片進(jìn)行尺寸矯正與渲染調(diào)色,整理后導(dǎo)入CityEngine。
(3) 第三方軟件輔助建模:CityEngine軟件盡管能通過規(guī)則的細(xì)化進(jìn)行模型的精細(xì)化表達(dá),但是對(duì)于一些環(huán)境小品類地物,如校園中的植物、人物、路燈、亭閣等更適合使用第三方軟件進(jìn)行處理,以充分利用這些軟件現(xiàn)成的資源庫(kù)。
2.3 規(guī)則構(gòu)建模型
校園三維模型是由一系列三維單元構(gòu)成的,主要是由建筑物模型、道路模型、綠化植被模型和水體模型及各種小品模型組合而成的。
2.3.1 建筑建模
建筑建模是校園精細(xì)化建模的重點(diǎn)。外形復(fù)雜多變的建筑物一方面是多姿多彩校園的外觀體現(xiàn),另一方面也使建筑物的三維模型更趨復(fù)雜。
以教學(xué)樓建模為例,首先使用attr函數(shù)和cont函數(shù)調(diào)用矢量數(shù)據(jù)中教學(xué)樓的屬性信息,對(duì)其整體樓高、樓層高、窗戶寬度、大門寬度等屬性進(jìn)行定義;然后將建筑物的底面通過extrude函數(shù)進(jìn)行拉伸,生成基礎(chǔ)的建筑體;再用comp函數(shù)與split函數(shù)對(duì)建筑體的各個(gè)面進(jìn)行細(xì)化的切分,將建筑的外觀拆分成不同部位的小面塊;最后利用texture函數(shù)對(duì)各個(gè)面塊進(jìn)行紋理貼圖,完成整個(gè)建筑的建模。
模型生成過程如圖3所示。
核心代碼如下:
Building--gt; ∥切分建筑面
comp(f){front:Frontfacade|left:Sidefacade|right:Sidefacade |back:Frontfacade|top:Roof} ∥將建筑切分為正面、側(cè)面、背面和頂面,并定義其名稱
Frontfacade--gt; ∥對(duì)模型正面進(jìn)行定義
split(y){groundfloor_height:Groundfloor|{~floor_height:Floor}*|floor_height:Topfloor}
ZhongT--gt;
color(wallColor) ∥設(shè)置墻體背景色
s(′1,′1.4,2) ∥將面模型進(jìn)行縮放至合適大小
set(material.dirtmap,dirt_tex)
i(quot;builtin:cube:notexquot;) ∥替換模型塊
projectUV(0)projectUV(2)
setupProjection(0,scope.xy,1.5,1,1) ∥設(shè)置坐標(biāo)系
texture(groundfloor_tex) ∥貼圖紋理
projectUV(0)
利用規(guī)則對(duì)建筑物進(jìn)行建模,對(duì)建筑物的切分越細(xì)致,則生成的模型越精細(xì)。對(duì)于門梁、陽(yáng)臺(tái)、窗臺(tái)等細(xì)節(jié)部位,通過規(guī)則的更加詳細(xì)的切分、旋轉(zhuǎn)、拉伸等定義,將模型的細(xì)節(jié)化完美展現(xiàn),更能表現(xiàn)出建筑的立體感與精細(xì)化程度。不同的建筑物,使用條件函數(shù),根據(jù)其屬性名稱定義相應(yīng)的建筑風(fēng)格,從而減少規(guī)則文件的數(shù)量。
后期可以在屬性表中動(dòng)態(tài)地調(diào)整模型各參數(shù)選項(xiàng)來實(shí)時(shí)地改變建筑的風(fēng)格外貌,如建筑樓層高度、屋頂類型、外觀紋理等,從而避免了對(duì)規(guī)則重新編輯,方便了設(shè)計(jì)人員的操作。
2.3.2 道路建模
道路模型也是三維校園的重要組成部分,道路分為機(jī)動(dòng)車與非機(jī)動(dòng)車道、綠化帶、路口、人行道等。每種類型的地塊在CityEngine中都有對(duì)應(yīng)的名稱(如機(jī)動(dòng)車道為“Street”,人行道為“SideWalk”,十字路口為“Crossing”)。
道路的建模就是在一個(gè)規(guī)則文件中對(duì)不同地塊進(jìn)行不同屬性的定義,再將該規(guī)則文件賦予在道路模型中,道路模型將自動(dòng)匹配各個(gè)類型地塊的模型生成。
人行道建模的主要規(guī)則如下:
Sidewalk--gt; ∥對(duì)人行道進(jìn)行建模
SidewalkWithCurbs
alignScopeToAxes(y)t(0,sidewalkHeight,0) ∥定義道路坐標(biāo)系
People
People--gt;
case People_percentagegt;0:
50%:split(u,unitSpace,0){{0.1:Human|~rand(2,5):NIL|0.1:Human|~rand(2,5):NIL}*|0.1:Human}
else:split(u,unitSpace,0){{0.1:Human|~rand(0.5,5.5):NIL|0.1:Human|~rand(0.5,5.5):NIL}*|0.1:Human}
else: NIL ∥利用條件函數(shù)對(duì)人行道的行人進(jìn)行建模
圖4 道路建模效果
整體道路模型效果如圖4所示。2.3.3 綠化區(qū)建模
本例中校園內(nèi)植被較為多樣化。通過i函數(shù)調(diào)用綠化區(qū)的屬性名稱和植被模型,對(duì)不同的綠化區(qū)創(chuàng)建不同類型和數(shù)量的植被,分散(scatter)函數(shù)可以將植被均勻分散在綠化區(qū)中。核心函數(shù)如下:
Lot--gt;
Tree
extrude(0.2)Lawn
Lawn--gt;
comp(f){top:Grass|side:Side.}
Grass--gt;
setupProjection(2,scope.xy,scope.sy,scope.sx)
texture(grand_tex) ∥對(duì)草坪進(jìn)行貼圖建模
projectUV(0) ∥利用條件函數(shù)與分散函數(shù)對(duì)不同區(qū)域面積中分散種植不同的樹木
綠化區(qū)的建模中,CityEngine軟件完美地利用了現(xiàn)有GIS數(shù)據(jù)的屬性信息,對(duì)大范圍區(qū)域進(jìn)行了快速植被建模,效果圖如圖5所示。
圖5 綠化區(qū)建模效果
2.3.4 水面動(dòng)態(tài)建模
通過規(guī)則中的set函數(shù)對(duì)水面的質(zhì)感進(jìn)行定義,建立水面的動(dòng)態(tài)效果。核心函數(shù)如下:
Water--gt;
set(material.name,quot;water__waterparams_30_50quot;) ∥設(shè)置水面的材質(zhì)屬性
X.
效果如圖6所示。
2.4 三維場(chǎng)景發(fā)布
所有的模型完成后,可以進(jìn)行場(chǎng)景共享。CityEngine可以通過WebScene或ArcGIS進(jìn)行發(fā)布,使更多的用戶可以瀏覽、分享校園景象,方便學(xué)校對(duì)外的宣傳。如圖7為本文所構(gòu)建的山東科技大學(xué)總體效果。實(shí)現(xiàn)了校園三維全景漫游,使游客如置身校園之內(nèi),可以對(duì)三維場(chǎng)景進(jìn)行全方位瀏覽,還可以查詢建筑屬性信息、觀看校園不同時(shí)間段的光照效果[13]。
圖6 動(dòng)態(tài)水面效果
圖7 山東科技大學(xué)三維校園場(chǎng)景
當(dāng)前三維模型建模方法眾多,如何能夠更大程度地結(jié)合現(xiàn)有的GIS數(shù)據(jù)資源和模型,快速、合理、精細(xì)化地建模成為影響三維建模發(fā)展的重要因素[14]。本文以CityEngine軟件平臺(tái),以山東科技大學(xué)校園模型為例,對(duì)基于參數(shù)化的三維建模方法進(jìn)行了研究,充分利用現(xiàn)有的二維數(shù)據(jù)資源,對(duì)模型的各項(xiàng)參數(shù)實(shí)現(xiàn)了實(shí)時(shí)、動(dòng)態(tài)的調(diào)節(jié)修改,快速地對(duì)多區(qū)域、大范圍的場(chǎng)景進(jìn)行精細(xì)化建模[15],與傳統(tǒng)的建模方法相比,降低了人工成本,提高了建模速率,為大范圍的場(chǎng)景建模提供了一種新的思路與方法。
[1] SDEES D. The Virtual University:Organizing to Survive in the 21th Centry[J]. The Journal of Academic Librarainship, 2001,1(27):3-14.
[2] 畢碩本, 張國(guó)建, 侯榮濤, 等. 三維建模技術(shù)及實(shí)現(xiàn)方法對(duì)比研究[J]. 武漢理工大學(xué)學(xué)報(bào), 2010,32(16):26-30.
[3] 尹暉, 孫夢(mèng)婷, 干喆淵, 等. 基于Sketch Up的輸電桿塔三維建模研究[J]. 測(cè)繪通報(bào), 2015(4):34-37.
[4] 顧朝林, 段學(xué)軍, 于濤方, 等. 論“數(shù)字城市”及其三維再現(xiàn)關(guān)鍵技術(shù)[J]. 地理研究, 2002,21(1):14-24.
[5] 牟乃夏, 尤優(yōu), 岳漢秋, 等. 基于ArcGlobe的三維數(shù)字校園建模與仿真[J]. 圖學(xué)學(xué)報(bào), 2012,33(5):68-72.
[6] 花利忠, 王趙兵, 鄒麗妹, 等. 基于CityEngine與ArcGIS Flex API的校園WebGIS系統(tǒng)——以廈門理工學(xué)院為例[J]. 廈門理工學(xué)院學(xué)報(bào), 2013,21(4):57-61.
[7] 劉媛, 鄧運(yùn)員, 劉立生, 等. CityEngine CGA支持下的傳統(tǒng)民居復(fù)雜屋頂建模及優(yōu)化——以衡陽(yáng)市中田村為例[J]. 測(cè)繪通報(bào), 2016(3):98-102.
[8] 呂永來, 李曉莉. 基于CityEngine平臺(tái)的高速鐵路建模方法的研究與實(shí)現(xiàn)[J]. 測(cè)繪, 2013,36(1):19-22.
[9] 羅帥偉. 基于Skyline的城市三維地理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安:西安科技大學(xué), 2012.
[10] 張暉, 劉超, 李妍, 等. 基于CityEngine的建筑物三維建模技術(shù)研究[J]. 測(cè)繪通報(bào), 2014(11):108-112.
[11] 吳寧. 基于目標(biāo)識(shí)別和參數(shù)化技術(shù)的城市建筑群三維重建研究[D]. 杭州:浙江大學(xué), 2013.
[12] 李秀梅, 吳凡, 徐殿成, 等. 基于ArcGIS的校園圖書館三維建模研究[J]. 計(jì)算機(jī)科學(xué), 2012,39(S1):563-565.
[13] DOUG S. Digital Cities and Digital Citizens[J]. Lecture Notes in Computer Science, 2001,2362:71-85.
[14] 李卉. 集成LiDAR和遙感影像城市道路提取與三維建模[J]. 測(cè)繪學(xué)報(bào), 2011,40(1):133-137.
[15] 湯國(guó)安, 劉學(xué)軍, 房亮, 等. DEM及數(shù)字地形分析中尺度問題研究綜述[J]. 武漢大學(xué)學(xué)報(bào)(信息科學(xué)版), 2006,31(12):1059-1066.
CityEngineBased3DCampusParametricFineModeling
ZHAO Yuqi1,MOU Naixia2,ZHANG Lingxian2
(1. Geomatics College,Yellow River Conservancy Technical Institute,Kaifeng 475004,China; 2. Geomatics College, Shandong University of Science and Technology,Qingdao 266510,China)
3D fast fine modeling based on the existing 2D data is an important research direction in the current field of GIS. In this paper the procedures and methods of CityEngine parametric modeling by rules are presented, the rules function prototype and effects are introduced, and the procedures of 3D fine ruling modeling on buildings, roads, vegetation and water areelaborated.An entire 3D campus scene on CityEngine platform is built b taking the Shandong University of Science and Technology as example.Parametric modeling can change the specific features of modelsby adjusting the parameters, realize the real-time dynamic 3D modeling, and make up the shortcomings of traditional modeling methods. It is significant for 3D rapidly large-scale urban fine modeling.
CityEngine;rules;parameterization; 3D modeling
P208
A
0494-0911(2017)01-0083-04
趙雨琪,牟乃夏,張靈先.利用CityEngine進(jìn)行三維校園參數(shù)化精細(xì)建模[J].測(cè)繪通報(bào),2017(1):83-86.
10.13474/j.cnki.11-2246.2017.0018.
2016-04-07;
2016-08-30
山東省自然科學(xué)基金(ZR2016DM02);中國(guó)科學(xué)院地理科學(xué)與資源研究所資源與環(huán)境信息系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室開放基金;國(guó)家重點(diǎn)研發(fā)計(jì)劃(2016YFB0502104)
趙雨琪,女,碩士,主要研究方向?yàn)榈乩硇畔⑾到y(tǒng)應(yīng)用與三維建模。E-mail:541459083@qq.com
牟乃夏。E-mail:mounaixia@163.com