论文部分内容阅读
三维数字化模型复杂度和数据密度的日益增长给计算机存储、显示、传输和渲染等方面带来了巨大压力。构建三维城市的复杂场景往往需要海量多源异构的空间数据配合使用,三维建筑模型是其不可或缺的要素。为了获取适合多种场景使用的建筑模型,需要对原始高分辨率网格模型建立不同的层次细节模型(Level Of Detail,LOD)。如何针对模型不同的复杂性,定量优化LOD模型的细节水平,自适应的保留重要特征并减少不必要的冗余,以符合人对其认知过程的层次性[1],是Web3D展示的重要技术内容。LOD模型的建立,首先面临网格简化的问题。网格简化方法即在保留模型的重要几何和视觉特征的前提下,有条件的精简次要细节,以降低复杂模型计算复杂度。常见的网格简化算法以简化机制分类,可以分为增量式简化算法(Incremental Decimation)、顶点聚类算法(Vertex Clustering)、采样算法(Sampling)和自适应细分算法(Adaptive Subdivision)[2,3,4]。其中,边折叠(Edge collapse)算法属于增量式简化中的一种,该算法简化模型时计算速度快、鲁棒性好,但进行大幅度简化时可能会出现模型细节特征丢失问题。本文在研究目前主流多分辨率绘制和三维模型边折叠简化算法等相关技术的基础上,针对三维复杂模型简化至低分辨率时存在模型网格质量降低、表面细节特征丢失等原因导致的视觉退化问题。提出了一种顾及角度误差的三维复杂模型边折叠简化算法,并在此基础上设计了城市三维建筑模型快速可视化系统。论文的主要内容如下:(1)针对三维建筑模型简化至低分辨率时模型网格质量降低、表面细节特征丢失等原因导致的视觉退化问题,提出了一种顾及角度误差的网格模型边折叠简化算法。该算法在选取收缩边时预先加入了顶点约束处理,以减少需要折叠操作的边的数量,提高计算性能;在二次误差测度算法的基础上引入角度误差加权,对生成新面片的旋转方向进行角度误差控制,以提高模型特征区域顶点的误差度量,更好的保留模型表面细部特征。(2)研究三维空间数据存储技术。根据三维建筑模型数据特点和属性信息不同,分析三维建筑模型数据层次,设计了面向三维建筑模型的数据结构,对本文算法生成的三维建筑LOD模型进行组织管理;通过等经纬差网格划分建筑模型中心坐标的方法,实现三维建筑模型数据网格化存储,将不同作用范围的数据采用金字塔结构分层分块进行存储,以提高数据的索引效率和网络响应速度。(3)设计三维建筑模型实验演示系统。针对以上研究内容,基于B/S架构及WebGL三维渲染引擎开发了具有实用价值的三维城市场景统一表达系统,实验表明,该算法在保留场景中建筑模型重要几何特征的前提下,有效减少了系统绘制的图元数目,适用于渲染大规模三维城市场景。