论文部分内容阅读
虚拟环境下的三维地形建模和可视化显示一直都是虚拟现实在地学中的重要研究领域,而大范围地形场景的三维可视化又是一项非常富有挑战性的课题,对于大范围的地形特征来说,一方面要保持其逼真的视觉效果,另一方面又要有较高的帧速,然而即使在当前高速发展的硬件条件下,也是难以满足二者要求的,因此,学者提出了很多有效的解决途径,但在某些方面也存在一些问题:(1)多采用静态细节层次模型实现精度和速度的统一,在一定程度上减少了数据量,提高了三维显示的速度,不过静态LOD存在着模拟切换跳跃感强、显示层次较少等问题。(2)尝试采用连续LOD和多分辨率LOD算法实现地形动态显示,并取得了较好效果,但存在实时细节判断复杂,难以适用于大规模地形的问题。(3)采用的数据模型多为规则格网,尽管可以利用其简单的矩形排列方式,方便计算机读取和处理,但数据冗余度大,不易准确表达地形细部;虽然不规则采样点冗余度低,便于按照地形特征表示高程信息,但三角网的不规则性和拓扑复杂性使其难以应用于地形的动态多分辨率显示。(4)加速算法的效率不高一直是尽可能减少数据量并提高显示速度的瓶颈,如何与LOD算法结构巧妙结合以实现判断精度和显示速度的平衡是亟待解决的问题。基于此,本文从模型简化生成和加速算法出发,梳理当前基于规则格网和不规则采样点的显示算法在地形动态表达中的难题,在已有硬件条件下从算法结构和软件设计角度入手,通过构建合理的数据模型,结合场景分块、可见性剔除、内外存调度、细节层次等多种算法实时生成了高质量的仿真地形。论文的研究成果包括:(1)明确了虚拟现实的时代特征和重要意义,分析说明实时性和真实感是当前图形学面临的最主要挑战,探讨归纳大规模地形实时动态显示的内容、步骤和方法,通过对DEM的两种重要表达形式——RSG和TIN各自优缺点的分析,总结基于二者的LOD算法面临的难题,提出了自适应实时动态多分辨率LOD构建的流程和算法;(2)探讨了规则格网的树结构和相应的四叉树和二叉树层次模型,考虑到算法的通用性和大规模地形显示的速度需要,通过建立高效的四叉树结点数据结构,提出了自上而下的层次分割和自下而上的参数计算相结合的预处理策略,将大量工作提前完成;研究了实时动态显示阶段通过基于视点的保守性屏幕误差快速判断LOD级别的方法,确保了层次切换跳跃感的最弱化;最后给出拆分点的添加方法以消除不同LOD层次之间的裂隙。(3)从不规则采样点出发,研究采样点局部重要性判断法中的弊端,通过类比地图综合原理,将已经取得较好成果的三维Douglas-Peucker算法(3D DP)引入不规则采样点的全局重要性排序中,从而为地形三维真实感显示奠定基础。(4)针对TIN的LOD法的优势和不足,从不规则采样点角度出发,将地貌综合的三维Douglas-Peucker方法引入地形LOD中,通过对不规则采样点层次四叉树分割以及树结点内构建TIN网(Quad_TIN),提出了一种地形实时动态显示的新算法。该算法采用3D DP+层次四叉树+TIN相结合的策略,首先从全局重要性角度对不规则采样点分级,再利用孤立分割建立四叉树空间索引,结合了规则格网的四叉树结构和不规则采样点的TIN结构在虚拟表达中的优势,并消除了结点间依赖关系,然后根据视距和模拟误差确定四叉树的绘制层次和插入采样点的顺序及数量,最后添加拆分点消除结点间裂隙;算法在保证地形显示速度的同时也确保了整体精度。(5)针对论文提出的基于RSG和不规则采样点的LOD算法,探讨大规模地形的数据组织和加速算法。首先研究地形场景的分块方式以及存储结构,对块间裂隙采用高程平均值法和拆分三角形法予以消除;基于结点包围球和平头视锥体的空间关系对不可见地形块以及块内结点进行视域裁剪,同时针对地形延绵起伏所导致的结点遮挡,从地面单点的遮挡剔除算法原理出发,阐述了单点的山脊线遮挡预处理和简化判断方法,并逐步引申到四叉树结点的遮挡剔除;对于分块后的地形数据,为了减少实时阶段的内外存调度,算法将内存数据分为可见区域和扩展区域两部分,采用增量更新方式,运用LOD简化和数据调度的多线程策略实现地形的实时动态多分辨率流畅显示。立足于论文的研究思路和算法原理,笔者设计并开发了相应的原型系统,从实验角度说明本文算法的有效性,对其它模型的LOD简化和加速显示研究也是一种借鉴。