您好,欢迎来到一二三四网。
搜索
您的当前位置:首页基于CityEngine规则技术批量构建三维模型分析

基于CityEngine规则技术批量构建三维模型分析

来源:一二三四网
2018年第9期水利规划与设计科研与管理

DOI: 10. 3969/j. issn. 1672-2469. 2018. 09. 024

基于CityEngine规则技术批量构建三维模型分析

王媛媛

(吉林省水利水电勘测设计研究院,吉林长春130012)

摘要:基于C+yEn'ne软件的规则建模技术,通过编写规则文件,可以快速地、自动地创建出场景内的大量三维

模型。从批量构建三维模型的角度详细描述了从数据收集、处理、创建规则、应用规则建模整个流程。

关键词! GIS;

CityEn'ne;

三维建模

文献标识码:A

文章编号:1672-2469(2018)09-0084-03

中图分类号:TV221. 1

随着G

IS

技术和计算机软、硬件技术的快速发

IS

展和推广,二维G应用已经不能满足目前很多方

IS

建模所需的基本信息。

将GIS数据导人到CityEngine场景中,创建场 景及规则文件,创建规则变量并映射到GIS数据的 相应属性,指定建模规则,应用规则文件批量构建 场景内的三维模型,最后单独编辑场景中特殊模 型。这样就完成了三维场景的批量建模工作,下面 详细分析该技术路线的设计与实现过程。

&

设计与实现

面的应用需求。二维G只能提供给用户平面的信

息,而现实世界中,客观事物总是存在于三维空间 的[1],对于三维空间中客观事物,用户只能通过想 象或者工作经验来推断。与二维G

GIS

IS

相比,三维

通过构建三维模型场景给用户表现更真实的地

理空间[2]。目前进行三维建模的作业流程是对场景 模型进行逐一建模,业界通常使用的软件有 3DMap SketchUp等软件[3]。优点是软件的用户群 体多、模型精确度较高;缺点是建模操作较繁琐、 工作量大。ESRI公司的CityEngine软件最大的特点 就是程序通过定义一系列的规则来驱动和约束三维 场景的自动构建三维模型。这种技术改变了传统建 模的方式,大大减少了重复性劳动和人力的投人。

1

技术路线

2.1数据准备

2.1.1统一数据坐标系

收集到的场景区域的DEM、DOM、建筑物 (面)、道路(面或线)、水系(面)等

GIS

数据,由

于不一定是同源获取的,所以经常会遇到数据的坐 标系不统一的情况,虽然CityEngine软件支持不同 坐标系的数据在加载时自动进行数据投影,但是为 了避免数据的投影变形,最好还是需要将所有的原 始数据的坐标系进行统一。如果是同椭球不同投影 带坐标系之间的转换,可以使用ARCGIS的坐标系 投影工具将源坐标系投影到目标系;如果是不同椭 球坐标系之间的转换,可以收集或实测场景区的转 换参数,然后再使用ARCGIS的坐标系投影工具将 源坐标系投影到目标系[5]。关于数据坐标系转换的 详细说明本文中不作介绍。

2.1.2 二维

GIS

三维场景一般包含三维地形、影像、三维建筑 物、道路、水系等要素。这些三维数据一般都是由 二维的G

IS

数据经过三维技术处理获得的[4]。三维

EM

地形数据即D数据,有

TIN

Gnd

两种格式;

三维建筑物、道路和水系模型分别由二维的建筑

物、道路、水系数据图层添加DEM高程信息来获 取其三维数据进而创建三维模型。因此,在建模之 前,需要收集场景区域的DEM、DOM、建筑物 (面)、道路(面或线)、水系(面)等

使用Aq

GIS

GIS

GIS数据制作三维GIS数据

数据。

IS

数据包括空间数据和属性数据,空间数据

工具将这些收集到的G数据进

用来表达地理空间实体的位置、大小、形状、方向

