APP下载

基于规则的快速三维建模技术研究

2013-03-06谢年向煜徐艇伟

城市勘测 2013年4期
关键词:纹理建筑物对象

谢年,向煜,徐艇伟

(重庆数字城市科技有限公司,重庆 400020)

基于规则的快速三维建模技术研究

谢年∗,向煜,徐艇伟

(重庆数字城市科技有限公司,重庆 400020)

传统的三维建模方式多通过手工建立精细的三维模型,效果好,但建设周期长,成本高。本文介绍了在Esri CityEngine平台下,基于规则进行三维建模的方法,重点介绍了建筑物和道路的建模思路,利用现有GIS数据,基于规则进行快速自动的建模,提高了三维建模效率,为三维建模提供了一种全新的手段。

Esri CityEngine;三维建模;GIS

1 引 言

三维建模技术是建立现实世界虚拟化三维场景模型的基础,其运用计算机图形图像处理技术,将地理空间数据从传统以二维平面图的表现方式转换为以三维立体的方式显示[1],能更真实、形象地展示现实世界,广泛应用于城市规划、数字城市、建筑设计、安全应急等领域。三维建模技术的核心是根据研究对象的三维空间信息构造其立体模型,并利用相关建模软件或编程语言生成该模型的图形显示,然后对其进行各种操作和处理[2]。传统的三维建模技术采用纯手工建立精细的三维模型,虽然展示效果好,但其结果往往是静态、固化的作品,而且建设周期长[3]。本文主要介绍一种在Esri CityEngine平台下,基于规则的三维快速建模方法,通过规则能调用GIS数据中属性数据,进行自动批量建模,很好地利用了现有GIS数据,提高了三维建模效率,在大场景三维快速建模领域提供了一种新的手段。

2 规则介绍

规则是一种独特的程序语言,它定义了三维模型的几何和纹理特征,决定三维模型如何生成。基于规则建模的核心思想是定义合理的规则,反复优化设计,批量生成模型,建模对象的规律性越高,其建模优势越明显。如图1所示为整个规则推导过程:左侧是最初的图形和右侧是最终生成的模型。

图1 规则推导过程

Esri CityEngine内置了许多三维模型构建的方法函数,规则文件CGA定义了如何调用这些三维模型构建函数,一个对象被赋予规则后,调用对象本身属性表中的值作为参数,生成三维模型[4]。一个规则可以同时赋予多个对象实现批量建模,参数可以实时调整修改,三维模型修改效果得以即时展现。

3 建模流程

基于Esri CityEngine快速三维建模的一般化流程如图2所示。

图2 建模流程

快速三维建模由几何建模和纹理建模两部分组成[5],其中几何建模部分一般需要准备基础底图、数字高程模型(DEM)等数据,纹理建模部分需准备数字正射影像(DOM)、纹理照片等数据。1∶500数字地形图包含了大量的房屋、道路、水系等要素信息,不仅准确地还原了现实世界对象之间的空间关系,而且包含了对象材质、高度等一些属性信息,因此1∶500数字地形图是三维城市建模一种比较理想的基础底图。纹理建模是指根据对象的表征特性进行纹理贴片,纹理贴图图片的获取方式有实地拍照、航空摄影、数字全景摄影等。

数据在导入Esri CityEngine平台之前需进行预处理,以满足快速建模的要求。首先将基础底图数据转换成ArcGIS的shp或者File GDB格式,由于Esri City-Engine中只能设置投影坐标系,所以需将建模的数据进行投影转换,还要丰富对象的属性信息,根据建模的要求来设定对象的属性结构,比如楼层高度、楼层数、车道等,属性信息越丰富,后期通过规则建立的三维模型就能越精细。为了更好地体现三维建模的真实性,还需要将基础底图数据与DEM叠加计算,转换成三维数据,使对象带有高程信息,这样与地形的贴合会更加准确。纹理贴图图片的透视关系要矫正准确,所有贴图的门窗、建筑立面等必须保持横平竖直,清晰可见。

4 规则快速建模

快速建模的核心部分是编写规则,首先对建模对象进行分析,根据对象的共性和差异性来复用或编写规则。在规则建模初期,需要对不同类型的对象编写规则进行建模,与其他手工建模的方法相比,规则建模花费的代价差不多甚至更多,但是可以建立一个规则库,将编写好的规则导入库中进行规则积累,随着规则库中的规则不断扩充,在后期建模的时候,就可以设置对象调用库中已有的规则进行批量建模,而只需对库中规则无法表达的对象编写规则进行补充,减少了建模的投入,且规则库很方便进行移植和共享。此时规则建模和传统手工建模的方法相比,建模效率会有较大的提升。规则建模与传统手工建模的比较如图3所示。

