虚拟城市建筑模型快速构建方法研究

2010-04-18 06:53魏翔彭清山
城市勘测 2010年6期
关键词:属性数据纹理建模

魏翔,彭清山

(武汉市勘测设计研究院,湖北武汉 430022)

虚拟城市建筑模型快速构建方法研究

魏翔∗,彭清山

(武汉市勘测设计研究院,湖北武汉 430022)

随着虚拟现实技术的发展,虚拟城市作为数字城市的重要组成部分也得到了快速发展。而虚拟城市建设的主要内容就是大量城市三维模型的构建,因此如何提高建模效率一直是虚拟城市建设者努力的方向之一。本文提出了一种基于二维数据的建筑模型快速构建方法,在利用程序自动化建模方面做了尝试。

虚拟城市;建筑模型;快速构建

1 引 言

随着城市快速发展,人们对全面了解和认识城市的要求越来越高,传统的地图、影像和视频等信息媒体已经不能满足人们更高层次的要求,而虚拟城市的出现解决了这一问题,它可以将整个城市用虚拟现实的方式展现到人们面前,甚至还可以追溯城市历史,推演城市变迁过程。

所谓虚拟城市是指以计算机技术、多媒体技术和大规模存贮技术为基础,运用3S技术、遥测、仿真-虚拟技术等对城市进行多分辨率、多尺度、多时空和多种类型的三维描述,用于模拟和表达城市地形地貌、城市道路、建筑、交通、水域等城市环境中的现象和过程[1]。虚拟城市是对真实城市的数字化三维重现,其重点在于城市三维模型的构建。而对于一个城市而言,建筑数量往往多达几十万栋,进行如此大规模的建筑模型构建,工作量十分巨大,因此,寻求一种快速高效的建模方法是虚拟城市建设的关键问题之一。

2 建模方法

目前,建筑模型构建方法主要有三种:①通过二维数据结合高度属性进行建模。②通过影像建立立体像对获取三维数据进行建模。③通过三维激光扫描获取点云数据直接进行三维重构。其中第一种方法是直接利用现有数据进行建模,而后两种方法都需要重新进行数据采集和生产。

在城市的发展建设过程中,城市规划和测量单位积累了十分丰富的基础地理数据,充分利用这些已有的二维数据和属性数据进行三维建模,不仅能够提高生产效率,同时也提高了数据的利用价值,是当前一种比较经济可行的建模方法。

本文以二维数据与其高度属性值作为建模数据源,使用3ds Max脚本语言开发的快速建模程序自动完成简单模型的创建和贴图,最后可根据需要对模型进行检查和整饰,具体建模过程如图1所示。

图1 快速建模流程

3 数据准备

3.1 二维数据

二维数据通常包括GIS、地图和CAD等平面图形数据,这些数据都经过精确测量和定位,可以作为三维建模时的底线图。由于这些平面图形数据中还存在一些误差或错误,因此,首先需要对图形数据进行检查,以保证二维数据的合理性和正确性。例如,一栋建筑的边界线应该是一条连续且闭合的曲线,不应该出现交叉或重叠的情况。本文在数据转换过程中,将建筑图形数据定义为一组依次记录各个顶点坐标值的坐标串,以便在3ds Max软件中能够准确的还原出建筑边界线。

3.2 属性数据

建筑属性数据主要来自测量、调查以及其他文件资料,对于建模相关的属性数据主要包括表1所示数据。

建筑属性数据 表1

建筑ID是每栋建筑的唯一标识符,用来关联其图形数据、属性数据以及模型数据。建筑楼层数据必须提供,通过贴图方法,将反映出建筑模型层数特征,同时,如果无法提供正确的建筑房顶和基地高程,那么建筑高度将由楼层数乘以单层高度推算得出。房顶类型可根据城市建筑特色选取特征房顶结构进行分类,例如:平顶、双坡屋顶和带女儿墙的平顶等。由于建筑表面材质和基调色各不相同,所以应分别区分为几类,然后以建筑表现出的主要材质和颜色进行归类,如建筑表面材质可分为砖墙、瓷砖、石材、玻璃幕墙等,建筑基调色分为白、灰、黄、红、蓝等。

在数据转换文本中也包括以上属性信息,建筑ID和楼层数是必须要准确提供的数据,其他属性数据如果不能提供,则以默认值作为其属性值。

3.3 纹理数据

(1)由图片素材制作纹理

城市建筑中的大部分墙面、门、窗的样式和颜色都比较固定,具有一定的相似性。因此,可以从已有的图片素材库中选取符合要求的图片,再进行加工处理后,制作成自己需要的纹理,如图2所示。这种方法制作速度快、纹理分辨率高,图像清晰美观并且可以多次重复使用。

图2 由图片素材制作的纹理

(2)由实际照片提取纹理