收稿日期! 2018-06-01

作者筒介:王媛媛(1980年一),女,高级工程师。

行处理,剔除错误、粗差并使之统一坐标系,编辑 处理矢量数据的属性,添加字段,使GIS数据包含

* 84 *

科研与管理水利规划与设计2018年第9期

图1 “2

Dto3D面”GP工具架构图

景中一些3D要素并不能很好的与地形贴合(比如 建筑物的基底),所以接下来要做的就是将地形的

局部区域进行编辑,使之与3D要素更好地贴合。 以建筑物基底处理为例来进行说明。如果DEM数 据是TIN格式,则直接使用“编辑TIN”工具加人上 面生成的 “ Buildingl _ footprints3 D _ bufferline ” 要素 类即可。如果D

Grd

EMIN

以及几何拓扑关系,属性数据用来表达空间实体的 空间属性以外的其他属性特征,属性数据主要是对

空间数据的补充说明。GIS数据通常以点、线、面 要素来分类组织和管理。二维的GIS数据为了能更 好地贴合到三维地形(即DEM)上,需要将二维的

GIS

数据转换成三维GIS数据。

点要素:通过 ArcToolbox 的“Interpolate Shape”

数据是G

rd

格式,则只需将

工具转化为3D点要素。并在属性字段中指定点要 素的类型(如树木、路灯杆等)、高度等基本信息。线要素:如果是双线道路,需要提取道路的中 心线,然后再使用“Interpolate Shape”工具转化为 3D线要素。并在属性字段中指定道路要素的宽度、 车道数、路面材质(如沥青、水泥、砂石等)等基 本信息。同理,其他线要素也要在属性中指定其必 要的基本信息。