图3 建模比较

4.1 地形建模

地形模型规则建模通过正射影像(DOM)+数字高程模型(DEM)的融合叠加规则进行构建,需考虑建筑物底部与地形的贴合度,理论上建筑物底部的地形应是水平的,如果地形不平,则需将建筑物区域的DEM数据与建筑物进行插值计算,整平地形。

4.2 建筑物建模

建筑物模型是三维模型表达的主体,建筑物模型的质量直接影响整个三维模型的效果。建筑物规则建模的思想首先是对建模区域内的建筑物进行分类,按规律性可分为复杂建筑、一般建筑等。复杂建筑之间存在很少的共性,通常每个建筑都需要单独编写一个规则,可复用的几率很少,也可以直接导入外部已建好的模型,所支持的格式有OBJ、DAE等。一般建筑,根据外形可分为四面形建筑、圆形建筑、异形建筑等,相同类型的建筑只需调用一个通用规则复用即可,同类型建筑物模型的表达则按每个对象自带的属性进行构建,因此对于普通区域只需编写几个常见建筑物类型的规则就可以快速地进行大范围建筑物的三维建模。

建筑物几何建模规则的编写实际上是对三维模型的逆向分解,即对建筑物进行拆分,然后每个拆分部分通过规则中三维模型的构建函数调用属性信息作为参数进行模型构建。拆分的程度越高,则建筑物几何模型表达就越精细,但同时需要提供的属性信息就越多,规则的编写也就越复杂。在实际建模的过程中,需结合模型精度要求来对建筑物进行拆分。通过测试发现,普通精度的建筑模型,建筑物表面突出达到1.5 m部分应拆分出来进行模型表现,在1.5 m以下时可以用贴图来表现,这样就可以在规则和属性信息上进行适当的取舍,实现规则复杂度与建模效果之间的平衡。对于不同建筑物的拆分方式大体上一致,一般四面形建筑建立规则的拆分方法如图4所示。

图4 四面形建筑的拆分结构图

建筑物纹理建模规则是在各个拆分对象上,通过规则中纹理函数调用纹理图片对对象各个面进行纹理贴片,贴片时需考虑对象表征的特性,贴片方式根据对象的特点进行设定,比如玻璃材质的纹理贴片应进行透明、反光的设置。

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

四面形建筑物规则属性结构 表1

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

attr Height=rand(20,100)#定义建筑物高度

attr F_Ht=4 #定义楼层高度

attr FW_Wd=5 #定义窗户宽度

attr FW_Ht=3 #定义窗户高度

attr FW_T="" #定义窗户纹理

attr F_WT="" #定义墙体纹理

#拉升建筑物

Lot-->

extrude(Height)comp(f){side: Facade|top(0): Roof }

#根据楼层高度对建筑物进行垂直拆分

Facade-->

split(y){floorheight:Floor}∗

#根据窗户对每层建筑物进行水平拆分

Floor-->

split(x){tilewidth:Tile}∗

#拆分窗户

Tile-->

split(x){~1:Wall|3:split(y){~2:Wall|FW_Ht:Window|~1:Wall}|~1:Wall}

#设置窗户纹理

Window-->

setupProjection(0,scope.xy,scope.sx,scope.sy)

projectUV(0)

texture(FW_T)

#设置墙体纹理

Wall-->

setupProjection(0,scope.xy,1,1)

texture(F_WT)

projectUV(0)

#设置楼顶样式

Roof-->

roofHip(30,2)Wall

4.3 道路建模

道路建模也是三维场景中比较重要的部分,建筑物模型规则编写的思路同样也适用于道路模型,首先对道路进行分类,然后对不同类型的道路进行拆分。根据道路通行特点可以分为单行道、双行道、多行道(公交港口)、立交桥等类型。双行道的建立规则拆分结构如图5所示。

图5 双行道的拆分结构图

双行道是道路中最为常见的,为了增加路网模型的真实性,还可以在车道上随机分布汽车模型、人行道上分布人物模型等。基于上面双行道的拆分结构,需要定义的规则属性结构如表2所示。4.4 其他模型

双行道规则属性结构 表2