如果需要体现模型的真实性,那么就需要从建筑物照片中提取纹理。但是,实际拍摄的照片受拍摄角度的限制,照片大多是以透视角度成像的,如图3所示,而贴图需要的是正射纹理,因此需要对照片进行纠正处理。另外受光影和其他物体遮挡的影响,还要对照片进行裁切、修补和色彩还原等处理,才能完成纹理制作,如图4所示。这种方法制作的纹理体现了较强的真实感,但拍照和纹理制作将消耗较长工作时间。

图3 实际拍摄的照片

图4 由实际照片提取的纹理

4 建模流程

4.1 动建模方法

在3ds Max中,通过程序读取带有建筑属性值和建筑边界线顶点坐标值的数据文件,数据文件定义为txt格式,文件中一行数据表示一个建筑模型,每个建筑模型的数据之间以“;”分割。

主要脚本代码如下:

获取数据后,即可由顶点坐标值创建出建筑边界线,形成闭合曲线,然后根据基底高程和房顶高程获得建筑高度,通过Extrude方法挤出模型体,最后,根据建筑属性值为模型赋予材质纹理。

4.2 默认贴图方法

建模过程中,程序会根据属性数据中提供的信息,自动完成模型贴图。一般情况下,对于一个建筑模型的贴图是以“面”贴图方式进行的,如图5所示,在垂直方向上,以建筑的楼层数据为准,有多少层结构,就将贴图的重复次数调整为多少次,以垂直方向上的窗户数量表现楼层数。而在水平方向上,将建筑模型立面区分为建筑纵墙(沿建筑物长轴方向布置的墙)和山墙(沿建筑物短轴方向布置的墙),在模型纵墙墙面上,根据面的大小确定贴图样式和次数,较大的面上贴图的窗户数量也较多。而在山墙面上,一般不设置窗户,以墙面纹理为主,当山墙面较大时,可设置一列窗户或两列窗户。

主要脚本代码如下:

以上代码将完成建筑模型一个立面的自动贴图,如图6所示,依次循环选择建筑模型的各个立面,即可完成整个建筑的默认贴图。

图5 “面”贴图方式

图6 模型立面自动贴图

4.3 人工整饰

建筑模型虽然可以自动完成建模和贴图过程,但是贴图样式比较单一,缺乏真实感。如图7所示的模型就是利用程序自动完成贴图后的模型,如果该建筑是普通居民住宅或工厂仓库等建筑,只要求能够反映出建筑体和基本色调,那么可以通过这样的简单模型来表示。而如果该建筑是重要建筑或临街建筑,这样的效果显然不能满足虚拟城市的建设需要,因此,应该根据实际情况,进行人工整饰,通过调换纹理样式和颜色,或用照片纹理替换默认纹理的方法来增加模型真实感。图8所示的模型就是经过人工整饰后,赋予照片纹理后的模型效果。

图7 程序自动完成的模型

图8 人工整饰后的模型

5 结 语

目前,虚拟城市的建设正处于起步阶段,其方法和技术也在试验和探索中。根据用户需求的不同,三维模型的构建方法也各不相同,但是,快速高效、真实美观、精简平衡是所有建模工作者努力的方向。本文以提高建模效率为目的,提出了基于二维数据的建筑模型快速构建方法,这是在利用程序自动化建模方面做的初步研究。借鉴这种思路,还可以将程序建模方法逐步推广到水系、道路、植被、景观小品等其他模型的快速建模方面。

[1] 刘晓艳,林珲,张宏.虚拟城市建设原理与方法[M].北京:科学出版社,2004

[2] 王华.3ds MAXScript脚本语言完全学习手册[M].兵器工业出版社,2006

[3] [美]Kelly L.Murdock,田玉敏,沈金河译.3ds Max8宝典[M].北京:人民邮电出版社,2007

[4] 孙家广,杨长贵.计算机图形学[M].北京:清华大学出版社,1998

[5] 邬伦,刘瑜,张晶等.地理信息系统——原理、方法和应用[M].北京:科学出版社,2006

Research on Rapid Modeling Method for Architectural Model of Virtual City

Wei Xiang,Peng QingShan
(Wuhan Geotechnical Engineering and Surveying Institute,Wuhan 430022,China)

With the development of virtual reality technology,virtual city that is an important component of digital city has obtained fast development.The main work of virtual city is to construct a large number of 3D models,so how to improve the efficiency is always one of hard efforts of virtual city construction.This paper provides a rapid modeling method based on 2D data to construct architectural model of virtual city,and presents an automatic modeling technology using computer program.

virtual city;architectural model;rapid modeling

1672-8262(2010)06-23-03

P208

B

2010—01—27

魏翔(1980—),男,工程师,主要从事虚拟城市的建设与研究工作。

猜你喜欢
属性数据纹理建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
基于BM3D的复杂纹理区域图像去噪
基于GIS的房产测绘管理信息系统架构研究
无源多传感器综合数据关联算法研究
属性数据分析教学改革初探
使用纹理叠加添加艺术画特效
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!