APP下载

利用CityEngine进行三维校园参数化精细建模

2017-11-29赵雨琪牟乃夏张灵先

测绘通报 2017年1期
关键词:精细化建模规则

赵雨琪,牟乃夏,张灵先

(1. 黄河水利职业技术学院测绘工程学院,河南 开封 475004; 2. 山东科技大学 测绘科学与工程学院,山东 青岛 266510)

利用CityEngine进行三维校园参数化精细建模

赵雨琪1,牟乃夏2,张灵先2

(1. 黄河水利职业技术学院测绘工程学院,河南 开封 475004; 2. 山东科技大学 测绘科学与工程学院,山东 青岛 266510)

在现有二维数据的基础上进行快速的三维精细化建模是当前GIS领域的一个重要研究方向。本文给出了CityEngine参数化规则建模的流程和方法,解释了规则函数的原型及其作用,阐述了建筑物、道路、绿化和水体的三维精细化规则建模的具体步骤,并以山东科技大学校园三维为例,在CityEngine平台上构建了整个校园的三维场景。参数化建模能够通过参数更改模型的细节特征,实现了实时、动态的三维建模,弥补了传统建模方法的不足,对大规模城市快速精细化三维建模具有重要的指导意义。

CityEngine;规则;参数化;三维建模

“三维校园”概念是由美国克莱蒙特大学教授凯尼斯·格林在1990年发起并主持的一项大型科研项目“信息化校园计划”中提出的[1]。随着三维数字建模技术的发展,众多优秀的GIS软件公司也相继推出了各自的三维GIS软件[2]。但是,大部分软件的建模方式是通过手工建立精细的三维模型,追求的是模型的细节化效果,致使建模的建设周期长,耗费大量的人力劳动[3]。随着智慧城市建设的推进,对快速精细化三维建模的需求越来越强烈[4],因此亟需一种能够在现有二维数据基础上进行参数化控制,并且与现有的GIS平台无缝集成的三维建模方法[5]。CityEngine软件基于规则的批量建模则应运而生。

CityEngine软件是Esri公司专门针对三维建模的软件模块,是通过规则快速调用GIS二维数据中的属性数据[6],进行自动化批量建模。这种高效、动态、参数化的建模方式尤其适合于大规模智慧城市的三维建模需求,因此迅速成为当前城市三维建模的首选方法[7]。本文研究通过规则定义进行参数化三维校园精细化建模的方法,以期为智慧城市大背景下的城市快速精细化三维建模提供参考。

1 CGA规则

计算机生成的建筑模型(computer generated architecture,CGA)规则是CityEngine进行三维建模的方法描述[8],它是CityEngine的程序设计语言,是通过定义一系列的几何和纹理的参数化特征来决定模型如何生成的。

规则的建模思想是通过定义规则,反复优化设计,创造更多细节,对模型的精细化程度逐步完善[9]。图1展示了规则建模的整个过程。

图1 CGA规则建模过程示意图

CGA规则函数包括拉伸(extrude)函数、切分(split)函数、拆分(comp)函数、属性设置(set)函数和贴图(texture)函数等,其基本原理是具体化、细节化地将模型的结构拆开来进行逐个详细分析,再通过不同的规则函数对每个部分进行定义,执行循环与迭代等操作,最后完成整个模型的建模。表1列出了较为常用的规则函数及其用途。

基于CGA规则的三维模型建模方法与手工建模方法相比,有效地提高了模型的重用率,保证了模型信息的一致性,使设计条理更加清晰,能够通过规则来调用GIS数据中的属性数据, 进行自动批量建模[10-11]。

表1 常用规则函数

2 校园参数化精细建模

2.1 建模流程

CityEngine的参数化规则建模过程包括数据采集、数据处理、第三方软件辅助建模、规则建模、细节化调整、场景输出展示等几个步骤,具体流程如图2所示。

2.2 数据处理

本例中所需的数据包括山东科技大学校园二维矢量数据、卫星遥感影像卫星数据和校园内拍摄的实景数据。

数据处理主要包括矢量数据预处理、建筑外观纹理提取、第三方软件辅助建模等。

(1) 矢量数据处理:矢量数据是所构建区域范围的底面信息数据,包括建筑底面数据、道路数据、绿化区数据等,存储着不同类型的各项属性信息[12]。