除了建筑物和道路外,构建三维场景还需要其他模型,比如雕塑、各类附属设施等,这类对象的规律性不强,通常用其他的建模软件进行建模,然后在规则中定义模型的导入、大小、角度等参数。

5 应用效果

在重庆市某区域的三维城市模型建设中,我们充分利用现有GIS数据,通过编写建筑物模型、道路模型等规则文件,通过Esri CityEngine实现了大场景三维城市批量建模,建设周期相比传统手工建模的方式缩短了约30%,建模成果满足项目设计要求。建模效果如图6所示。

图6 三维模型效果

6 结 语

本文在Esri CityEngine平台下,对基于规则的快速三维建模方法进行了研究,介绍了一种全新的三维建模方式,Esri CityEngine基于规则的建模方式,能充分利用现有GIS数据,将大场景的二维数据快速的构建成三维模型,减少了人工干预,缩短了建模周期,而且对建模效果能快速有效的调整。后期主要研究方向是扩充规则的优化和扩展,以便建模进行规则复用,提高工作效率。

[1] 尹小君,赵庆展,宁川等.城市虚拟地理环境的研究与实现[J].计算机应用与软件,2011,28(5):91~93.

[2] 毛健,苏笛.地理场景三维可视化系统的关键问题研究[J].城市勘测,2012(4):9~11.

[3] 刘畅.虚拟现实技术的关键技术研究[J].数字技术与应用,2011(1):65~66.

[4] Esri中国(北京)有限公司.CityEngine概览[R].2012.

[5] 崔新友,王海花.基于CityGML的数字城市快速建模研究[J].软件导刊,2009,8(6):17~19.

北京市测绘设计研究院与北京天下图数据技术有限公司签订战略合作框架协议

2013年6月26日,北京市测绘设计研究院与北京天下图数据技术有限公司举行了战略合作框架协议签署仪式。温宗勇院长和关鸿亮董事长代表双方单位签署协议。双方将在北京地区航空摄影、智慧城市建设、地理国(市)情普查与监测、应急测绘保障服务、地理信息数据处理和新技术开发等领域开展合作。

国家测绘地理信息局宋超智副局长、北京市规划委员会叶大华委员、北京市勘察设计和测绘地理信息管理办公室王金坡副主任、北京天下图数据技术有限公司关鸿亮董事长一行8人,与北京市测绘设计研究院温宗勇院长等院领导班子成员和相关部门负责人参加了战略合作框架协议签订仪式。

叶大华委员指出,战略合作意义重大,一是促进测绘地理信息行业发展,二是树立北京的测绘地理信息行业标杆,三是提高测绘服务城市规划管理水平。他提出两点希望:一是双方依托一批现有项目加强合作;二是围绕政府、规划和民生保障等需求,策划和推进一批新项目,提供有力的测绘地理信息保障服务。

宋超智副局长对战略合作框架协议的签署表示祝贺,他提出三点要求,一是双方强强联合,实现“一加一大于二”;二是在业务上取长补短、优势互补,实现共赢;三是开展全方位合作,注意相互学习借鉴,力求取得事半功倍的效果。

(来源:http://www.smibj.com)

Research on Rapid 3D M odeling Technology Based on Rules

Xie Nian,Xiang Yu,Xu Tingwei
(Chongqing Cybercity Sci-tech Co.,Ltd.Chongqing 400020,China)

The traditionalmodelingmethods by hand to establish fine 3Dmodel,effect is good,but the long construction period,high cost.This paper introduces the Esri CityEngine platform,rule based modelingmethod,focuses on building and roadmodeling ideas,use of the existing GISdata,based on rules for fastautomaticmodeling,improves themodeling efficiency,for three-dimensionalmodeling provides a new means.

esri cityengine;3D modeling;GIS

1672-8262(2013)04-5-04

P208.2,TP391.9

A

2013—01—14

谢年(1985—),男,工程师,主要研究方向为地理信息系统应用、空间数据处理建库。

重庆市科委重大科技攻关项目(cstc2012gg-yyjsB40006)

猜你喜欢

纹理建筑物对象
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
邻近既有建筑物全套管回转钻机拔桩技术
现代中小河流常用有坝壅水建筑物型式探讨
基于BM3D的复杂纹理区域图像去噪
描写建筑物的词语
使用纹理叠加添加艺术画特效
攻略对象的心思好难猜
TEXTURE ON TEXTURE质地上的纹理
基于熵的快速扫描法的FNEA初始对象的生成方法
消除凹凸纹理有妙招!