基于CityEngine的建筑物三维建模技术研究

2014-06-27 05:47:30汪友结
测绘通报 2014年11期
关键词:外立面楼层纹理

张 晖,刘 超,李 妍,汪友结

(1.深圳市房地产评估发展中心,广东 深圳 518040;2.武汉大学遥感信息工程学院,湖北 武汉 430079)

ZHANG Hui,LIU Chao,LI Yan,WANG Youjie

基于CityEngine的建筑物三维建模技术研究

张 晖1,刘 超2,李 妍1,汪友结1

(1.深圳市房地产评估发展中心,广东 深圳 518040;2.武汉大学遥感信息工程学院,湖北 武汉 430079)

Research on 3D Building Modeling Technology Based on CityEngine

ZHANG Hui,LIU Chao,LI Yan,WANG Youjie

传统手工建模的方式虽然能够建立精细的建筑物三维模型,但是建模周期长,成本高。本文介绍了基于规则进行三维建模的方法,在CityEngine平台下,充分利用现有的建筑物基底投影分布数据及内部各楼层的房间分布矢量化数据,通过规则文件驱动生成了大场景建筑物外立面三维模型,并进一步建立了建筑物内部的三维模型。因此,CityEngine基于规则的建筑物建模技术,能够充分利用现有GIS数据,快速、批量地对建筑物内外部进行三维的立体建模,提高了三维建模效率,为建筑物三维建模领域提供了一种全新的手段。

CityEngine;建筑物三维建模;GIS;建筑物内部建模;ArcGIS

一、引 言

随着计算机技术、遥感技术、GIS技术、影像处理技术的发展,三维建模技术也开始逐步兴起并广泛应用于城市规划、旧城改造、数字城市、建筑设计等领域,拥有良好的发展前景。三维建模技术是建立现实世界虚拟化三维场景模型的基础,其运用计算机图形图像处理技术,将地理空间数据从传统以二维平面图的表达方式转换为以三维立体的方式显示,能更真实、形象地展示现实世界[1]。

三维建模技术的核心是根据研究对象的三维空间信息构造其立体模型,并利用相关建模软件或编程语言生成该模型的图形表达,然后对其进行各种操作和处理。目前常用的三维建模技术主要利用三维图形库OpenGL或虚拟现实建模语言VRML等构建三维模型,以及使用模型软件AutoCAD、3DStudio Max建立模型,前者可根据用户的需要方便地实现各种功能,但对建模者的操作能力要求高,后者则操作简单,易于掌握,建模效率高,但在功能实现和效果方面有所不足[2]。其中,张凯选等应用AutoCAD对校园内建筑物进行了三维建模,能够快速进行模型生成和编辑,精确计算容积率、建筑密度、建筑间距,但不支持纹理编辑,不具备建筑物属性数据[3];彭芳媛等利用3DStudio Max对航测数据进行了三维建模方法的研究,可以建立较复杂的三维模型,三维场景细腻、光影渲染逼真、支持纹理贴附、能够快速生成简单模型,但不能精确输入模型参数,不具备建筑物属性数据的编辑和查询功能,且只适用于单栋或小范围区域建筑物的三维重建[4]。

传统的三维建模技术采用手工建立精细的三维模型,虽然展示效果好,但其结果往往是静态、固化的模型,忽略了语义和拓扑,仅仅能够用于立体视觉表达,并不能满足属性查询、三维空间分析等深层次的应用,并且目前的三维建模技术主要集中于建筑物外立面三维模型的生成,而对于建筑物内部模型建立的研究还比较少,同时不具备快速、批量地生成建筑物内外部模型的特点,缺乏可重用性,导致资源的极大浪费,而且建模周期长。本文主要介绍一种在CityEngine平台下基于规则的建筑物三维建模方法,能够通过规则调用GIS数据中的属性数据,快速、自动、批量地生成建筑物的外立面三维模型,并且可以进一步建立建筑物的三维内部模型,不仅充分利用了现有GIS数据,提高了三维建模效率,在大场景建筑物三维快速建模领域提供了一种新的手段,而且可以将建筑物三维模型与ArcGIS进行无缝集成,有利于充分利用ArcGIS的三维空间分析功能。

二、原理与方法

CGA形状语法是一门建筑设计编程语言,可以生成高视觉质量及几何细节的建筑物模型,适用于各种形状的构造,它被定义为4个组件:形状、属性、操作及语法规则。其中,形状由符号、几何和数值属性组成,通常由符号识别。几何属性对应于范围,它是空间中的一个方向包围盒,最重要的几何属性是位置P、描述坐标系统的3个正交矢量及尺寸矢量S。形状操作是形状语法中一个非常重要的组件,主要包括4种类型:首先,范围操作可以修改给定形状的范围,包括拉伸、平移、旋转和缩放;其次,分割操作以分割尺寸为属性并沿着给定的轴分割范围;再次,重复操作在一个给定的方向上重复几何形状,在CGA形状语法中它们都被编写为分割规则的一部分;最后,组件的分割操作可以将三维范围分割为更小尺寸的形状,如面、边界、顶点。形状语法规则可以修改和替换形状,通过添加更多的细节(墙、地板、窗、门)进行迭代进化和发展设计,模型生成通常从建筑物底面形状开始,随着规则的依次应用,形状被逐步细化[5]。