面要素:如果是双线道路面,需要提取道路的 中心线,将其转化为线要素,再按上面线要素处 理;如果是水系面,使用“面转线”工具将面转换 为线要素[(],然后转换为3D要素,再使用“要素 转面”工具转化为3D面要素;如果是建筑物基座 面,处理会较为复杂,可以制作一个G

P

格式转换成T格式,再重复上步完成DEM

编辑。

2.2三维建模 2.2.1主体建模

目前进行三维建模一般都使用3DMax、

SketchUp等软件对场景模型进行逐一建模,以建筑

物为例,很多建筑物的样式基本是一样的或者是类 似的,按照目前的工作模式大大增加了重复性劳

动。CityEngine最大的特点就是可以通过定义一系 列的规则来驱动和约束三维场景中的模型的自动构 建,进而达到批量自动建模的目的。

首先新建工程“CityEngine project”,新建场景 “CityEngine scene”,命名该场景并设置该场景所使 用的坐标系统为源数据的坐标系统。在场景中创建 Terrain Layer加载DEM和D0M数据。然后在场景 中导人三维GIS矢量数据及其属性,这样我们就能 在后续的建模中通过映射实体属性来动态控制模型 的自动创建。创建一个新规则,当然也可以导人一 个已有的规则,下面以建筑物为例来说明如何通过 定制规则自动创建建筑物模型。

选中建筑物层上所有的几何实体,通过鼠标右 键工具“Assign Rule File…”引用到新建的规则文 件,然后编写规则,如图2所示短短几行代码就可 以自动生成所有的建筑物模型,建筑物高度为3m。 当然还可以通过映射变量“ heght”到几何实体的属 性,这样就可以根据属性值来生成不同高度的建筑

• 85 •

模型工

具[7],命名为“2D<3D面”,其架构如图1所示。 运行该工具会输出两个要素类:“ Bmldmgl _

footprints3 D

,’、 “ Buildingl _ footprints3 D _

bufferline ”。“ Buildingl _ footprints3 D ” 是实际的 3 D

建筑物基底面,其高程是建筑物基底面中心点在

DEM上的投影高程,是一个平面;而“Buildingl —

footprints3D_ bufferline”是

3D线要素,它的高程就

是它在DEM上的插值高程,它将参与地形的编辑, 使得建筑物基底面能更好地与地形贴合。编辑属性 字段添加建筑物的楼层数、层高、屋顶类型、墙面 材质等基本信息。

2. 1. '

DEM 编辑

rGIS

使用A加载这些数据源,可以看到在场

2018年第9期水利规划与设计科研与管理

图2

cga规则文件及局部效果

version “2015.1”

attr = 3 #建筑物默认挤出高度 attr anqle = 30 #屋脊倾斜角度

attr rolftype =1 #屋顶类型1:四斜坡;2:两侧斜坡3:平顶 Lot ~> extrude (height)刹t顶面分解出comf(f) { side : Facade. | top : To^(rolftype) }

Top(rolftypey->case rolftype =case rolftype =case rolftype =

1: 2: 3:

else: NIL

roofHip(ang/e,0.5)

roofGable(a«g/e,0.5,0.5) roofShed(0,0.5)

图3

cag规则文件及局部效果图

屋顶贴图,其他门、窗、墙壁材质贴图可以实地 拍照采集。门窗的纹理贴图为同类型,如图4中 ,Door”贴图代码所示。屋顶贴图使用的是D0M 影像,需要进行纹理的平移操作[1〇],如图4中 “Roof”贴图所示,由于注释比较详细,在此就不 在赘述了。

至此,建筑物的三维建模就已经完成了。使用 规则创建模型的优势是可以通过改变规则来轻松地 修改模型,规则带来了高效的同时,一点也没有降 低三维建模的灵活度。例如,你可以通过规则来自 动创建大部分的建筑物,而其中的个别建筑物,你 可以通过在该建筑物的Inspector属性框中修改其属 性来更详细控制建筑物模型的创建。

2.3导入已有三维模型

物模型了[8]。

2.2.2屋顶建模

由于建筑物的屋顶多样化,考虑北方房屋多以 平顶、双坡顶、四坡顶为多,下面就以这几类屋顶 的建模规则定制进行详细说明。

平顶:最简单,建筑物默认屋顶即为平顶。也 可使用jfS

hed[9]函数,倾角设置为0

双坡顶:需要comp(f)函数将顶面分割出,然 后使用QofGablG9]函数,其可以包含1 ~5个参数, 一般默认3个就可以了,坡顶的角度(单位:度)、

B

方向房檐延伸长度(单位! 6)、C方向房檐延伸 四坡顶:需要comp(f)函数将顶面分割出,然

长度(单位:6)。

后使用Q〇fHip[9]函数,其可以包含1~3个参数, 一般默认2个就可以了,坡顶的角度(单位:度)、 四周房檐延伸长度(单位:6)。

图3即为映射实体屋顶的不同属性值自动构建 的房屋白模。

2. 2.3 纹理贴图

如果已经有一些三维模型,这些模型是使用其 他建模软件生成的,CityEngine可以很好的支持这 些已有三维模型。如果模型带有空间地理坐标,可 以直接将这些模型文件拖人到CityEngine场景中, 当然也可以使用菜单“File/Import”导人工具,使用 指定类型的导人器将选中的模型导人到场景中。反 之,如果模型没有空间地理坐标信息,可以使用矢 量轮廓面来为模型定位。

(下转第1(8页)

最后就是对模型的美化工程了,给模型贴上 纹理图案,使模型看起来更接近于真实世界中的

建筑物。我们可以将D0M影像数据作为建筑物的

•86*

2018年第9期水利规划与设计设计施工

冲刷水力要求,有些新型护砌型式可兼顾河道生态 和自然环境维护,因此护砌基础处理措施应根据不 同区域的工程地质、水文地质、气候等影响因素综 合考虑,选择合理的基础处理措施,进而保证护砌 型式服务周期。

参考文献

[1] 王永波.哈尔滨市灌区渠道预制混凝土板衬砌破坏浅析[>.水

利科技与经济,2015, 21 (06): 119-120.[2] 李明会,张红,李志霞.衬砌渠道抗冻胀分析[>]=水利科技与, 2011,17(04): 34-35.

[3] 朴春红.灌区防渗衬砌冻胀破坏成因及防治对策探究[>].水利

规划与设计,2016(12): 104/05.

[4] 李超明.沙井子灌区渠道衬砌混凝土防冻胀设计探讨[>].水利

技术监督,2009(02): 46-47.

[5] 陈雯龙.混凝土防渗渠道冻胀破坏成因分析及防冻胀措施

[>=水利技术监督,2011 (03): 45-47.

[6] 赵云,=大安灌区总干渠工程的防冻胀措施[>]=水利规划

与设计,2014(04): 95-98.[7] 秦广莉.渠道衬砌体冻胀破坏机理及防冻措施研究[>].水利规

划与设计,2016(02): 20-22.

[8] 方海霞.前海灌区45团胜利干渠混凝土渠道抗冻胀设计探讨

[J].水利规划与设计,2015(12): 55-56.

(上接第86页)

txtPath = “maps/cexcure.jpg”

doorPath = “assets/door.jpg”

windowPath = “assets/window.jpg” wallPath = “assets/wall.jpg”

#屋顶贴图

#屋顶贴图

#门贴图 #窗贴图 #墙壁贴图#纹理实际宽度 #纹理实际高度 #纹理左上角y坐标 蛾理左上角x坐标

const textureWidth = 2625.6

2485.6 const textureHeight =

offsetx = offsetz =

Roor~>

setupProjection(0, world.xz, textureWidth, textureHeight) projectUV(O)

set(material.colormap, txtPath)

translateUV(0, -offsetx/textureWidth, -offsetz/textureHeight) scaleUV(0, 1, -1)Door~>

setupProjection(0, scope.xy, scope.sx, scope.sy)texture(doorPath)projectUV(O)

图4

cag规则文件及局部效果图

[3] 陶丽,郑国栋.3d,Map 2016中文版标准教程[M].北京:清华

大学出版社,2017: 1.

[4] 李敏.基于4M技术的可视化水利工程设计仿真[>].水利技

术监督,2016, 24(03): 13-16.

[5] 汤,杨昕.AqGIS地理信息系统空间分析实验教程(第2

版)[M].北京:科学出版社,2017: 82.

[6] 邢超,李斌.AqGIS学习指南——ArcT〇〇lN〇x[M].北京:科学

出版社,2017: 206.

[7] 杨志军,谭玉屏,王建体,等.AqGIS数据建模工具(Model

3结语

基于CityEngine规则建模技术,通过创建规则 文件,既能灵活地利用二维GIS数据,尤其是其属 性数据,又能广泛兼容地利用多种外部资源(如纹 理、已有模型等)来批量创建出较高质量的模型, 大大减少了创建三维场景的建模工作量,极大地提 高工作效率。

参考文献

[1] 张瑞杰,李东明.水电站压力钢管摄影测量及逆向建模分析

[J].水利技术监督,2013, 21(02): 36-39.[2] 赵琳,李孟,陈娜,等.长距离输水管道BIM快速建模技术研

究与应用[>.水利规划与设计,2018(02): 48-51.

.山东林业科技,2014, 44(01 ): 75-76.

[8] 谢衍忆,黄良平,陈元增,等.基于C+Engine的城市三维快速

建模方法及应用[>.地理空间信息,2016, 14(02): 39-40 +62 + 8.[9] Esri R&D Center Zurich. CityEngine Help. Version 2015. 1.[10] 赵雨琪,牟乃夏,张灵先.利用C+Engine进行三维校园参数

化精细建模[>.测绘通报,2017(01): 83-86 + 111.

Builder)应用实例[>

• 168 *

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- howto1234.net 版权所有 湘ICP备2023021910号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务