基于三维GIS的虚拟现实数字城市实现方法研究
与边界表示法类似的还有线框表示法(Wire Frame Representation),它通过一组定义边界的边界来表示对象形状。这种方法的优点是它的表达能力取决于线表示所能允许的复杂程度,简化了模型的生成,提供了一个大的域。缺点是对象的表示不唯一,与此相联系的是不能生成高效的显示,不能计算整数特征以及不能唯一定义空间。
二、结构实体几何表示法(CSG法:Constructive Solid Geometry)
CSG表示的基本概念是由Voelcker和Requicha提出的,它是一种由简单的几何形体(通常称为体素,例如球、圆柱、圆锥等)通过正则Boolean运算(并、交、差)构造复杂三维物体的表示方法。用CSG方法表示一个复杂物体可以描述为一棵树,树的叶结点为基本体素,中间结点为正则集合运算,这棵树称为CSG树。其具体定义如下:
树中的叶结点对应于一个体素并记录体素的基本定义参数;
树的根结点和中间结点对应于一个正则集合运算符;
一棵树以根结点和中间结点作为查询和操作的基本单元,它对应于一个物体名。
用CSG树表示一个复杂物体比较简洁,它所表示的物体的有效性是由基本体素的有效性和集合运算和正则性而自动得到保证的。由于CSG树提供了足够多的信息以判断空间任一点在它所定义的体内、体外或体的表面上,因此它可以唯一地定义一个并支持对这个物体的一切几何性质的计算。
CSG表示法构造几何形体时,先定义体素,然后通过正则集合运算将体素拼合成所需要的三维物体。所以一个几何体可以看成是拼合过程的成品。其特点是信息简单,处理方便,无冗余的几何信息,并详细记录了构成几何物体的原始特征和全部定义参数,必要时还可以在物体和体素上附加各种属性。CSG表示的主要缺点是不具备物体面、环、边、点的拓扑关系;另外物体的CSG表示不具有唯一性。即CSG表示的物体具有唯一性和明确性,但一个三维物体的CSG表示和描述方式却不是唯一的。
综上分析,CSG方法通过预定义的模型单元来表示空间物体,这些单元具有规则的形状,如:立方体、圆柱体、圆锥体等;单元间的关系主要是布尔操作。CSG方法的优点是模型关系简单,便于显示和数据更新,缺点是空间分析难以进行。而B-rep表示精确描述构成物体边界的点、线、面和体四种类型元素,通过结点几何位置以及元素间的拓扑关系完成物体的几何描述。B-rep方法适用于空间操作和分析,但存储空间占用多,计算速度较慢。
3.2 基于二维矢量数据的三维实体建模
鉴于本章所研究的系统采用的数据源为二维电子地图,所以我们在下面概述的建模技术是基于二维矢量数据(这里仅指二维地图)的实体建模。三维实体主要是建筑物、植被和道路等。
一、建筑物的三维建模
建模方法一:建筑物可以看作屋顶面和各个铅直外墙面的组成。在已知区域边界坐标和房屋高的参数下,可直接构造房屋的铅直外墙面,并按照一定的顺序剖分为三角网,保证其法向量向外;屋顶平面则通过边界多边形的三角剖分来构造,保证其法向量向上。房屋的基准高通过查询DEM地形数据得到。
建模方法二:建筑物的平面几何数据、三维高度数据和影像纹理数据是构建三维建筑模型的基础。在2D GIS中建筑物的地面轮廓线的表达方式实际上只反映了建筑物本身很少的信息,不能反映现代城市中建筑物各异的外形和独特的风格。但如果从建筑学角度出发,在三维GIS中突出各个建筑物的特性和差异,将是一项十分巨大的工程,而且意义不大。因此,只需反映建筑物具有代表性的几何外形特性。具体来讲,就是讲建筑物按照其几何外形特征进行分类,分别对每一类建筑物采用一种几何数据模型。以下就几种典型的房屋类型给出其三维几何数据模型。
1、平屋顶房屋的几何数据模型
平屋顶房屋是目前建筑物中最为常见的房屋类型,其屋顶为平面,可以用一个平面多边形来表示,利用所获取的建筑物底面数据作为它的顶面。
2、非平顶房屋的几何数据模型
非平顶房屋可以把各种不同的屋顶统一成常见的人字型屋顶来处理。人字型屋顶房屋的底部为一矩形,屋顶呈人字型,如图 3-21所示。此类房屋的处理过程大致与平顶房屋相似,所不同的地方在于它需要人为地加上一个屋顶。图中(Xi,Yi,Zi)(i=1,2,3,4)的数据由上面的方法得到Ci,Ci的平面坐标X、Y很容易得到,高度坐标Z是在Ci(i=1,2,3,4)的高度Z(i=1,2,3,4)基础上给出一个增量即可。这样构建的屋顶只是作为建筑物的一种装饰。
图3-21 非平屋顶房屋的几何数据模型
3、复杂房屋几何模型的表示
对于复杂房屋,则需要根据其外形特点分别定义各自的数据模型。这些房屋虽然其总体外形与上述两种不同,但是可以分解为两个或多个与上述类型相同的单个房屋,这样就可以用多个典型房屋的组合来表示一个复杂房屋。采用这种方式时,首先,要在获取房屋数据时就要对复杂房屋进行分解,分别采集单个典型房屋数据;其次,需要解决的另一个关键技术是单个典型房屋之间公共部分的无缝拼接。图 3-22表示了复杂房屋的分解方法。
图 3-22 复杂房屋几何模型表示
建模方法三:通过第三方软件(如3DMAX、MAYA、MultiGen Creator等)创建的建筑物模型。
以上这些方法基本上采用:获取建筑物的高度,并与建筑物在二维投影平面上的轮廓线结合,用简单集合体表示建筑物的外形特征。这种三维建筑物重构方式虽然比较简便,重构的建筑物三维数据量少,但几何失真很大。
二、植被的三维建模
树木是自然界最常见的景观之一,具有复杂的三维结构。对树木形状的三维建模一直是计算机图形学领域的一个研究热点,大量学者对此进行了深入的研究: