基于CityEngine的校园三维模型建模研究

2015-01-13 03:13甘肃农业大学资源与环境学院地理信息系统系朱小燕谷中仁
电子世界 2015年21期
关键词:甘肃农业大学建筑物建模

甘肃农业大学资源与环境学院地理信息系统系 王   璐 朱小燕 谷中仁

基于CityEngine的校园三维模型建模研究

甘肃农业大学资源与环境学院地理信息系统系 王 璐 朱小燕 谷中仁

基于CityEngine三维设计平台,以甘肃农业大学为例,利用教学楼内外部底面投影数据,研究了CGA规则快速生成建筑物外部的基本流程,并进一步实现了室内的精细建模,从而快速高效的实现了校园三维可视化,体现了校园地理信息的一体化集成,为设计鲜活的三维校园提供了全新的手段和解决方案,扩展了参数化建模的应用领域。

CityEngine;三维数字校园;建模;CGA规则

1  引言

如何以三维方式构建和显示真实地理世界的各种现象己成为当今GIS发展的一个热点议题,三维GIS应运而生。计算机科学、网络和通讯技术的迅猛发展,加快了校园信息化建设的步伐,三维数字校园的建设已受到全国高校的热捧。构建精美又逼真的三维场景是三维数字校园的关键。传统3D建模软件(3DMax、CAD、Sketchup等)所采用的建模技术主要是手工建模,结果往往是较为静态的、固化的模型。这种建模技术仅能用于立体视觉表达,并不能满足三维空间分析、属性查询等深层次的应用与研究,不具备快速、批量地生成建筑物模型的特点,导致资源的极大浪费,且建模周期长[1]。CityEngine是三维建模软件中的新成员[4]。它是基于CGA规则快速批量生成三维模型,可利用GIS二维数据快速创建三维场景,并能高效的进行三维规划设计,能与ArcGIS完美结合,提升了ArcGIS三维建模能力,缩短了建模周期[5]。

随着城市化的迅速发展,建筑物的外观越来越复杂,对模型精细程度的要求也就越高,成为当前需解决的问题。目前,对于三维建模方法的研究已十分广泛,但大都只是在阐述和探讨建筑物外部模型的理论与方法,很少涉及到复杂建筑物内部的精细建模,满足不了用户更高的需求[3]。因此,基于CityEngine三维建模的相关课题研究适应了三维技术发展的趋势,具有重要的理论和现实意义。

2  基于CityEngine的三维建模原理与过程

基于CityEngine的建模是通过编写CGA规则激活当前二维数据对象,驱动生成三维模型。它提供交互、可视化的对象属性参数接口设置面板,用户仅需改变建筑的高度、楼层数等参数即可创造多样化的模型。因此首先要了解CityEngine特有的CGA语言及其建模的基本过程。

2.1 CGA规则

CGA是一种独特的编程语言,是计算机生成建(Computer Generated Architecture)的缩写。它包含了一系列决定模型如何生成的CGA规则,是CityEngine最核心的一个功能。CGA规则建模的基本思想是定义规则,并反复优化设计更多的模型细节[3]。当一个CGA规则被赋予了一个shpae要素后,模型按照自定义的参数自动生成。基于CGA规则建模的基本思路如图1所示。

图1  CGA规则建模示意图

图2  CityEngine三维建模基本流程

2.2 CGA规则常用命令

extrude(Height)拉伸

i(“**.obj”)替代模型

comp(z)切分函数

split(z)分割函数

2.3 CityEngine三维建模流程

将ArcGIS 产生的二维GIS数据导入CityEngine中,建立各地物模型,再对初步的模型进行细节优化、拉伸、形状的调整及纹理贴图等处理,最终实现三维校园场景的发布。基本流程如图2所示。

3  建筑物模型的创建

3.1 建筑物外部立面模型的建立

建筑物模型的创建是构建三维校园场景的主要内容,建模的质量好坏直接影响到三维可视化的效果。其基本思路是首先定义建筑物的属性,再用extrude函数按实际高度沿Y轴进行拉伸,确定建筑物的总体框架。然后利用comp命令将建筑物进行拆分,采用split分割函数进行更为精细的剖分,最后用texture对细节对象进行纹理贴图。核心代码如下:

//定义参数

attr Floor=5 //定义楼层数

attr Groundfloor_Height=5//建筑底层高度

attr Floor_Height=4 //楼层高度

Building_Height=Groundfloor_Height+Floor*Floor_He ight//建筑物高度

Lot-->

extrude(Building_Height) Building//建筑物体块

Building -->

split(y){Groundfloor_Height:FVolume|{(Floor_Height):

FVolume1}*}

//建筑体块创建与建筑立面、顶面拆分

FVolume-->

comp(f){side:floorside(comp.index)|top:topface }

//判别建筑立面

floorside(number)-->

case number==1:side

else:x

side-->split(x){~1.5:wall|{~4:tile }*|~1.5:wall}

效果如图3所示。

图3  甘肃农业大学工学楼

3.2 建筑物室内的精细建模

