基于Opennesh的三维网格简化算法优化
摘要:针对二次误差测度算法折叠排序代价计算标准单一导致模型在具有复杂结构的情况下特征难以保持的不足,提出了基于OpenMesh的三维网格简化算法。在二次误差测度的基础上,通过引入折叠点度和折叠边长度作为计算折叠代价的辅助因素,较好地对网格进行了简化。另外通过判断点、边和面是否处于边界来保持边界尽可能不变,以达到视觉特征基本不变的效果。实验结果表明该算法在较好地保持模型视觉特征的情况下可以快速地对模型进行简化。
中国论文网/8/view-
关键词:半边折叠;顶点度;折叠边长度;网格简化
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)17-0200-03
1概述
随着计算机技术的快速发展,虚拟现实技术逐渐步人大众的视线。但是在充分利用虚拟现实技术之前却面临着巨大的挑战。一个主要的因素是虚拟现实中的模型通常非常巨大,这对硬件的要求往往会超过普通用户的承受标准,甚至有些场景即使当今比较先进的硬件也难以流畅地渲染,因此三维模型的简化仍需要继续研究。例如斯坦福大学的数字米开朗琪罗计划中的大卫雕像的三角面片数高达20亿,远远超出了一般显卡的处理能力。实际上早在20世纪七十年代就已经有了关于模型简化的讨论,也就是后来广泛应用的多细节层次(Levels of Detail,LOD)技术。该技术通过简化模型细节来降低场景复杂度,从而保证场景能流畅地进行渲染和加载,尤其适合运用于当今火热发展的虚拟现实技术中。根据简化机制,有学者将常用的简化算法分为顶点聚类(Veriex Clustering)、增量式简化(Incremental Decimation)、采样(Sampling)和自适应细分(Adaptive Subdivision)。Schroeder首先提出了顶点删除的网格模型简化算法,随后基于边折叠、基于三角形删除等方法相继被提出,这些方法的共同点是删除网格模型中对外观影响较小的面片。几何元素删除法(点删除、边折叠、半边折)在模型简化时有较好的复杂度和效果,putational Geometry Algorithms Library)和OpenMesh等开源库作为支撑。相比边折叠算法,半边折叠不用计算新顶点位置。QEM对全局能量最小化算法进行极大的简化,适合对模型进行快速简化。在此基础上,殷智慧等人通过引入顶点的曲度特征因子以及抑制狭长三角形的生成保持模型的几何特征。熊仕勇等人通过引入二次误差量度、曲率特征、视觉特征度、顶点度以及边长来计算半边折叠代价,有效解决了简化后模型重要几何特征不明显的问题。本文在研究半边折叠算法理论的基础上,对半边折叠算法进行了改进,通过添加顶点度和折叠边长度等因子在尽量保持特征的情况下对模型进行快速简化。
2半边折叠算法
二次误差最早由Garland提出,采用点到平面的距离平方作为误差测度。图1是半边折叠算法折叠过程示意图:
3半边折叠算法改进
基于QEM的半边折叠算法的优点是具有较高的计算速度和较小的内存消耗而且能得到较高质量的网格。在已有的一些简化算法误差测度中,有的速度非常快但简化质量很差,有的速度很慢但简化质量非常好。而这种方法刚好是两类方法之间的一种折中,是一种兼顾了速度和质量的较理
基于Opennesh的三维网格简化算法优化 来自淘豆网m.daumloan.com转载请标明出处.