论文部分内容阅读
随着数字地球战略的提出,虚拟地理信息系统开始并已经扮演数字地球原型系统的角色。虚拟地理信息系统中很多关键问题,例如全球海量地形影像数据的实时渲染、三维数据网络传输等,已经得到很好地研究。但是随着虚拟地理信息系统的应用研究不断地深入,依然还会遇到一些技术难题。本文从解决虚拟地理信息系统中两个技术难点着手,主要研究虚拟地理信息系统中抖动问题和碰撞检测,解决直接在地心空间直角坐标系统中渲染物体时出现错误的问题及动画仿真时出现物体之间相互穿越、不符合真实世界规律的问题。本文着重在虚拟地理信息系统的反抖动框架、相机交互和飞行、相机与地形碰撞检测、多物体之间的碰撞检测等方面展开研究,并将上述研究成果应用在一个虚拟地理信息系统的原型系统中。
本文的研究工作主要体现在以下几个方面:
1)深入分析虚拟地理信息系统中抖动问题的产生原因,总结出浮点数的截断误差过大是导致抖动问题出现的原因。在充分考虑虚拟地理信息系统中几种主要数据类型的特点之后,提出一个高效的解决虚拟地理信息系统中主要数据类型抖动问题的反抖动框架。这个反抖动框架使用动态局部坐标系统方法解决像地形、海洋网格等连续场的抖动问题,使用多局部坐标系统方法解决矢量、模型等离散对象数据的抖动问题。
2)研究一些著名虚拟地理信息系统软件像NASA World Wind浏览极点时出现“打转”的问题,总结出极点处纬度不连续是导致这个问题发生的原因。在遵循开放地理信息联盟(OGC)标准的基础上,设计和实现一套新颖的能解决“打转”问题的相机参数框架,并介绍相机交互和飞行等关键技术,为虚拟地理信息系统中的用户交互和动画仿真打下基础。
3)提出一种高效的相机与地形碰撞检测算法。这个算法简化相机和地形模型,借用射线碰撞检测的思想,能高效地检测出相机与地形是否相交,并使用适当的碰撞响应来避免相机钻入地下,从而保证虚拟地理信息系统有良好的用户交互体验。
4)提出一种高效的多物体之间碰撞检测算法。这个算法首先利用虚拟地理信息系统中已经存在的全球层次结构-四叉树来剔除不属于同一个四叉树节点的物体对,其次使用物体的轴对齐包围盒来排除相隔较远的物体对,最后利用三角形相交测试来检测相隔很近的物体对是否真的相交。这个算法能够根据用户的需求给出四种不同精度的碰撞检测,并且能够适用于刚体和变形物体。
5)在上述研究工作的基础上,将相关技术应用在北京超图新一代产品SuperMap GIS6R中,并详细介绍SuperMap GIS6R二三维一体化技术及它在军事国防、反恐、石油石化、气象、数字城市等领域的一些应用。