综上所述,CGA形状语法是一个树形结构,其节点表示形状、形状分割及重复操作、组件的分割操作,以此捕捉建筑物的结构(如图1所示)。

图1 CGA规则结构

在建筑设计中,由形状语法所生成的三维模型表示建筑物结构,使用语法生成建筑物模型的优点是建筑物的各个方面可以在构建过程中被开发和多次重复使用。例如,可以创建一组规则集用于描述建筑物内部各楼层的结构,这组规则集可以被多次调用来创建相同或相似设计的多个楼层,保存后可以不必显示地创建每一楼层[6]。

CityEngine是一个用于创建城市模型的商业系统,它使用形状语法来创建道路系统及三维建筑物模型,同时能够产生大范围的城市模型及多种建筑物样式。建筑物需要通过手动编码语法来生成,而且可以通过试错过程来检查结果和改进语法。同其他编程任务一样,为了获得合适的结果也需要不断提高精确度。

三、基于CityEngine的三维建模

1.三维建模流程

本文选取深圳市居住环境比较成熟、建筑物较为密集的福田区景田街道为研究区域,该区域地处东经113°46′—114°37′,北纬22°27′—22°52′,建筑物多以高层住宅建筑为主。应用CityEngine实现三维模型建立的流程图如图2所示。

2.数据准备及预处理

构建建筑物三维模型由建筑物外立面三维模型和三维内部模型的建立两部分组成,其中外立面三维模型部分一般需要准备建筑物基底投影分布图、数字高程模型(DEM)等数据,三维内部模型部分需要准备建筑物每层的房间分布图等数据。此外,纹理贴图部分需要准备数字正射影像(DOM)、纹理图片等数据[7]。

图2 CityEngine三维建模流程图

数据在导入CityEngine平台之前需要进行预处理,以满足快速、批量建模的要求。首先将建筑物基础底面数据转换成ArcGIS的Shapefile或File Geodatabase格式,由于CityEngine中只能设置投影坐标系,因此需要对建模的数据进行投影转换。本文选择WGS-84 UTM Zone 49N坐标系统,同时还需要丰富对象的属性信息,根据建模的要求来设定建筑物的属性结构,如建筑物高度、楼层数、楼层高度等,属性信息越丰富,后期通过规则建立的三维模型就能越精细。为了更好地体现三维建模的真实性,还需要将建筑物基础底面数据与DEM叠加计算,来创建贴附地形表面的三维多边形要素,使对象带有高程信息,这样生成的建筑物三维模型与地形的贴合会更加准确。纹理贴图图片主要通过数码相机摄取建筑物外围表面获得,利用Photoshop软件准确矫正图片的透视关系,所有贴图的门窗、建筑立面等必须保持横平竖直,清晰可见[1]。

3.建筑物外立面三维模型的建立

建筑物模型规则建模的思想首先是对建模区域内的建筑物进行分类,根据外形可分为四面形建筑物、圆形建筑物、异形建筑物等,相同类型的建筑物只需调用一个通用规则复用即可,同类型建筑物模型的表达则按每个建筑物自带的属性进行建立,因此对于普通区域只需编写几个常见建筑物类型的规则就可以快速、批量地进行大范围建筑物的三维建模,而复杂建筑物之间由于存在很少的共性,通常每个建筑物都需单独编写一个规则,可复用的概率很小,也可以直接导入已建好的三维模型[1]。

建筑物三维建模规则的编写实际上是对三维模型的逆向分解,即对建筑物进行拆分,然后各个拆分对象通过规则中三维模型的建立函数调用属性信息作为参数进行模型建立。拆分的程度越高,则建立的建筑物三维模型就越精细,但同时需要提供更多的属性信息,规则的编写也就越复杂[1]。

建筑物纹理建模规则是在各个拆分对象上,通过规则中纹理函数调用纹理图片对建筑物各个面进行纹理贴片[8]。

建筑物各个拆分对象的参数信息可以存储在建筑物数据的属性表中,也可以通过CityEngine的属性面板进行输入调整,这样同一个规则对不同属性的建筑物的建模表达也就不同。为了便于管理,通常将对象的各种参数信息存储在建筑物数据的属性表中,本文需要定义的规则属性结构见表1。

表1 建筑物规则属性结构

建筑物建模部分规则代码如下:

本文充分利用建筑物基底投影分布数据,通过编写建筑物外立面三维模型规则文件,在City-Engine平台下实现了大场景三维建筑物批量建模,提高了三维建模效率,建模效果如图3、图4所示。

图3 建筑物批量三维建模

图4 建筑物外立面三维模型

4.建筑物三维内部模型的建立

在CityEngine中没有用来生成建筑物三维内部模型的通用程序,本文描述了用来为建筑物创建内部模型的一般流程,并可以从外部到内部对建筑物进行观察。

