论文部分内容阅读
虚拟地理环境和三维城市场景中,三维建筑模型是重要的组成部分和研究对象,可以提供良好的视觉效果和交互体验。近年来,三维建筑物模型已经在城市规划、三维导航、灾害管理等领域得到了广泛应用,这些可视化应用均要求三维建筑物模型的渲染既要保证较强的真实感,又要满足实时传输和动态交互的需求。随着三维数据获取技术的快速发展,尤其是激光雷达扫描、倾斜摄影测量等技术的出现,三维建筑物模型的数据量急剧增长,性能有限的计算机图形硬件越来越难以实时处理持续增长的三维数据,三维模型的实时流畅渲染面临较大的困难。对此,采用细节层次技术(Levels of Detail,LOD)来表达三维模型是主要的解决方法,生成建筑物LOD模型的关键是对模型进行简化以降低几何复杂度,减少模型数据量。相比于自由曲面模型,三维建筑物模型具有更加严格的几何约束关系,如垂直、平行、共面等特征。除此之外,建筑物模型还可能包含复杂的纹理图像和语义信息。这些特点的存在使三维建筑物模型的简化受到了更多的限制,也面临更大的挑战。计算机图形学领域提出的通用三维模型简化方法针对自由曲面模型能够取得较好的简化效果,但将其应用到三维建筑物模型上时,可能破坏模型固有的几何约束和拓扑结构。近年来提出的一些三维建筑物模型简化算法主要考虑几何复杂度,其目标是使简化后模型的几何外形与原始模型相匹配。另一些简化算法考虑了纹理特征,但所使用的建筑物模型通常比较规则和简单。当前,综合考虑几何和纹理的复杂三维建筑物模型简化研究相对较少。本研究在国家自然科学基金面上项目“三维建筑物连续LOD模型的生成及其可视化研究”(41871293)的支持下,以同步保持模型的几何特征和纹理特征为目标,提出了一种复杂三维建筑物模型简化方法,主要研究内容如下:(1)三维建筑物模型数据结构与表面网格分割。以点(Vertex)、边(Edge)、三角形(Triangle)作为基本图元对象表达模型几何结构,并考虑了建筑物模型存在的纹理不连续性特征,将顶点的相邻三角形和对应的纹理坐标以映射的形式进行存储。提出了一种基于广度优先搜索的模型表面网格分割算法,根据拓扑邻接关系和颜色差异对模型表面网格进行分割,形成多个具有内部特征一致性的子网格,为后续的模型简化提供重要的参考信息。(2)综合考虑几何和纹理的模型简化方法。传统的二次误差只量化了模型简化时的几何误差,本研究在此基础上提出了一种改进的简化误差度量方法,使简化误差综合考虑了几何和纹理两方面的信息,并结合了前一步的网格分割信息,使简化算法能更好地维持三维建筑物模型的原始外观特征。在每一次简化操作后立即进行纹理坐标调整,修复已发生的纹理变形现象,进一步提高简化质量。(3)基于像素误差分析确定模型最佳简化率并生成离散LOD序列。为计算模型在特定视距下的最佳简化率,本研究将简化误差投影至屏幕以计算屏幕像素误差,通过在某一视距下设置像素误差阈值来控制当前视距下的模型简化率,进而在多个视距下获取对应的简化模型以实现离散LOD序列生成。像素误差分析方法能有效消除不同三维建筑物模型在空间尺度上的差异,将最佳模型简化率计算纳入到统一的框架中。实验表明本研究提出的方法能有效减少模型简化后存在的纹理变形现象,与传统的三维模型简化方法相比,本方法在相同的简化率下取得了更好的简化质量,简化后的建筑物模型能保持重要的几何结构和纹理特征,具有良好的视觉效果。