三维模型的创建不仅体现在外观上,往往也要展现出室内的真实画面,室内的精细建模对于延伸数字校园的应用是不可缺少的环节。为实现三维数字校园系统的内部查询,能够在建筑物室内进行漫游,以人的视角来观看建筑物内部的“真实”环境,需进行内部精细建模。以甘肃农业大学3号教学楼为例,利用教学楼教室底部投影数据,经comp、split、extrude、NIL、texture等基本命令,构建教室内课桌、凳子、黑板及楼梯等内部模型。通过创建一组规则集用于描述内部各楼层的结构,再经多次调用来创建相同或相似设计的多个楼层。核心代码如下:

//对教室地面shape进行拆分

bottomside-->

split(y){~1:wall|~10:kface|~1:wall|~2:platform}

//课桌、凳子的建模

kface-->

split(x){~0.2:wall|~3:seat|~1.5:wall|~6:seat |~1.5:wall|~3:seat|~0.2:wall}

seat-->

split(y){~1.5:Ldesk|{~1.5:desk}*|~1.5:Fdesk}

Fdesk-->

split(y){~1:wall|~0.8:Fd}

Fd-->

extrude(1)

comp(f){back:fback|bottom:bm }

fback-->

split(y){~1.5:TLeg|~0.5:Tpocket}

效果如图4所示。

图4  教室内部模型

//楼梯的建模,使用递归函数创建楼梯台阶,核心代码如下:

attr Fact = 0.85

attr Depth = 0.2

attr Stop =6

bside-->

extrude(0.20) X

comp(f){side:side(comp.index)|top:xc}

xc-->

case(scope.sx > Stop) :

s('Fact,'Fact,0)

center(xz)

alignScopeToGeometry(yUp, 0) extrude(Depth) X

comp(f){top:xc}

else:NIL

效果如图5所示。

图5  楼梯

4  三维场景的发布与浏览

CityEngine发布Web场景主要有两种方式:①发布到ArcGIS Online云端进行共享,直接通过 CityEngine Web查看器进行浏览;②导出为CityEngine Web Scene格式,即.3ws文件,发布成功后作为本地资源,仅需在本地计算机上进行相关配置即可浏览[6]。经两种方式发布Web场景后,用户可方便的在浏览器中与三维场景交互,场景如图6所示。

图6  甘肃农业大学校园场景

主要有以下功能:

①用户可通过放大、缩小、旋转、平移等操作改变视点来导航整个校园的全局或局部景观,给人一种漫步在校园的真实感。

②通过鼠标点击某个建筑,可查询显示该建筑的元数据信息,如楼高、楼层、名称等属性,还可通过输入兴趣地物进行查询,实现动态定位。

④通过校园三维虚拟化漫游,可虚拟浏览校园的各个角落,找到各教学楼、办公楼等,更好的为广大师生服务。

⑤实现校园光照调节的功能。利用季节和时间的变化模拟了校园三维场景不同时间的光照射入量,可通过设置工具进行阳光的调节,实现不同时间点的日光影响下校园三维景观。

⑥可方便的进行屏幕截屏。

5  结语

以CityEngine为平台的建模方式,在构建三维模型方面具有简单、快速而又美观的特点, 解决了校园场景的扩建与重建问题,实现了模型场景的动态展示功能及良好的交互和显示功能,从而为广大用户提供更多的体验和服务,增加对学校的了解。基于CityEngine建模技术已越来越成熟,它的优越性也将逐渐受到大众的关注和认可,有着更加广阔的发展前景。

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

[2]吕永来,李晓莉.基于CityEngine CGA的三维建筑建模研究[J].测绘,2013,7:91-94.

[3]韩东成,唐志敏,张守文.基于CityEngine与CGA规则构建3D室外及室内精细模型的研究[J].电子世界,2014(11).

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

[5]王俊伟,简季,周云帆.数字校园应用中CityEngine快速参数化三维建模研究[J].测绘,2014(4).

[6]陈科,胡海莉,等.基于ArcGISServer与CityEngine构建的虚拟校园与校园地图导航[J].中国科技投资,2014,A07:4-6.

朱小燕(1981—),硕士,甘肃农业大学资源与环境学院讲师,研究方向:GIS空间分析、系统开发。

甘肃农业大学盛彤笙基金(编号:GSAU-STS-1416)。

王璐(1993—),女,甘肃白银人,大学本科,现就读于甘肃农业大学资源与环境学院地理信息系统系,研究方向:地理信息系统。

谷中仁(1991—),男,甘肃武威人,毕业于甘肃农业大学资源与环境学院地理信息系统系,ESRI中国西安分公司公司职员。

猜你喜欢
甘肃农业大学建筑物建模
邻近既有建筑物全套管回转钻机拔桩技术
现代中小河流常用有坝壅水建筑物型式探讨
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
弘文立教 校史育人——甘肃农业大学校史育人的实践探索
描写建筑物的词语
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
甘肃农业大学教师课堂教学质量评价改革述评
高校学生社团组织育人功能的思考——以甘肃农业大学为例
致谢