1、1虚拟城市中地物几何建模技术的研究万 刚、陈 刚、游 雄(解放军信息工程大学测绘学院 郑州 450052)A Research on Terrain Geometry Modeling for Virtual CityWan Gang 、Cheng Gang、You Xiong(Institute of Surveying and Mapping ,Information Engineering University,Zhengzhou,450052)Abstract The technique of terrain geometry modeling is one of the most i
2、mportant research fields in the simulation of virtual terrain scene .This paper discuses the techniques of configuration modeling、texture mapping in detail,and builds a 3-D model named “virtual block”.Key Words geometry modeling,texture mapping ,terrain matching摘 要 地物的几何建模技术是虚拟地景仿真中最重要的研究领域之一。本文重点对几
3、何形态建模、纹理映射建模等技术进行了较为详细的论述,并建成了“ 虚拟小区”三维视景模型。关键词 几何建模,纹理映射,地形匹配分类号 P2091.问题提出及研究目的近年来,数字省市、数字城镇很快已经成为世界各国发达省市和地区 21 世纪的发展战略、争先抢占科技、产业和经济的制高点之一。为了加速城市的发展,提高管理水平,需要借助于现代化的科学手段进行城镇体系规划与管理 1。据目前对我国大部分城市的摸底调查,除少数大、中城市已建立了城市管理信息系统外,而绝大部分地区的空间信息管理手段仍然沿用比较落后的手工操作方式,即便是用一些地理信息系统(GIS)管理着空间数据,但仍停留在简单的二维数据管理、显示的
4、基本功能,分散地、相对独立地和非标准地管理模式,很难进行地域管理的三维综合研究和空间分析,使各级领导部门不可能及时地得到对空间的清晰、直观的认识。另外,城市规划设计的主要研究对象是城市的体形结构与各个要素,在设计过程中需要进行大量的空间形象思维。同时,在设计中又应以城市的使用者的感觉为核心,分析城市设计各空间要素之间的关系。传统的城市模型只能获得城市的鸟瞰形象;效果图只能提供静态局部的视觉体验;动画不具备实时的交互性,人是被动的,并且制作周期长。这些传统技术只能实现简单、固定的演示功能,尚不能很好地满足当前城市设计的需要。另外,随着空间范围的扩大,传统的方法也无法胜任空间数据的管理和维护 3。
5、同样,在城市中存在大型的港口、工厂、地下管网、人防设施等部门,它们具有地形起伏较大、管网密集、需要精确定位等特点,用传统二维的表示方法很难加以描述和信息管理。2虚拟环境是由计算机生成的,通过视、听、触觉等作用于用户,使之产生身临其境感觉的交互式视景仿真。从二维地图、沙盘、动画,到虚拟视景仿真是一个合乎人们认识深化和技术发展趋势的必然结果 3。美国目前已经有 50 个城市计划建立了“数字虚拟城市” 。我国北京、上海、香港、台北、深圳、广州、南海、厦门市等也正在积极筹建之中。普遍认为,3D-GIS、空间视景数据库的建立是建立数字虚拟城市首先要解决的问题。国际上已经专门成立了类似组织,主要为城市服务
6、。如德国的 Rostock、Stuttgart 等研究机构,对一些城市进行了研究,建立了原型系统。现阶段,虚拟仿真技术应用于城市规划管理主要存在以下几个需要迫切加以解决的问题:1) 、基于 PC 环境的 VR 系统运行速度问题。单纯靠硬件技术的提高来进行大规模、海量数据的三维模拟和空间数据库操作是不现实的,必须建立一种管理超大空间数据的管理机制和显示机制,能够满足在微机平台上实现显示的适时性。2) 、大范围城市 VR 应用。这里需要解决两个问题:一是大范围城市的三维建模问题,仅靠 3DMAX 等三维建模工具制作单体模型尚可,但大规模的建模是不现实的,而国外的MultiGen 等软件价格昂贵。我
7、们必须提供基于地图、地图数据库、影像的三维视景建模工具,根据标准的二维地图数据再补充上相应的绝对高程、相对高程,通过算法实现其三维几何模型的构造及与地形的匹配;并将属性数据与空间实体挂钩,实现空间信息与属性信息的自由连接,最终建立视景数据库。第二是大范围城市模型的三维显示问题,必须采用高效的数据管理机制和算法,使得系统依然保持一个可以接受的交互速度。3) 、虚拟城市系统如何在城市建设和规划管理中应用。进一步的工作包括针对城市的规划、管理、建设工作,在系统原型上挂接专业模块,将新的建设项目放到系统中来考察其的合理性;将已有的各种专题数据库的数据在三维场景中加以空间定位,进行分析和管理。4) 、网
8、络环境下 VR 系统的应用问题。在目前网络瓶颈前提下,我们设计系统结构与框架必须考虑网络传输、应用的需要,实现网络空间数据库的建立和三维浏览器。由于篇幅有限,本文主要对虚拟城市中地物的几何建模技术进行论述。2.系统框架及视景数据库中几何数据模型我们提出的“虚拟城市地理信息平台” (VRCity GIS)就是城市规划、建设、管理与服务数字化工程的重要组成部分,它是综合地运用 GIS、遥感、遥测、网络、多媒体及虚拟仿真等技术,对城市内的基础设施、功能机制进行自动采集、动态监测管理和辅助决策服务的技术系统。系统结构框架如图 1。系统主要由三部分组成:视景数据库创建模块(Scene Creater)
9、、实时视景驱动模块(Scene View) 、各种应用组件(Component) 。视景数据库创建模块的功能就是实现了对各场景要素的数字式编辑,采用统一的地理坐标系;实现多种标准格式的 DEM 数据源的导入和地形生成;“所见即所得”的几何数据编辑方式,实现了对地形、地物、运动模型、特效等多种场景要素的全方位编辑;城市建筑目标Scene Creater Scene ViewScene DBComponent1Component2ComponentN图 1 系统构成框架3的自动生成及纹理映射;提供属性数据库的挂接,各种属性数据的综合及融合。这里我们采取了以大比例尺地图、大比例尺地图数据库作为数据源
10、进行三维建模的方法,与采用数字摄影测量获取三维空间数据 7 8方法有所区别。视景数据库采用文件系统与关系数据库混合管理的模式,建立数据库的 LOD 级别管理和分块管理机制。 图 2 给出了三维视景数据库工作流程。3.几何建模技术实体的几何建模技术是虚拟地景仿真中最重要的研究领域之一。虚拟地景中可见实体很多,从模型种类可以简单分为:地形模型、地物模型、复杂实体模型三种;从数据结构上包括:规则网模型(地形) 、三角面模型(地物和复杂实体) ;从几何建模技术上可以分为:几何形态建模和纹理映射建模两种,这两种技术往往是组合使用的。3.1 地物的几何建模技术3.1.1 居民地的三维模型:在大比例尺地形环
11、境仿真中,房屋模型构造是主要工作之一。对箱体式房屋的建模来说,建筑物可以看作屋顶面和各个铅直外墙面的组成。3.1.2 同高程的水域平面三维模型:对诸如河流、水库等面状水系要素,一般来讲,其特点为:有明确的边界条件且范围内高程值几乎没有变化,其模型构造也可通过边界多边形的大比例尺地图数据库纹理数据地 形地 物房 屋道 路水 系土 质植 被管线垣栅公共设施三维建模与编辑平台属性数据关系数据库多媒体数据库大比例尺地图三维视景数据库图 2 三维视景数据库工作流程2D Point2D Line2D Area二维平面三维视景体3D Point3D Line3D Trigon3D Mesh3D Surfac
12、e3D Entity图 3 三维视景数据库几何数据模型4三角剖分来实现,保证其法向量向上。3.1.3 复杂三维实体的构造:目前,对于复杂三维实体模型的构造基本上基于3DMAX、CAD、MultiGen 等商业软件,利用其灵活的建模工具创建三维模型,并通过.3ds、.dxf、.x、.dwg 等文件实现数据的交换。这些文件中已将模型剖分为空间三角网,我们只需将这组数据以一定的比例、角度在通过旋转、平移、缩放在空间坐标系中定位。3.2 纹理映射建模技术在目视条件下,存在大量的不规则物体需要模拟:如树木、花草、路灯、路牌、栅栏、桥梁、火焰、烟雾等,它们是构成地形环境、提高模拟逼真度必不可少的部分。我们
13、可以采用纹理映射技术较好地模拟这类物体,实现逼真度和运行速度的平衡。纹理的意义可简单归纳为:用图像来替代物体模型中的可模拟或不可模拟细节,提高模拟逼真度和显示速度。以 OpenGL 中的纹理映射技术为例,纹理映射中,几项关键技术必须加以解决:3.2.1、透明纹理映射技术:透明纹理是通过纹理技术和混合技术共同实现的 4。所谓融合技术(blending)指通过指定源和目的地颜色值相结合的融合函数,最后的效果使部分场景表现为半透明。3.2.2、各向同性:透明单面的显示机制有两种类型:如桥梁的侧面、车站牌等,本身的厚度可以近似为零,即视点从它们的侧面看,只是一个单面;而树木等物体则不同,本身的厚度不可
14、忽略,视点从任何角度的侧面看,都应类似一个锥体或柱体的形状。在忽略这类物体各个侧面外观不同的条件下,可通过下面方法予以解决:方法 1:采用两个相互垂直的平面,分别映射相同的纹理(图 4 a) ,因其角度间隔为 90度,所以在不同角度总可以看到相同的树木图像。但如果视点距离树木很近时,则会看出破绽;或者被映射的不是树木这些具有不规则边界物体的纹理,而是如邮筒等较规则物体,此方法也是行不通的。方法 2:并没有采用两个或多个相互成夹角的平面,分别映射相同的纹理,仍然只采用一个平面映射纹理,所不同的是在显示时赋予该平面“各向同性”的特性(图 4 b) ,即随时根据视线的方向设定该平面的旋转角度,使其法
15、向量始终指向视点。这种方法对于纹理具有规则边界的物体同样适用。3.2.3、纹理捆绑:OpenGL 允许在缺省的纹理上创建和操纵被赋予名字的纹理目标。纹理目标的名字是无符号整数。每个纹理目标都可以对应一幅纹理图象,也就是说可以将多幅纹理图象绑定到当前的纹理上,通过名字使用某幅纹理图象 4。图 5 给出模拟爆炸效果的十幅图象,将它们按一定顺序以一定的时间间隔显示出来,并采用透明纹理映射技术和各向同性技术,即可模拟一次爆炸过程。应用这种技术到火焰、烟雾等的不定型物的自然景观的模拟上,与其它模拟算法(如:粒子系统)相比,大大简化了系统资源的使用。这种技术应用的效果很大程度上取决于纹理图象的质量。3.2
16、.4、不透明单面中的纹理映射:这种典型的纹理映射方式可以大大提高模型的逼真度,一方面赋予模型丰富的色彩、贴图特征;另一方面通过纹理的图象模拟出丰富的细节,简化模型的复杂程度。下面就几种典型应用予以介绍:图 4 各向同性的两种方法(a) (b) 图 5 纹理捆绑的例子5图 6 经过图像处理的地形纹理 天空和远景模型:这是一种典型的应用。在环境仿真中,往往要求天空的呈现出晴、多云、阴、多雾,还有清晨、黄昏等效果;而视线尽头的远景根据近景地形有诸如海洋、山脉、平原等等效果。这种模型具有的公共特征是:与视点距离很远,没有细节的要求,只强调表现效果。我们通过在地形的边缘构造一周闭合的、由若干多边形组成的
17、“围墙” ,而在相应四边形上映射相应的纹理,实现该方向上远景的模拟。同样,对天空的模拟,采用加盖一个四边形或棱台作为“屋顶” ,在表面上映射相应天气效果的纹理。这样,当视点在这个由地形、边界立面、顶面组成的盒子内移动时,加上适当的光照效果,我们就可以感到强烈的远景、天空所产生的纵深感。为了增强动态感,可以采用纹理变换的方法实现动态移动的天空云彩。同样的思路,采用增加高度扰动的高度场加纹理变换的方式可以实现动态的海面模拟。 地形模型表面的纹理映射: 地形表面也不是单一色彩的曲面,存在着诸如植被、道路、河流、湖泊、海域、居民地等大量的要素信息。在比例尺很小的情况下,即视点位于很高的位置对大范围区域
18、的地形进行观察时,这些要素信息的高度信息已经不重要,可以通过纹理映射的方式将其表现出来,通过与地形模型数据的叠加反映出这些要素的空间位置关系。这个纹理本身已是一幅正射立体图(图 6) 。 房屋模型表面的纹理映射:房屋的表面并不是一个简单的平面,而是具有门窗、涂层、框架结构的复杂图案表面,这些房屋模型的细节如果也采用三维模型来表示,将大大增加模型的复杂度,通过纹理映射的方法来模拟出这些细节。 复杂模型表面的纹理映射: 诸如飞机、大炮、装甲车之类的复杂几何模型表面上的迷彩、军徽甚至细小结构均可通过纹理映射的技术将其表现出来(图 7) 。不过这里的纹理的映射要复杂的多,目前必须依靠诸如 3DS、Mu
19、ltiGen 等专业软件中强大的纹理映射功能,建立纹理的不同部分与模型的不同部位之间的坐标映射关系和映射属性(如透明) 2。3.2.5、纹理拼接:在视景仿真系统中,纹理的使用可以大大简化复杂模型的建模工作,但如果大量纹理的使用或者高分辨纹理图象,均会给系统带来沉重的负担。可以采取的策略是:将大纹理拆分为若干小范围纹理,然后寻找具有代表性的纹理图象作为拼接因子,这样就可用这若干小图象拼接出一幅大图象的效果,这是一种很实用的技术。典型的应用是在地形纹理映射上,用几种小纹理图象即可模拟出一片班驳、荒凉的地形来;同样,根据湖泊、水库的水涯线数据及可调用几种小纹理模拟出一片辽阔的水域(图 8) 。图 7
20、 复杂模型的纹理映射图 8 用于纹理拼接的几种小纹理63.3.地物模型与地形模型的匹配在地球引力场的作用下,任何地物模型总与地形发生不同程度的关系,即地物一定要与地形进行匹配。在实际三维场景的构建中,如果地物没有与地形相融合(或匹配) ,就会造成诸如地物飘在空中或钻入地下的情景。对双方模型匹配的处理是较为复杂的问题,原因在于:一、地物、地形模型往往是通过不同的建模软件生成的,双方的数据结构和组织方式由很大差别(如地形模型常用规则网表示,而地物模型常用三角网表示) ;二、地物模型如何同地形模型准确匹配。在真实世界中,地物的位置是任意的、不受任何限制的;而在视景仿真中,地形是起伏的,而地物的基准面
21、往往是水平的,会出现地物所覆盖的区域跨在两个或多个高度不同的地形三角形面片上;三、不同的视景调度、显示技术对匹配技术的要求不同:如加速遮挡面处理的优先级法不允许一个地物跨越两个或多个地形面片;而地物的 LOD 受地形 LOD 的牵制,当地形从一个 LOD 层次向另一个 LOD 层次过渡时,地形面片的分割将发生变化,地物的数据也必须改变,而不考虑地物的数据是否需要更新 6。在地物与地形匹配方面主要有以下一些策略 5:a、首先在地形模型的选择上,根据应用需要选择规则网或三角网。两种数据结构各有优缺点,这里不再详述,比较成熟的结论是:在中小比例尺条件下,采用规则网结构描述DEM,因为其结构简单,处理
22、负担均衡,磁盘存储易管理,有利于 LOD 的自动生成,另外有利于两者分开建模以及实现地物与地形的自适应匹配;在目视比例尺条件下采用三角网数据结构,它可以精细地刻画地表形态。b、地物与地形的匹配常用两种策略: 直接将地物放置在地形表面上。这一方法最简单和实用,MultiGen 即采用这一方法。这一方法的缺陷在于视景显示时,会出现“争夺 Z 值”的现象,即同一个 Z 值上可能有多个面。 首先生成地形的 TIN 网络,然后逐渐加入地物模型,与地形整合在一起。这种方法的缺点是动态加入地物要完全重构那些受影响的地形块,同时单独实体的管理比较复杂。3.3.1 房屋模型与地形的匹配目视条件下,房屋表现为本身
23、垂直、其基准高随着地形起伏。解决房屋与地形匹配的方法有两种:(1) 、改变房屋模型在与地形的合成中,首先寻找出房屋覆盖的地形面片中的最高点和最低点,然后将模型的水平基准面放在最高点,最后构造房屋基准面之下的模型(图 9a) 。这种方法适用于相对分散的点装特征物与地形匹配上。(2) 、改变地形模型如果大片的居民区,其水平基准面相同,可以通过对地形模型的改造完成。可将多边形内得网格点高程置平,将多边形剖分,并将多边形经过的网格进行重新剖分(图 9b,c) 。3.3.2 道路模型与地形匹配在目视比例尺条件下,道路为一定宽度的平面,而不应表现为一条随地形起伏的曲线,图 9 房屋模型与地形匹配的两种形式
24、(a) (b) (c)7应表现为:道路中心纵截面轴线随地形起伏;道路表面横截面高程相同;周围地形有一定的改造与道路无缝连接。已知:道路中心线(X 1,Y 1,X 2,Y 2Xn,Y n) 、道路宽度 W、DEM 数据,算法如下:步骤 1:求得道路左、右侧边线三维坐标步骤 2:道路面进行大三角面剖分步骤 3:循环求得左右侧边线与 DEM 的所有交点的三维坐标,并将所有交点洒入 DEM 格网中。如 DEM 格网中有 Right 数据,则逆时针形成多边形,并剖分;如 DEM 格网中有 Left数据,则顺时针形成多边形,并剖分;步骤 4:DEM 网格中有数据的剖分,加上道路的简单剖分,即可建立与地形融
25、合在一起的三维道路模型。当然,不同的三角面根据模型性质映射不同的纹理(图 10) 。4.“虚拟小区”中三维模型的建立在前面研究的基础上,我们尝试建立“虚拟小区” 。在工作过程中,遇到的最大的问题是:第一、如何得到三维模型数据、纹理数据?第二、如何将模型数据与纹理数据一一对应。目前,专用的三维模型数据的采集及建模工具并不很多,商品化的三维建模软件价格昂贵。目前,如 AUTO CAD 和 MICRISTATION 等成熟的 CAD 软件均已提供了一些较为成熟的三维建模工具,但就功能而言,其不够专业和丰富,且存在着格式转换的问题。在“虚拟小区”的建立中,我们自己实现了一套较为简单和实用的三维数据采集
26、和建模工具。在二维数据加上三维信息的基础上直接三维化,并提供灵活的改变高度、纹理映射功能。(1)、用二维数据采集软件采集三维数据我们应用二维数据采集软件来采集数据,采用屏幕数字化方式。有四种类型数据: 点坐标数据+高程数据:这些数据用于构造树木、路牌、旗杆、路灯等呈点状分布的模型。 折线坐标数据+高程数据:这些数据用于构造栅栏、宣传栏等呈线状分布的模型。 平面多边形数据+高程数据:这种数据普遍适用于地面、房屋、草坪、道路等模型的建立。 三角串数据+高程数据这种类型的数据用于构造较为复杂的模型。原则是:相邻三点构造一个三角形;奇数点和偶数点可以拥有不同的高程。纹理数据通过实地拍摄得到。(2)、建
27、模工具(图 11)具体包括如下功能: 几何模型的建立:提供垂直单面构造(如树木等) 、水平面图 11 三维建模工具图 10 与地形融合在一起的三维道路模型8剖分(如地面等) 、柱状体构造(如房屋)的功能,并根据提供的基准高和垂直高两个参数进行高度化。如是垂直单面,可以选择是否具有各向同性。 颜色选择:提供模型不同单面的色彩的自由指定功能。 纹理设置:提供纹理图象的可视化选择、不同单面的选定、纹理映射的缩放与重复、纹理的旋转、透明属性的指定等功能。 三维预览:可以适时看到三维化设置得到的三维效果,并提供视点旋转、视点拉伸的功能,从不同的角度观察效果,不满意可以适时修改。(3) 、三维场景的实时显
28、示可以适时在三维视景中漫游,从不同的视点、视角对环境进行观察(如图 12) ,同时系统提供底层数据库的支持,用户可以三维查询、量算和模型替换等。因篇幅有限,有关三维场景的适时显示技术及数据库挂接应用技术,另文介绍。5.结束语在构建一个三维视景环境中,往往要根据具体的应用需求综合采用上述的技术。我们可以总结出如下技术方案:从仿真环境范围大小、数据源、与视点的关系等可分为中小比例尺仿真和大比例尺(目视条件)下的仿真两大类。 中小比例尺视景仿真:地形数据采用规则网结构的 DEM 数据,因为它具有规则性,便于管理和 LOD 调度。地貌、地物可采用大图像纹理技术实现仿真。它的难点在于大量的DEM 数据和
29、纹理数据的 LOD 管理。 大比例尺视景仿真:地形数据可采用规则网结构或三角网的 DEM 数据,同时地形表面映射植被、岩石、土壤、水域之类的纹理;大量的地物三维化,提供地物的三维模型及纹理。它的难点在于大量三维地物模型、纹理如何管理,如何与地形匹配,及如何实时显示。几何建模是虚拟城市仿真的核心研究内容,构造一个好的模型需要根据对象的特点选取不同的建模技术和工具,具体的建模算法很多。可以简单而言,视景仿真中几何模型的表示必须易于快速构造和显示,在逼真性和实时性中寻找折衷的方案 4。参考文献1 陈述彭,城市化与城市地理信息系统,科学出版社, 19991 Chen Shupeng,Citifying
30、 And City GIS,Sciece Press,19992 高 俊,地理空间数据的可视化, 测绘工程,2000 (3)2 Gao Jun,The Visualization of Geospatial Data ,Engineering of Surveying and Mapping,200(3)3 汪成为、高 文等, “灵境(虚拟现实)技术的理论实现及应用” ,清华大学出版社、广西科学图 12 三维场景中的几个镜头9技术出版社,1996.3 Wang Chengwei、Gao wen,” The Realizing and Application of Immersion Theor
31、y”,Press of Tsinghua University、GuangXi Science and Technology Publishing House,19664 高 俊、游 雄、夏运均等, “虚拟现实及其在军事测绘与作训模拟中的应用”,解放 军出版社,1999.4 Gao Jun、You xiong 、Xia Yunjun、Shu Guang,”Virty Reality and Its Application in Military Cartography & Training Simulation,PLA Publishing House,1999 5 赵沁平, “基于分布交互仿
32、真的虚拟现实系统研究 ”技术报告,北京航空航天大学, 1998.5 Zhao Xinping,A Technology Report on Virtual Reality System of Distributed Interaction Simulation,Publishing House of Beijing Aerial University,19986 Renato Pajarola,1998,“Acess to Large scale Terrain and Image Databases in Geoinformation Systems”,Swiss Federal Insti
33、tute of Technology Zurich7 张祖勋、张剑清,数字摄影测量学,武 汉测绘科技大学出版社,19967 Zhang Zhu-xun 、Zhang Jianqing, Digital Photogrammetry,Wuhan Technical of Surveying and mapping Press,19668 朱庆,数码城市 GIS 软件 CCGIS 的设计与实现,深圳虚 拟现实与地理学研讨会,20008 Zhu Qing,The Design and Realizing of CCGIS on Cipher City GIS, Forum of Virtual Reality and Geography in Shenzhen,2000作者简介:万刚(1972) ,男(汉族) ,河北张家口人,解放军信息工程大学测绘学院讲师,博士生,主要从事数字地图与战场环境仿真研究。