覃俊+錢樂祥+吳志峰+俞佳穎+朱曄臣
摘 要: 古建筑結構的不規則性與特殊性是對其進行三維建模的難點。文章基于CityEngine三維建模平臺,以佛山市大旗頭村古建筑群及其特色封火墻為研究對象,利用SketchUp輔助設計軟件構建部件模型庫,在CityEngine中構建復雜山墻,建立整個村落的精細模型,并基于二維GIS數據建立古建筑數據庫。研究結果表明,結合CityEngine與SketchUp的三維建模體系,可以很好地構建研究區的精細模型,對古村落、古建筑的數字化保護具有重要的意義。
關鍵詞: 三維建模; CityEngine; SketchUp; GIS; 封火墻
中圖分類號:TP391.72 文獻標志碼:A 文章編號: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 引言
流傳至今的傳統村落,是人類幾百年甚至上千年形成的一種較為科學的生活系統,其古建筑作為人類文明的積淀,具有極高歷史、人文、藝術等研究價值。伴隨城市化進程,城市內部及周邊的傳統村落大多消失;農村勞動力涌向發達城市,在取得一定經濟條件后返鄉建房,導致許多傳統村落不同程度上受到破壞。隨著人們物質生活水平的提高,大部分傳統建筑已經無法滿足當代人的生活需求,然而那些正在消失或已經消失的傳統村落及其建筑中所承載的歷史文化價值是不可估量的。因此,對傳統建筑、文物古跡等物質文化遺產進行全方位保護刻不容緩。但是由于實物保護受限于其生命周期,不可能長久保存[1],三維建模技術成為主要手段。
嶺南傳統建筑文化是華夏文化的一個重要組成部分,同時是具有鮮明特色的一個重要建筑流派。因該地區地形復雜、民族多,各地風俗不同,民宅類型多樣[2],封火墻造型迥異,有鑊耳墻造型、方耳山墻造型、三拱山墻造型、人字山墻造型等[3],結構復雜、部件繁多。CityEngine作為一款主流的快速建模軟件,擁有與ArcGIS無縫對接的優勢[4],可以通過CGA規則直接調用GIS基礎數據,實現二維矢量數據到三維模型的快速、批量構建,并且能夠結合實體內部參數構建可重用模型[5],被廣泛應用于數字城市、城市規劃、建筑、虛擬現實等領域。但是,CityEngine CGA規則在構建建筑屋頂及復雜山墻中存在局限性。針對該問題,有學者運用調整分割方式[6]、優化CGA規則[1]等方法,較好地實現了復雜屋頂及墻面的精細建模,但是算法復雜,并一定程度增加了程序運算的負擔。直接導入第三方軟件構造的復雜模型可以省去繁瑣的分割步驟,提高運算效率,并增加模型的精細程度。Google SketchUp軟件具有方便易用、精確高效、兼容性強等特點[7],其手動建模能力可以快速構建精細、美觀、數據量小的不規則建筑部件模型,能夠導出在CityEngine中使用的格式,通過CGA規則調用,與快速構建的建筑主體模型組合生成高精度、高質量的古建筑模型,為建立大范圍精細復雜模型提供方法依據。
1 數據與方法
1.1 研究區概況
佛山市樂平鎮大旗頭村是第一批“中國歷史文化名村”,同時也是第一批“中國傳統村落”。始建于明初,其鼎盛時期為清光緒年間,現今仍有清代建筑200余間,整個主體古建筑群保存完整[8]。大旗頭古村落具有深厚的歷史文化底蘊,其鑊耳形封火墻具有防火、防風、遮陽、裝飾等作用[2],是嶺南民居最具鮮明的特色,體現了我國古代建筑的藝術性、科學性。endprint
1.2 二維數據采集與處理
CityEngine是基于二維數據的建模,數據的準確性決定著模型的精細程度,對古建筑數據的精確采集與處理,是高精度、高質量三維建模的基礎。傳統測繪中的鋼尺、水準儀等無法滿足對古建筑高精度調研需求[9],因此本實驗采用實地調研的方式,用手持GPS獲取控制點的位置、高程數據,進行坐標系統轉換,建立地理位置X、Y、Z的數據表格,添加到ArcGIS中,得到控制點數據[10],并通過構建三角網,生成DEM高程影像數據。由于研究區范圍小,古村落中地物在一般分辨率遙感影像圖中無法體現,需要高分辨率遙感影像。本文采用Google Earth影像數據,在ArcGIS中利用Georeferencing工具選取配準控制點進行配準。對建筑物、道路、公共設施等進行矢量化,結合調研信息建立古建筑群二維信息數據庫,包含的屬性字段有建筑類型、面積、屋頂類型、是否廢棄、CGA規則等。表1為二維信息屬性表。
二維數據采集及處理流程如圖1所示。
1.3 基于CityEngine的建筑主體建模
基于CGA規則的三維建模首先是對建筑單體的建模,然后根據二維地物的屬性分別應用不同的規則文件,通過調整預先設定的參數,實現各類地物的差異化精細建模。CGA規則建模的關鍵是對建模對象進行三維空間中的切割,其合理程度及細節處理方式直接決定了模型的精確性。根據大旗頭村單體建筑結構,將二維平面分割為大廳及臥室(mainHouse)、廚房(kichen)、天井(courtYard)、院墻(TGCFwall)、封火墻(gableWall),并分別設定寬度變量,實現代碼如下:
@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中不包含單獨構建屋檐的規則方法,本研究在房屋主體(mainHouse)的前面指定高度(eavesHeight)處切割出長度為天井寬度,厚度為0.01米的薄片,拉伸一定寬度,將此部件的上部定義為斜坡屋頂,調節角度變量使此斜坡屋頂與房屋主體雙向斜坡屋頂在同一個二維平面上(屋檐效果圖見圖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的建筑部件建模
大旗頭村封火墻,形狀奇特,形似舊時官員的官帽而又被稱為“鰲魚墻”,有“獨占鰲頭”之意,如圖3所示,可以分解為矩形墻主體與上部不規則曲線,脊瓦厚重,以適應南方多暴風雨天氣。在Sketchup中操作如下:
⑴ 對封火墻進行幾何分割(圖4);
⑵ 各部位分別拉伸一定厚度;
⑶ 將屋頂及院墻瓦片、脊瓦分別建模,增強其適用性(圖5(a),圖5(b));
⑷ 采用“路徑跟隨”功能生成頂部不規則曲線脊瓦;
⑸ 設置對應映射的紋理(圖6)。
將各模型部件導出obj或者dae格式,保存紋理,在CityEngine中調用,只需調整角度及尺寸即可重用。
1.5 基于CityEngine的建筑部件組合及批量建模
將原模型屋頂貼圖及封火墻分別用部件模型替代。對所有屋頂進行“A|B|A”的重復分割,并分別填充瓦片和脊瓦的模型,調節尺寸大小,實現屋頂精細建模。在封火墻(gableWall)結構上加載封火墻模型,調節方向、高度、寬度等完成模型組合。核心代碼如下:
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 結果與分析
2.1 結果對比
古建筑單體模型的構建完成后,導入DEM數據、影像數據,疊加建立虛擬地形,編寫規則隨機生成周邊次要地物,根據二維地圖屬性自動生成古建筑群及周邊植被、建筑物、水體等,最終模型效果見圖7(a)、圖7(b)。
僅使用CityEngine建模只能完成模型主體,對屋頂的建模存在局限性,且無法單獨對山墻進行處理及構建瓦片、脊瓦小模型,封火墻也無法得到體現,瓦片與脊瓦等重要元素只能采用紋理映射的方式展示(圖8)。
2.2 分析與討論
CityEngine不支持單獨對山墻、瓦片等處理,但是可以將第三方軟件(如Sketchup、3D Max等)構建的精細模型部件,通過格式轉換導入CityEngine中,調整尺寸、角度、方向等參數實現模型組合,很大程度上提高了建模工作的效率,使模型的可視化效果更逼真、美觀。Sketchup是一套直接面向設計方案創作過程的設計工具,方便易用,同時其精度可以達到毫米級,適用范圍廣闊,可以快速導入和導出3DS、dae、obj等格式文件,能夠很好的與CityEngine結合。
運用該方法,能夠實現大旗頭村特色古建筑及封火墻的精細建模,房屋構造分割科學,各細節部分(如院墻彩繪、“天官賜福”磚)單獨映射紋理,場景細膩逼真。院門、瓦片與脊瓦進行了差異化處理,采用隨機函數隨機選取應用于模型中,使模型更貼切實際。建立了古建筑信息數據庫,為后續的古村落空間分析及相關系統開發提供數據基礎。
但是,由于部件模型如瓦片、脊瓦等模型太多,極大增加了顯示負擔。此外,CityEngine是在二維數據的基礎上構建三維模型,對二維數據存在依賴性,其建筑主體的準確性由二維數據的精度決定,因此在后續開展的基于CityEngine的古建筑模型建模中可以采用更加精確的測量方式獲取二維數據。Sketchup輔助設計軟件依賴于手動操作,其細膩程度取決于人工,雖然能夠完成整個古建筑模型的構建,但是面對批量、大范圍模型需求,需要花費大量的時間成本與人工成本。
3 結論
針對嶺南特色古建筑結構的復雜性與單棟建筑的特殊性,本文結合CityEngine與Sketchup建模軟件,對中國傳統村落佛山市大旗頭村古建筑群及其封火墻的三維建模進行研究,改進CityEngine在構建復雜山墻及屋頂方面存在的局限性,利用Sketchup建立封火墻及瓦片等部件模型庫,通過在CityEngine中CGA規則調用,調整代碼及模型體塊的參數實現了部件與主體的契合與單棟建筑間的差異化建模。
本建模體系可以應用于其他古村落建模中,其中部件模型庫的構建可以使用基于三維激光掃描點云數據替代,以提高細膩程度與精確度,同時支持模型網絡發布,為應用系統的二次開發提供數據基礎。
參考文獻(References):
[1] 劉媛,鄧運員,劉立生等.City Engine CGA支持下的傳統民居
復雜屋頂建模及優化[J].測繪通報,2016.3:98-102
[2] 鄧其生.嶺南古建筑文化特色[J].建筑學報,1993.12:16-18
[3] 王凌楓.關于嶺南民居封火墻造型藝術的探討[J].普洱學院
學報,2016.32(1):110-111
[4] 駱燕文,何江.City Engine規則建模在城市規劃中的應用研
究[J/OL].國際城市規劃,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規則構建
3D室外及室內精細模型的研究[J].電子世界,2014.14:363
[7] 范明華,杜甘霖,任家勇.Sketch Up大區域三維建模技術研
究[J].測繪通報,2012.5:56-58
[8] 余琳,張智威.古村落保護性開發研究:以佛山大旗頭村古村
落為例[J].價值工程,2014.6:314-316
[9] 邢昱,范張偉,吳瑩.基于GIS與三維激光掃描的古建筑保護
研究[J].地理空間信息,2009.7(1):88-90
[10] 查際泓,何夏萍.GPS數據導入ArcGIS的簡易方法[J].安徽
林業科技,2014.40(4):67-69endprint