论文部分内容阅读
等值面技术在可视化中应用广泛,许多标量场中的可视化问题都归纳为等值面的抽取和绘制,Marching Cubes方法是目前应用最为广泛的等值面抽取方法之一。自1987年Lorensen等提出该算法以来,就因为其简单高效取得了众多研究人员的关注,被广泛的应用于医学图像重构,有限元分析,隐式曲面绘制等领域的研究中,取得了许多重要的成果。但算法也存在一些不足之处。在目前为之,已经有大量的研究工作对Marching Cubes算法本身进行了有效的探讨,来对该算法进行完善和提高它的运算效率。本文按照改进算法对Marching Cubes的具体领域的改进,提出归类方法并进行比较讨论,为在具体的领域中应用和进一步研究改进算法,有着很好的借鉴意义。本文首先介绍了算法的研究背景和意义,以及该领域相关的工作和研究现状,然后阐述了算法的基本原理,讨论了其优缺点和产生这些优缺点的原因。算法在构造等值面的过程中,太依赖于直观的构造,构建体元状态模型时,对于对称,旋转等情况的处理缺乏全面考虑,忽视了立方体内部可能存在的环状结构和存在的临界点(等值面发生变化的点),直接使用求得的边界等值点,根据基本的体元状态模型,简单连接成三角片构成等值面,导致生成的等值面有在拓扑结构,表示精度和效率方面,不能满足实际应用中的需求。文章对算法构造的等值面在拓扑结构方面存在的二义性分面上的二义性和体上的二义性两个方面进行讨论。首先分析了立方体面上存在二义性的原因,给出了解决面上二义性的办法;随后,通过分析插值曲面在体元内部可能存在的结构,引出体二义性,并且根据解决体二义性方法的不同原理,分四个类别对解决方法进行讨论,根据三线性插值函数等值面的特性和不同体元模型的实验结果,指出了每一类算法存在的问题和优势所在。由于Marching Cubes算法求逼近等值面的过程中,使用线性插值计算出等值面与立方体边的交点之后,采用简单连接的方式,形成逼近等值面的边界多边形,然后进行三角化得到最终的逼近等值面片,所以当算法针对采样稀疏的数据场构造等值面时,会出现等值面精度不高的问题,无法保证所形成的等值面的表示精度。增加采样点无疑是提高表示精度的直接方法,但是随着采样点的加入,形成三角片的增加,所需要的存储空间和处理时间往往超出系统的负荷和实时应用的要求;另一种方法是渐进式网格抽取算法,算法通过逐渐细化的方法,逐步提高表示精度,直到达到应用要求为止,这种方法可以在增加计算量不大的情况下提高精度。Marching Cubes算法对每一个立方体单元进行处理,耗费大量的时间,同时,在采样密度较高的数据场中,也往往生成过多三角面片,导致算法效率大大降低。本文对这种情况进行分析,总结了提高算法效率的主要方法。然后将这些方法分成三类:第一类方法通过建立合适的数据结构,跳过不存在等值面的体元,有效的节省了生成等值面所需要的时间;第二类方法旨在讨论节省存储空间的几种方法,主要是在保证逼近精度的情况下,通过合并相邻的三角面片进行实现;文章重点讨论了第三类,即多分辨率方法,该方法兼顾算法时间和空间两个方面的耗费,有效地解决了交互显示等实际应用问题。文章最后对Marching Cubes改进算法进行总结,并展望了算法今后的发展方向,对实践中具体应用算法和对其进一步进行研究,都有很重要的借鉴意义。