基于CityEngine与SketchUp的岭南特色封火墙建模
2017-11-18覃俊钱乐祥吴志峰俞佳颖朱晔臣
覃俊+钱乐祥+吴志峰+俞佳颖+朱晔臣
摘 要: 古建筑结构的不规则性与特殊性是对其进行三维建模的难点。文章基于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"//山墙
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