矢量数据处理的一般步骤为:①将矢量数据导入ArcMap中,在ArcMap中对校园内建筑的高度、楼层数、索引值、绿化区的属性值进行编辑与修改。②将整理好的矢量数据导入地理文件数据库(GDB数据)中。③在CityEngine软件中,通过Import功能,将GDB数据导入工程文件中,完成矢量数据的数据处理。

(2) 校园实景信息:校园实景信息指通过拍照采集的校园实景照片,根据实景图片来搜集校园内各类模型的纹理图片,并通过Photoshop软件对纹理图片进行尺寸矫正与渲染调色,整理后导入CityEngine。

(3) 第三方软件辅助建模:CityEngine软件尽管能通过规则的细化进行模型的精细化表达,但是对于一些环境小品类地物,如校园中的植物、人物、路灯、亭阁等更适合使用第三方软件进行处理,以充分利用这些软件现成的资源库。

2.3 规则构建模型

校园三维模型是由一系列三维单元构成的,主要是由建筑物模型、道路模型、绿化植被模型和水体模型及各种小品模型组合而成的。

2.3.1 建筑建模

建筑建模是校园精细化建模的重点。外形复杂多变的建筑物一方面是多姿多彩校园的外观体现,另一方面也使建筑物的三维模型更趋复杂。

以教学楼建模为例,首先使用attr函数和cont函数调用矢量数据中教学楼的属性信息,对其整体楼高、楼层高、窗户宽度、大门宽度等属性进行定义;然后将建筑物的底面通过extrude函数进行拉伸,生成基础的建筑体;再用comp函数与split函数对建筑体的各个面进行细化的切分,将建筑的外观拆分成不同部位的小面块;最后利用texture函数对各个面块进行纹理贴图,完成整个建筑的建模。

模型生成过程如图3所示。

核心代码如下:

Building--gt; ∥切分建筑面

comp(f){front:Frontfacade|left:Sidefacade|right:Sidefacade |back:Frontfacade|top:Roof} ∥将建筑切分为正面、侧面、背面和顶面,并定义其名称

Frontfacade--gt; ∥对模型正面进行定义

split(y){groundfloor_height:Groundfloor|{~floor_height:Floor}*|floor_height:Topfloor}

ZhongT--gt;

color(wallColor) ∥设置墙体背景色

s(′1,′1.4,2) ∥将面模型进行缩放至合适大小

set(material.dirtmap,dirt_tex)

i(quot;builtin:cube:notexquot;) ∥替换模型块

projectUV(0)projectUV(2)

setupProjection(0,scope.xy,1.5,1,1) ∥设置坐标系

texture(groundfloor_tex) ∥贴图纹理

projectUV(0)

利用规则对建筑物进行建模,对建筑物的切分越细致,则生成的模型越精细。对于门梁、阳台、窗台等细节部位,通过规则的更加详细的切分、旋转、拉伸等定义,将模型的细节化完美展现,更能表现出建筑的立体感与精细化程度。不同的建筑物,使用条件函数,根据其属性名称定义相应的建筑风格,从而减少规则文件的数量。

后期可以在属性表中动态地调整模型各参数选项来实时地改变建筑的风格外貌,如建筑楼层高度、屋顶类型、外观纹理等,从而避免了对规则重新编辑,方便了设计人员的操作。

2.3.2 道路建模

道路模型也是三维校园的重要组成部分,道路分为机动车与非机动车道、绿化带、路口、人行道等。每种类型的地块在CityEngine中都有对应的名称(如机动车道为“Street”,人行道为“SideWalk”,十字路口为“Crossing”)。

道路的建模就是在一个规则文件中对不同地块进行不同属性的定义,再将该规则文件赋予在道路模型中,道路模型将自动匹配各个类型地块的模型生成。

人行道建模的主要规则如下:

Sidewalk--gt; ∥对人行道进行建模

SidewalkWithCurbs

alignScopeToAxes(y)t(0,sidewalkHeight,0) ∥定义道路坐标系

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 ∥利用条件函数对人行道的行人进行建模

图4 道路建模效果

整体道路模型效果如图4所示。2.3.3 绿化区建模

本例中校园内植被较为多样化。通过i函数调用绿化区的属性名称和植被模型,对不同的绿化区创建不同类型和数量的植被,分散(scatter)函数可以将植被均匀分散在绿化区中。核心函数如下:

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) ∥对草坪进行贴图建模