需要准备两个要素数据集,分别是buildinginterior和buildingexterior(如图5所示),它们代表目标建筑物详细的楼层平面图,各楼层用字段FLOOR进行分类。其中,数据集buildinginterior是用来创建建筑物内部模型的主要数据集,由代表建筑物内部各楼层房间分布的多边形所组成,而数据集buildingexterior是用来创建建筑物外壳的主要数据集,由建筑物的外部轮廓线所组成,可以使用它来创建一个包含内部空间多边形的建筑物外壳。

图5

对于数据集buildingexterior,在导入到City-Engine之后,可以通过规则驱动生成建筑物的外壳。首先识别每一层楼,拉伸它们,然后使用平移函数在各个楼层的顶部将它们堆积起来。其中,用于识别楼层的属性是FLOOR对象属性,用来控制楼层高度的规则属性是floorHeight。循环的基本结构如下:

接下来为建筑物外壳添加纹理,通过识别建筑面的朝向信息来对各个楼层进行分割,然后为相应的建筑墙面分配exteriorWall纹理文件即可。具体代码如下:

建筑物内部空间的生成遵循与外壳相同的原则,对于数据集buildinginterior,在导入到CityEngine之后,也可以通过循环识别不同的楼层,控制拉伸,并将各个楼层形状分割为多个墙面,代码如下:

而室内空间是利用人体模型来进行修饰的,同时也可以设置建筑物内部墙体的厚度,使其真实感更强。具体代码如下:

本文充分利用建筑物内部各楼层的房间分布矢量化数据,规则驱动建立了建筑物的三维内部模型,建模效果如图6所示。

图6 建筑物三维内部模型

四、结论与展望

三维建筑物模型的几何数据可以从二维的数字地图或GIS数据库获得,建筑物纹理图片可采用数码相机拍摄照片,再经一系列处理后得到。本文对基于规则的建筑物批量三维建模技术进行了研究,在CityEngine平台下通过规则驱动生成了建筑物的外立面三维模型,并进一步对建筑物内部进行了三维的立体建模。因此,CityEngine基于规则的建模方法,能够充分利用现有GIS数据,将大场景的二维数据快速、批量地构建成三维模型,减少人工干预,缩短建模周期,对建模效果可以快速有效地调整,且可以充分利用ArcGIS的三维分析功能对生成的模型进行量化分析。在未来的工作中,将逐步构建所有建筑物的精细模型,进一步完善和提高建筑物三维建模的技术应用。

[1] 谢年,向煜,徐艇伟.基于规则的快速三维建模技术研究[J].城市勘测,2013(4):5-8.

[2] 王超,井浩淼,朱静.基于ArcGIS与SketchUp耦合的三维景观建模技术研究[J].绿色科技,2013(1):258-260.

[3] 张凯选,闫野,魏来.CAD下三维建模研究[J].计算机系统应用,2012,21(2):192-195.

[4] 彭芳媛,周齐生,向常淦.基于航测数据的三维建模方法研究[J].测绘,2011,34(2):63-65.

[5] MULLER P,VEREE NOO GHE T,WONKA P,et al. Procedural 3D Reconstruction of Puuc Buildings in Xkipché[J].The Eurographics Association,2006.

[6] COIA C,ROSS B J.Automatic Evolution of Conceptual Building Architectures[C]∥Proceedings of IEEE Congress on Evolutionary Computation.New Orleans:IEEE,2011:1190-1147.

[7] 孙敏,陈军.3维城市模型的数据获取方法评述[J].测绘通报,2000(11):4-6.

[8] 吴军.3维城市建模中的建筑墙面纹理快速重建研究[J].测绘学报,2005,34(4):317-323.

[9] 路春燕,卫海燕,李吉英.IMAGIS在城市三维建模中的应用[J].测绘科学,2011,36(6):270-272.

[10] 许捍卫,范小虎,任家勇,等.基于SketchUp和ArcGIS的城市三维可视化研究[J].测绘通报,2010(3):52-54.

P208

B

0494-0911(2014)11-0108-05

2014-01-23

张 晖(1984—),男,山东淄博人,硕士,高级工程师,主要研究方向为GIS应用工程。

刘 超

张晖,刘超,李妍,等.基于CityEngine的建筑物三维建模技术研究[J].测绘通报,2014(11):108-112.

10.13474/j.cnki.11-2246. 2014.0376

猜你喜欢
外立面楼层纹理
老旧小区外立面整体改造的实践分析
利用楼层废水势能的发电装置
建筑设计中色彩对外立面的创新性应用思考
百事松江二期外立面景观提升工程透视
基于BM3D的复杂纹理区域图像去噪
软件(2020年3期)2020-04-20 01:45:18
使用纹理叠加添加艺术画特效
电梯的升与降
读者(2019年2期)2019-01-05 09:09:44
自动扶梯楼层板周边环境的安全防护
TEXTURE ON TEXTURE质地上的纹理
Coco薇(2017年8期)2017-08-03 15:23:38
消除凹凸纹理有妙招!
Coco薇(2015年5期)2016-03-29 23:22:15