覃俊+錢樂祥+吳志峰+俞佳穎+朱曄臣
摘 要: 古建筑結(jié)構(gòu)的不規(guī)則性與特殊性是對(duì)其進(jìn)行三維建模的難點(diǎn)。文章基于CityEngine三維建模平臺(tái),以佛山市大旗頭村古建筑群及其特色封火墻為研究對(duì)象,利用SketchUp輔助設(shè)計(jì)軟件構(gòu)建部件模型庫,在CityEngine中構(gòu)建復(fù)雜山墻,建立整個(gè)村落的精細(xì)模型,并基于二維GIS數(shù)據(jù)建立古建筑數(shù)據(jù)庫。研究結(jié)果表明,結(jié)合CityEngine與SketchUp的三維建模體系,可以很好地構(gòu)建研究區(qū)的精細(xì)模型,對(duì)古村落、古建筑的數(shù)字化保護(hù)具有重要的意義。
關(guān)鍵詞: 三維建模; CityEngine; SketchUp; GIS; 封火墻
中圖分類號(hào):TP391.72 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)11-39-04
3D modeling of south of the five ridges featured banking fire wall
based on CityEngine and SketchUp
Qin Jun, Qian Lexiang, Wu Zhifeng, Yu Jiaying, Zhu Yechen
(School of Geographical Sciences, Guangzhou university, Guangzhou, Guangdong 510006, China)
Abstract: The irregularity and particularity of ancient architecture is the difficulty to build its 3D model. The research based on the CityEngine modeling platform, taking the groups of ancient architecture of Daqitou village in Foshan city and the distinctive banking fire wall as the research object, uses software design aids SketchUp to build component model library, structures complex gables and detailed model of the whole village on the CityEngine modeling platform, and based on the two-dimensional GIS data, establishes database of ancient buildings. The conclusion of the research shows that the 3D modeling system combined with CityEngine and SketchUp is a good way to build a detailed model in study area and has vital significance for the digital protection of ancient village and ancient architecture.
Key words: 3D modeling; CityEngine; SketchUp; GIS; banking fire wall
0 引言
流傳至今的傳統(tǒng)村落,是人類幾百年甚至上千年形成的一種較為科學(xué)的生活系統(tǒng),其古建筑作為人類文明的積淀,具有極高歷史、人文、藝術(shù)等研究?jī)r(jià)值。伴隨城市化進(jìn)程,城市內(nèi)部及周邊的傳統(tǒng)村落大多消失;農(nóng)村勞動(dòng)力涌向發(fā)達(dá)城市,在取得一定經(jīng)濟(jì)條件后返鄉(xiāng)建房,導(dǎo)致許多傳統(tǒng)村落不同程度上受到破壞。隨著人們物質(zhì)生活水平的提高,大部分傳統(tǒng)建筑已經(jīng)無法滿足當(dāng)代人的生活需求,然而那些正在消失或已經(jīng)消失的傳統(tǒng)村落及其建筑中所承載的歷史文化價(jià)值是不可估量的。因此,對(duì)傳統(tǒng)建筑、文物古跡等物質(zhì)文化遺產(chǎn)進(jìn)行全方位保護(hù)刻不容緩。但是由于實(shí)物保護(hù)受限于其生命周期,不可能長(zhǎng)久保存[1],三維建模技術(shù)成為主要手段。
嶺南傳統(tǒng)建筑文化是華夏文化的一個(gè)重要組成部分,同時(shí)是具有鮮明特色的一個(gè)重要建筑流派。因該地區(qū)地形復(fù)雜、民族多,各地風(fēng)俗不同,民宅類型多樣[2],封火墻造型迥異,有鑊耳墻造型、方耳山墻造型、三拱山墻造型、人字山墻造型等[3],結(jié)構(gòu)復(fù)雜、部件繁多。CityEngine作為一款主流的快速建模軟件,擁有與ArcGIS無縫對(duì)接的優(yōu)勢(shì)[4],可以通過CGA規(guī)則直接調(diào)用GIS基礎(chǔ)數(shù)據(jù),實(shí)現(xiàn)二維矢量數(shù)據(jù)到三維模型的快速、批量構(gòu)建,并且能夠結(jié)合實(shí)體內(nèi)部參數(shù)構(gòu)建可重用模型[5],被廣泛應(yīng)用于數(shù)字城市、城市規(guī)劃、建筑、虛擬現(xiàn)實(shí)等領(lǐng)域。但是,CityEngine CGA規(guī)則在構(gòu)建建筑屋頂及復(fù)雜山墻中存在局限性。針對(duì)該問題,有學(xué)者運(yùn)用調(diào)整分割方式[6]、優(yōu)化CGA規(guī)則[1]等方法,較好地實(shí)現(xiàn)了復(fù)雜屋頂及墻面的精細(xì)建模,但是算法復(fù)雜,并一定程度增加了程序運(yùn)算的負(fù)擔(dān)。直接導(dǎo)入第三方軟件構(gòu)造的復(fù)雜模型可以省去繁瑣的分割步驟,提高運(yùn)算效率,并增加模型的精細(xì)程度。Google SketchUp軟件具有方便易用、精確高效、兼容性強(qiáng)等特點(diǎn)[7],其手動(dòng)建模能力可以快速構(gòu)建精細(xì)、美觀、數(shù)據(jù)量小的不規(guī)則建筑部件模型,能夠?qū)С鲈贑ityEngine中使用的格式,通過CGA規(guī)則調(diào)用,與快速構(gòu)建的建筑主體模型組合生成高精度、高質(zhì)量的古建筑模型,為建立大范圍精細(xì)復(fù)雜模型提供方法依據(jù)。
1 數(shù)據(jù)與方法
1.1 研究區(qū)概況
佛山市樂平鎮(zhèn)大旗頭村是第一批“中國歷史文化名村”,同時(shí)也是第一批“中國傳統(tǒng)村落”。始建于明初,其鼎盛時(shí)期為清光緒年間,現(xiàn)今仍有清代建筑200余間,整個(gè)主體古建筑群保存完整[8]。大旗頭古村落具有深厚的歷史文化底蘊(yùn),其鑊耳形封火墻具有防火、防風(fēng)、遮陽、裝飾等作用[2],是嶺南民居最具鮮明的特色,體現(xiàn)了我國古代建筑的藝術(shù)性、科學(xué)性。endprint
1.2 二維數(shù)據(jù)采集與處理
CityEngine是基于二維數(shù)據(jù)的建模,數(shù)據(jù)的準(zhǔn)確性決定著模型的精細(xì)程度,對(duì)古建筑數(shù)據(jù)的精確采集與處理,是高精度、高質(zhì)量三維建模的基礎(chǔ)。傳統(tǒng)測(cè)繪中的鋼尺、水準(zhǔn)儀等無法滿足對(duì)古建筑高精度調(diào)研需求[9],因此本實(shí)驗(yàn)采用實(shí)地調(diào)研的方式,用手持GPS獲取控制點(diǎn)的位置、高程數(shù)據(jù),進(jìn)行坐標(biāo)系統(tǒng)轉(zhuǎn)換,建立地理位置X、Y、Z的數(shù)據(jù)表格,添加到ArcGIS中,得到控制點(diǎn)數(shù)據(jù)[10],并通過構(gòu)建三角網(wǎng),生成DEM高程影像數(shù)據(jù)。由于研究區(qū)范圍小,古村落中地物在一般分辨率遙感影像圖中無法體現(xiàn),需要高分辨率遙感影像。本文采用Google Earth影像數(shù)據(jù),在ArcGIS中利用Georeferencing工具選取配準(zhǔn)控制點(diǎn)進(jìn)行配準(zhǔn)。對(duì)建筑物、道路、公共設(shè)施等進(jìn)行矢量化,結(jié)合調(diào)研信息建立古建筑群二維信息數(shù)據(jù)庫,包含的屬性字段有建筑類型、面積、屋頂類型、是否廢棄、CGA規(guī)則等。表1為二維信息屬性表。
二維數(shù)據(jù)采集及處理流程如圖1所示。
1.3 基于CityEngine的建筑主體建模
基于CGA規(guī)則的三維建模首先是對(duì)建筑單體的建模,然后根據(jù)二維地物的屬性分別應(yīng)用不同的規(guī)則文件,通過調(diào)整預(yù)先設(shè)定的參數(shù),實(shí)現(xiàn)各類地物的差異化精細(xì)建模。CGA規(guī)則建模的關(guān)鍵是對(duì)建模對(duì)象進(jìn)行三維空間中的切割,其合理程度及細(xì)節(jié)處理方式直接決定了模型的精確性。根據(jù)大旗頭村單體建筑結(jié)構(gòu),將二維平面分割為大廳及臥室(mainHouse)、廚房(kichen)、天井(courtYard)、院墻(TGCFwall)、封火墻(gableWall),并分別設(shè)定寬度變量,實(shí)現(xiàn)代碼如下:
@Group("houseFrame",3) @Range(3,5)
attr mainHeight=4
@Group("houseFrame",3) @Range(2,6)
attr kichenWidth=3
attr kichenLong=2
attr kichenHeight=3
attr TGCFHeight=mainHeight
attr gableWallHeight=1.2*mainHeight
@StartRule
Lot-->
Mass
Mass-->
split(z) {
0.5:TGCFwall |kichenLong:Kichen
|~1:split(x) {1:gableWall|~1:split(z) {~1:
mainHouse(split.index)|0.5:mainRidge
|~1:mainHouse(split.index)}
|1:gableWall}}
由于CityEngine中不包含單獨(dú)構(gòu)建屋檐的規(guī)則方法,本研究在房屋主體(mainHouse)的前面指定高度(eavesHeight)處切割出長(zhǎng)度為天井寬度,厚度為0.01米的薄片,拉伸一定寬度,將此部件的上部定義為斜坡屋頂,調(diào)節(jié)角度變量使此斜坡屋頂與房屋主體雙向斜坡屋頂在同一個(gè)二維平面上(屋檐效果圖見圖2)。核心代碼如下:
mainFace--> //房屋正面
split(y) { kichenHeight+ 2.5:
mainDoorH |0.01:feiYanEx |~1:mainWall }
feiYanEx--> //屋檐
extrude(2.5)
comp(f) { back : feiYanRoof |all:mainWall }
feiYanRoof--> //屋檐頂
roofShed(11, 2)
comp(f) { top:topMainFace| side:mainWall }
1.4 基于Google Sketchup的建筑部件建模
大旗頭村封火墻,形狀奇特,形似舊時(shí)官員的官帽而又被稱為“鰲魚墻”,有“獨(dú)占鰲頭”之意,如圖3所示,可以分解為矩形墻主體與上部不規(guī)則曲線,脊瓦厚重,以適應(yīng)南方多暴風(fēng)雨天氣。在Sketchup中操作如下:
⑴ 對(duì)封火墻進(jìn)行幾何分割(圖4);
⑵ 各部位分別拉伸一定厚度;
⑶ 將屋頂及院墻瓦片、脊瓦分別建模,增強(qiáng)其適用性(圖5(a),圖5(b));
⑷ 采用“路徑跟隨”功能生成頂部不規(guī)則曲線脊瓦;
⑸ 設(shè)置對(duì)應(yīng)映射的紋理(圖6)。
將各模型部件導(dǎo)出obj或者dae格式,保存紋理,在CityEngine中調(diào)用,只需調(diào)整角度及尺寸即可重用。
1.5 基于CityEngine的建筑部件組合及批量建模
將原模型屋頂貼圖及封火墻分別用部件模型替代。對(duì)所有屋頂進(jìn)行“A|B|A”的重復(fù)分割,并分別填充瓦片和脊瓦的模型,調(diào)節(jié)尺寸大小,實(shí)現(xiàn)屋頂精細(xì)建模。在封火墻(gableWall)結(jié)構(gòu)上加載封火墻模型,調(diào)節(jié)方向、高度、寬度等完成模型組合。核心代碼如下:
waJiLongObj ="facades/textures/WaJ.obj" //脊瓦
waPianObj ="facades/textures/waPian.obj" //瓦片
gableWallObj ="facades/textures/gableWall.obj"http://山墻
topFace-->
split(y) { 0.4:stoneFaceendprint
|~1:split(x) {~waSize : waJi }*
| wuJiSize:wuJi }
erGuoWall-->
s('1, '1,'1.01)
rotateScope(0, 0, 0)
i(gableWallObj)
2 結(jié)果與分析
2.1 結(jié)果對(duì)比
古建筑單體模型的構(gòu)建完成后,導(dǎo)入DEM數(shù)據(jù)、影像數(shù)據(jù),疊加建立虛擬地形,編寫規(guī)則隨機(jī)生成周邊次要地物,根據(jù)二維地圖屬性自動(dòng)生成古建筑群及周邊植被、建筑物、水體等,最終模型效果見圖7(a)、圖7(b)。
僅使用CityEngine建模只能完成模型主體,對(duì)屋頂?shù)慕4嬖诰窒扌?,且無法單獨(dú)對(duì)山墻進(jìn)行處理及構(gòu)建瓦片、脊瓦小模型,封火墻也無法得到體現(xiàn),瓦片與脊瓦等重要元素只能采用紋理映射的方式展示(圖8)。
2.2 分析與討論
CityEngine不支持單獨(dú)對(duì)山墻、瓦片等處理,但是可以將第三方軟件(如Sketchup、3D Max等)構(gòu)建的精細(xì)模型部件,通過格式轉(zhuǎn)換導(dǎo)入CityEngine中,調(diào)整尺寸、角度、方向等參數(shù)實(shí)現(xiàn)模型組合,很大程度上提高了建模工作的效率,使模型的可視化效果更逼真、美觀。Sketchup是一套直接面向設(shè)計(jì)方案創(chuàng)作過程的設(shè)計(jì)工具,方便易用,同時(shí)其精度可以達(dá)到毫米級(jí),適用范圍廣闊,可以快速導(dǎo)入和導(dǎo)出3DS、dae、obj等格式文件,能夠很好的與CityEngine結(jié)合。
運(yùn)用該方法,能夠?qū)崿F(xiàn)大旗頭村特色古建筑及封火墻的精細(xì)建模,房屋構(gòu)造分割科學(xué),各細(xì)節(jié)部分(如院墻彩繪、“天官賜福”磚)單獨(dú)映射紋理,場(chǎng)景細(xì)膩逼真。院門、瓦片與脊瓦進(jìn)行了差異化處理,采用隨機(jī)函數(shù)隨機(jī)選取應(yīng)用于模型中,使模型更貼切實(shí)際。建立了古建筑信息數(shù)據(jù)庫,為后續(xù)的古村落空間分析及相關(guān)系統(tǒng)開發(fā)提供數(shù)據(jù)基礎(chǔ)。
但是,由于部件模型如瓦片、脊瓦等模型太多,極大增加了顯示負(fù)擔(dān)。此外,CityEngine是在二維數(shù)據(jù)的基礎(chǔ)上構(gòu)建三維模型,對(duì)二維數(shù)據(jù)存在依賴性,其建筑主體的準(zhǔn)確性由二維數(shù)據(jù)的精度決定,因此在后續(xù)開展的基于CityEngine的古建筑模型建模中可以采用更加精確的測(cè)量方式獲取二維數(shù)據(jù)。Sketchup輔助設(shè)計(jì)軟件依賴于手動(dòng)操作,其細(xì)膩程度取決于人工,雖然能夠完成整個(gè)古建筑模型的構(gòu)建,但是面對(duì)批量、大范圍模型需求,需要花費(fèi)大量的時(shí)間成本與人工成本。
3 結(jié)論
針對(duì)嶺南特色古建筑結(jié)構(gòu)的復(fù)雜性與單棟建筑的特殊性,本文結(jié)合CityEngine與Sketchup建模軟件,對(duì)中國傳統(tǒng)村落佛山市大旗頭村古建筑群及其封火墻的三維建模進(jìn)行研究,改進(jìn)CityEngine在構(gòu)建復(fù)雜山墻及屋頂方面存在的局限性,利用Sketchup建立封火墻及瓦片等部件模型庫,通過在CityEngine中CGA規(guī)則調(diào)用,調(diào)整代碼及模型體塊的參數(shù)實(shí)現(xiàn)了部件與主體的契合與單棟建筑間的差異化建模。
本建模體系可以應(yīng)用于其他古村落建模中,其中部件模型庫的構(gòu)建可以使用基于三維激光掃描點(diǎn)云數(shù)據(jù)替代,以提高細(xì)膩程度與精確度,同時(shí)支持模型網(wǎng)絡(luò)發(fā)布,為應(yīng)用系統(tǒng)的二次開發(fā)提供數(shù)據(jù)基礎(chǔ)。
參考文獻(xiàn)(References):
[1] 劉媛,鄧運(yùn)員,劉立生等.City Engine CGA支持下的傳統(tǒng)民居
復(fù)雜屋頂建模及優(yōu)化[J].測(cè)繪通報(bào),2016.3:98-102
[2] 鄧其生.嶺南古建筑文化特色[J].建筑學(xué)報(bào),1993.12:16-18
[3] 王凌楓.關(guān)于嶺南民居封火墻造型藝術(shù)的探討[J].普洱學(xué)院
學(xué)報(bào),2016.32(1):110-111
[4] 駱燕文,何江.City Engine規(guī)則建模在城市規(guī)劃中的應(yīng)用研
究[J/OL].國際城市規(guī)劃,http://www.cnki.net/kcms/detail/11.5583.tu.20160829.0939.001.html.
[5] Hu X,Liu X,He Z,et al. Batch modeling of 3D city based on
Esri cityEngine[C]// IET International Conference on Smart and Sustainable City,2013:69-73
[6] 韓東成,唐志敏,張守文等.基于CityEngine與CGA規(guī)則構(gòu)建
3D室外及室內(nèi)精細(xì)模型的研究[J].電子世界,2014.14:363
[7] 范明華,杜甘霖,任家勇.Sketch Up大區(qū)域三維建模技術(shù)研
究[J].測(cè)繪通報(bào),2012.5:56-58
[8] 余琳,張智威.古村落保護(hù)性開發(fā)研究:以佛山大旗頭村古村
落為例[J].價(jià)值工程,2014.6:314-316
[9] 邢昱,范張偉,吳瑩.基于GIS與三維激光掃描的古建筑保護(hù)
研究[J].地理空間信息,2009.7(1):88-90
[10] 查際泓,何夏萍.GPS數(shù)據(jù)導(dǎo)入ArcGIS的簡(jiǎn)易方法[J].安徽
林業(yè)科技,2014.40(4):67-69endprint