地理场景三维可视化系统的关键问题研究

2012-06-29 07:27毛健苏笛
城市勘测 2012年4期
关键词:分块纹理可视化

毛健 ,苏笛

(1.天津师范大学城市与环境科学学院,天津 300387;2.南京师范大学虚拟地理环境教育部重点实验室,江苏南京 210046)

1 引言

地理场景三维可视化是指运用计算机图形图像处理技术,突破传统的二维平面图的表现方式,将地理空间数据以三维立体的方式显示,以便人们更形象、真实地理解现象,发现规律和传播知识。其广泛应用于数字城市、军事场景模拟、地理教育、文物古迹保护等领域[1,2]。本文根据几个已经完成的虚拟校园、城市三维可视化系统项目,总结既有经验,对其中关键问题进行探讨,得出一些有益的结论。

2 地理场景三维可视化系统建立的一般流程

目前我们已建立的三维可视化系统有:完全基于底层开发的八里台数字校园三维可视化系统(图1),以及基于ArcGlobe平台的高新区城市三维可视化系统(图2)等。系统研发的流程主要包括:数据采集与处理、三维建模、可视化平台的研发以及相关功能的实现。需要的数据主要有:CAD地形图数据、地面影像数据、建筑纹理数据以及其他相关的属性数据;三维建模的方法一般有:基于编程技术的建模和可视化软件建模。可视化平台有:自主开发的平台和第三方软件平台。

图1 八里台三维可视化系统

图2 高新区三维可视化系统

3 系统建设过程中的关键问题

3.1 数据采集处理的规范化

数据采集处理的规范化是减少数据重复采集及返工现象,保证数据采集有条不紊的关键。同时数据质量的好坏也直接影响三维建模的质量与速度,以及最终的可视化效果。数据采集处理的规范化主要包括:

(1)数据坐标系统的统一化。涉及空间坐标信息的数据,如CAD地形图、遥感影像数据以及DEM数据等,应基于统一的坐标系统。

(2)数据命名规则化。在纹理影像数据采集之前,需利用CAD图对采集区域进行分期、分块,并采用统一的规则对建筑物命名,如2-A-12,其中2表示第2期项目数据,A表示第A块区域,12表示在该区域中建筑物的序号,这样就能保证建筑物命名的唯一性。采集时,应按建筑物不同侧面,记录各自的纹理照片。采集后对数据进行整理,以建筑物名称为主文件夹,以建筑物的每个侧面为次文件夹,将相应的建筑物CAD数据与纹理照片导入文件夹中,以便纹理处理与建模。处理后的纹理应按一定的规则命名,且名称长度不应超过8个字符,如N-1,其中N表示建筑物北侧,1为纹理序号,且统一格式为JPG、PNG(透明纹理)。完成建模的三维模型,其名称应与建筑物相同,并将模型数据与纹理数据放置在以所属建筑物名称命名的文件夹中,以供三维可视化平台调用。数据采集处理的规范化对于大区域的数字城市建设有着重要的意义。

3.2 纹理贴图

纹理贴图的质量是可视化效果的关键,它决定了表达模型精细特征的精度,特别是对于大区域三维城市建模,其模型精度一般要求不高,而高质量的纹理数据能极大地提高城市三维模型的细节层次和真实感。但是纹理质量亦不能过高,高精度的纹理会导致数据量的增加,影响系统运行效率。因此,纹理的处理应遵循以下几个原则:

(1)纹理照片拍摄时,应选择晴朗或阴天天气,相机偏色调整成自然色。要保证影像清晰,如果因拍摄时的抖动等因素造成影像模糊,必须重新拍摄。同时相机分辨率不低于1 000万像素。

(2)纹理最大不能超过512×512像素,最小不能小于32×32像素。纹理尺寸长、宽均是2n像素大小。这是因为目前的绝大多数显卡为了加速绘制填充的速度,仅支持该尺寸的纹理映射。如果纹理的尺寸不采用2n,将严重影响系统的显示速度。

(3)同一建筑物各个面的色调均衡,差别不能太明显。图3为纹理贴图的一个实例处理过程。

图3 纹理贴图处理流程

3.3 透明纹理技术

透明纹理技术是通过纹理技术和融合技术共同实现的[3]。融合技术是指通过指定源和目的地颜色值相结合的融合函数,使部分场景表现为半透明。在三维可视化场景中,往往会需要建立树木,镂空栅栏等复杂的模型,如果对其实际建模,将会导致工作量与数据量的剧增。而采用透明纹理映射技术不仅建模简单,而且能更好地模拟物体细节,同时实现了更高的逼真度和运行速率的平衡。透明纹理的制作,一般使用Photoshop软件,将纹理处理成镂空的png格式。同时使用可视化软件,如3ds Max,建立面片模型,在贴图时,采用透明纹理的贴图方式,并选择双面显示。图4为树木的透明纹理模型。

图4 树木的透明纹理模型

3.4 地形绘制技术

地形绘制技术是地理场景三维显示中,地形构建的关键。为了精确、逼真的表达真实地形,就需要海量的地形数据,但是这些数据的实时绘制与管理超出了一般图形处理系统的能力[4]。地形绘制技术为解决海量的地形数据与有限的计算机处理能力之间的矛盾提供了有效的途径。主要包括以下几个方面:

(1)地形和纹理数据的分块组织。由于地形数据量庞大,计算机不可能一次性地将所有的数据调入内存,因此必须采取地形数据分块技术。分块大小一般以256×256为宜,而且纹理分块大小最好和地形分块大小相匹配。

(2)构建地形层次模型(LOD)。在三维场景漫游过程中,场景的可视范围会随着视点的升高而变小,当视点在离地面很远位置时,就没有必要用高分辨率的地形数据来显示。因此,整体的地形数据应采用金字塔模型管理(如图5),设金字塔的顶层为第0级,越往下,层次级别越高,相应的地形数据分辨率也越高;相邻层次级别的地形数据分块数目成4倍关系。在加载地形数据时,近视点部分显示高分辨率数据,远视点部分则显示低分辨率数据。因此,需对地形数据(包括地形高程数据和纹理数据)采用分块、分层的方法建立多分辨率数据。并针对每一个数据分块按照四叉树结构进行组织,进行四叉树LOD分割。

图5 金字塔模型管理

(3)视野可视范围的裁剪。由于大规模三维地形场景范围很大,而人的视野有限,因此在实时漫游时只需读取视野范围内的地形块并进行绘制。在进行大范围三维地形漫游时,可以根据当前视点的位置及视点方向等参数进行挑选,剔除视域不可见部分,从而减小处理的数据量,提高整个系统的渲染效率(如图6)。

图6 地形可视化效果

3.5 碰撞检测技术

在三维地理场景中的物体,是以具有几何物体特征的电子数据虚构而成。这样,不同的虚拟物体就可能占有一样的空间,但由于不是实体存在,具有穿透性,或者以一种非现实的途径相互穿插。而现实世界里物体占据一定的空间,动态物体与静态物体之间或者动态物体与动态物体之间总会发生碰撞[5]。因此,三维可视化系统一个最重要功能,就是能快速进行三维场景中物体间的碰撞检测。三维可视化系统中进行碰撞测试,通常采用的方法是包围盒法。常见的包围盒有包围球(Sphere)、沿坐标轴的轴向包围盒(AABB)、方向包围盒(OBB)、离散方向多面体(K-DOP)等。层次包围盒的碰撞检测的代价可用下面的代价函数来评估:

其中,T代表碰撞检测算法耗费的总时间;Nv是要进行测试的包围体对的个数;Cv是检测一对包围体需要的时间;Np是参与相交测试的基本几何元素对的个数;Cp是一对原子物体进行碰撞检测所要耗费的时间;Nu是物体运动时需要更新的节点数量;Cu是更新每个节点要耗费的时间。根据这个公式,可以推测,理想的包围盒应满足如下要求:

(1)包围体应尽可能地逼近物体,以减少Nv,Np和Nu;

(2)包围盒之间的相交测试应尽可能地快,以减少Cv;

(3)物体运动时节点更新应尽可能地快,以减少Cu。

包围盒技术在具体的使用中,应首先使用体积略大但是几何特性相对简单的包围盒来近似接近几何形状复杂的物体对象,然后构造层次结构逼近物体的几何模型,直至获得物体的全部几何特性,这样可以限制计算的复杂度,提高检测碰撞精度。下面基于C++编写的代码片段为判断是物体是否包含:

4 结论

本文基于既有的项目经验,对目前常用的三维可视化系统的建立方法进行了介绍,并详细分析关键问题和技术,提出了一些有益的建议。但是常用方法建立的三维可视化系统也存在一定问题,如三维建模周期太长;系统空间分析功能较为薄弱;人机交互设备较为单一等。可以预见的是,随着三维激光扫描、基于多幅影像的三维重建等技术的日益成熟,三维建模的周期势必将大大缩短。同时,随着人机交互技术的不断发展,如虚拟现实头盔,手势和语音识别技术等,将会给人们带来具有高沉浸感、交互感以及真实感的虚拟现实环境。

[1]尹小君,赵庆展,宁川等.城市虚拟地理环境的研究与实现[J].计算机应用与软件,2011,28(5),91~93.

[2]廖婷,康凤,纪方.桌面虚拟漫游系统的研究与设计[J].计算机与信息技术,2011(04),24~26.

[3]李从信,刘井丽,彭双根.透明纹理技术在实时渲染中的应用[J].大庆石油学院学报,2006,30(4),120~122.

[4]李道远,李英成,肖金城.大范围城市三维模型管理技术研究[J].测绘科学,2011,36(5),70~72.

[5]罗冠,郝重阳,樊养余.一种基于可能碰撞集的碰撞检测方法[J].中国图象图形学报,2003,8(A),1067 ~1071.

猜你喜欢
分块纹理可视化
基于CiteSpace的足三里穴研究可视化分析
钢结构工程分块滑移安装施工方法探讨
思维可视化
基于CGAL和OpenGL的海底地形三维可视化
基于BM3D的复杂纹理区域图像去噪
分块矩阵在线性代数中的应用
“融评”:党媒评论的可视化创新
使用纹理叠加添加艺术画特效
TEXTURE ON TEXTURE质地上的纹理
反三角分块矩阵Drazin逆新的表示