projectUV(0) ∥利用条件函数与分散函数对不同区域面积中分散种植不同的树木

绿化区的建模中,CityEngine软件完美地利用了现有GIS数据的属性信息,对大范围区域进行了快速植被建模,效果图如图5所示。

图5 绿化区建模效果

2.3.4 水面动态建模

通过规则中的set函数对水面的质感进行定义,建立水面的动态效果。核心函数如下:

Water--gt;

set(material.name,quot;water__waterparams_30_50quot;) ∥设置水面的材质属性

X.

效果如图6所示。

2.4 三维场景发布

所有的模型完成后,可以进行场景共享。CityEngine可以通过WebScene或ArcGIS进行发布,使更多的用户可以浏览、分享校园景象,方便学校对外的宣传。如图7为本文所构建的山东科技大学总体效果。实现了校园三维全景漫游,使游客如置身校园之内,可以对三维场景进行全方位浏览,还可以查询建筑属性信息、观看校园不同时间段的光照效果[13]。

图6 动态水面效果

图7 山东科技大学三维校园场景

3 结 论

当前三维模型建模方法众多,如何能够更大程度地结合现有的GIS数据资源和模型,快速、合理、精细化地建模成为影响三维建模发展的重要因素[14]。本文以CityEngine软件平台,以山东科技大学校园模型为例,对基于参数化的三维建模方法进行了研究,充分利用现有的二维数据资源,对模型的各项参数实现了实时、动态的调节修改,快速地对多区域、大范围的场景进行精细化建模[15],与传统的建模方法相比,降低了人工成本,提高了建模速率,为大范围的场景建模提供了一种新的思路与方法。

[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] 毕硕本, 张国建, 侯荣涛, 等. 三维建模技术及实现方法对比研究[J]. 武汉理工大学学报, 2010,32(16):26-30.

[3] 尹晖, 孙梦婷, 干喆渊, 等. 基于Sketch Up的输电杆塔三维建模研究[J]. 测绘通报, 2015(4):34-37.

[4] 顾朝林, 段学军, 于涛方, 等. 论“数字城市”及其三维再现关键技术[J]. 地理研究, 2002,21(1):14-24.

[5] 牟乃夏, 尤优, 岳汉秋, 等. 基于ArcGlobe的三维数字校园建模与仿真[J]. 图学学报, 2012,33(5):68-72.

[6] 花利忠, 王赵兵, 邹丽妹, 等. 基于CityEngine与ArcGIS Flex API的校园WebGIS系统——以厦门理工学院为例[J]. 厦门理工学院学报, 2013,21(4):57-61.

[7] 刘媛, 邓运员, 刘立生, 等. CityEngine CGA支持下的传统民居复杂屋顶建模及优化——以衡阳市中田村为例[J]. 测绘通报, 2016(3):98-102.

[8] 吕永来, 李晓莉. 基于CityEngine平台的高速铁路建模方法的研究与实现[J]. 测绘, 2013,36(1):19-22.

[9] 罗帅伟. 基于Skyline的城市三维地理信息系统的设计与实现[D]. 西安:西安科技大学, 2012.

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

[11] 吴宁. 基于目标识别和参数化技术的城市建筑群三维重建研究[D]. 杭州:浙江大学, 2013.

[12] 李秀梅, 吴凡, 徐殿成, 等. 基于ArcGIS的校园图书馆三维建模研究[J]. 计算机科学, 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]. 测绘学报, 2011,40(1):133-137.

[15] 汤国安, 刘学军, 房亮, 等. DEM及数字地形分析中尺度问题研究综述[J]. 武汉大学学报(信息科学版), 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].测绘通报,2017(1):83-86.

10.13474/j.cnki.11-2246.2017.0018.

2016-04-07;

2016-08-30

山东省自然科学基金(ZR2016DM02);中国科学院地理科学与资源研究所资源与环境信息系统国家重点实验室开放基金;国家重点研发计划(2016YFB0502104)

赵雨琪,女,硕士,主要研究方向为地理信息系统应用与三维建模。E-mail:541459083@qq.com

牟乃夏。E-mail:mounaixia@163.com

猜你喜欢

精细化建模规则
探讨市政工程的精细化管理
撑竿跳规则的制定
精细化管理的企业管理模式探讨
数独的规则和演变
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
“精细化”全方位培养好参谋
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
让规则不规则
开启精细化监督新模式