CityEngine CGA语言的高速铁路程序化三维建模
摘 要:借助于CityEngine CCA语言规则,实现了高速铁路程序化三维建模,与传统手工建模相比较,该模型在建 模效率、模型质量、模型复用性等方面做出了改善。通过对CCA语言的研究,依托盒模型原理,将高速铁路模型 瓦解,划分为桥墩、桥体、桥面3个部分,根据各部分特点,综合使用comp( ) . split ( ) . envelope ()等函数,最终生成 准确、真实的铁路三维模型,在城市级三维系统中再现铁路建造后场景,辅助沿线的房屋拆迁、道路改造,从多角 度评估、分析改造方案,为精准规划、科学决策提供数据支撑。
关键词:CityEngine CGA ;高速铁路;程序化建模;连淮扬镇;规划决策
基于CityEngine CGA语言可以实现高速铁路的程序
化三维建模,基于桥墩二维点带高度信息,点连线,线成 面,面变体,精准再现铁路三维模型,相比较传统手工建 模,使得大量现有的基础GIS数据不需要转换即可使 用⑴,构建的铁路三维数据真实再现设计方案,后期还可 以支持铁路三维模型复杂性定制,提供可控、自由的定制 方案,适配不同体量的数据加载。
1总体思路
CGA ( ComputerGeneratedArchitecture )作为 CityEngine 语言,建模思路是基于二维地理信息数据,运用规 则脚本进行模型构建,通过循坏迭代,从而实现三维模型 的由简入繁,创造更多的细节⑵,如图1所示。
The modeling principle of CityEngine CGA
基于CityEngine CGA语言的高速铁路自动化三维建 模在分析铁路设计方案的基础上,提取铁路桥梁墩台的 中心,存储为点状要素,在该要素创建编号、高度和旋转 角度属性字段,记录各个桥梁墩台的编号、高度和旋转角 度,使用ArcGIS的要素转3D工具,根据要素的高度和编 号次序,创建带三维高度数值的铁路桥梁墩台点和铁路 中心线,在该三维点和三维线导入CityEngine后,根据铁 路设计方案展成带高度的三维面,依托CGA脚本语言,在 三维面生成三维规则体后,进行循环迭代,先后生成桥 墩、桥体、桥面乃至铁路接触网支架等细节。
Fig. 2 The construction flow chart of railway 3D model
2 基于CityEngine的高速铁路程序化三维 建模
2.1数据准备
在准备三维点和二维线的同时,使用3dMax软件制 作桥梁墩台和铁路接触网支架等基础部件,带贴图导出 为Obj格式,一并制作路基、铁轨、栏杆等纹理贴图,作为 连淮扬镇高速铁路三维模型基础数据⑶c
- 2总体布局
连淮扬镇高速铁路镇江段三维模型总体可以分为3 大部分,如图3所示。
2.3数据预处理
将三维点和三维线导入CityEngine项目工程,在三维 线节点选择状态下,选中所有节点,在Intersection Parameters 中设置type为Junction(连接点模式),cornerSlyle设置 为Arcs(弧形模式),在线形选择状态下,选中所有线段, 在Street Parameters中设置Street Width宽度为6,其他默认
‘桥墩
铁路 桥体
栏杆
,桥面 检修通道——接触网支架
■路基
图3铁路模型分类
Fig. 3 The classification of railway model
设置为0,打开Shapes面板,可见铁路三维中心线展成带 指定宽度的三维面。
在CGA文件头部加入约定属性,事先定义桥体高度、 检修通道宽度等接口字段,便于后期调整铁路模型 尺寸*
规则如下:
CityEngine CGA语言通过循环迭代实现复杂模型程 序化制作,将以往工作繁琐、重复度高的铁路尤其是高速 铁路三维模型制作过程简单化,实现一次编程多次使用, 且适用地铁、高架桥、道路等三维建模,后期根据场景范 围还可以个性化定制铁路三维模型复杂度,使得大量现 有的基础G1S数据不需要转换即可使用,为高速铁路项目 的规划决策提供了技术支持。