论文部分内容阅读
网格变形是将三维几何模型从一个动作序列变换到另一个动作序列的过程,是三维模型处理领域中的重要组成部分。网格变形技术是近年来计算机图形学中的研究热点之一,很多研究成果已经得到了广泛的实际应用,如动画制作,影视广告,以及计算可视化等领域,并逐渐融入了人们的日常生活当中。网格变形算法大体可分为两类,一类是基于插值重构,另一类是基于能量优化,两类方法各有优势。前者一般具有较强的操作性,算法简单实用,但效率不高并且容易失真;后者属于间接变形,速度较快,效果较好,但是变形不易控制,适用范围较窄。利用各类算法的优劣性,衍生出结合多种方法的混合变形技术,已成为近年来网格变形的发展趋势。本文针对能量优化方法中最流行的微分坐标变形方法进行了相关研究,论文工作主要包括以下三方面的内容。第一,提出了一种利用网格简化的变形控制顶点自动生成方法。基于微分坐标的变形方法具有保持模型表面细节特征的优点,能使变形结果显得连续自然,但变形前需指定一系列控制顶点作为约束条件,用户通过操纵这些控制点来进行变形。因此,如何减轻控制点选取的工作量是一个值得研究的问题。本方法通过边折叠网格简化,使简化后的模型尽可能保持原模型的外形特征,其顶点最终成为微分坐标变形的控制点。算法在一定程度上减轻了控制点选取的难度,减少了网格变形的前期工作量。第二,研究并实现了一种结合骨架驱动和微分坐标的变形技术。微分坐标变形由于其自身特点,比较适合于一些非刚体变形,且变形范围较窄,而单纯的使用骨架驱动变形又容易出现不自然的效果。本文提出了一种把微分坐标思想结合到骨架技术上的思路,让骨架变形的易于操纵、简单实用等优势和微分坐标保持细节特征的优势结合起来,增强骨架技术的变形效果。实例结果显示该算法达到了我们预期的目标,效果良好且具有一定实践意义。第三,给出了一种基于细分的模型细节保留网格变形方法。微分坐标由于其本身的特点并不具备旋转不变性,即一些表面曲率较高的地方对于整体变形表现得不够敏感,模型细节的法向在变形后可能失真。本文通过引入Loop细分和多分辨率思想给出了一种改进方法。利用局部坐标记录高频信息,通过重建坐标恢复变形后模型的细节特征。从实验结果上看,该算法能够有效解决微分坐标旋转可变的缺点,且变形结果真实自然。本文所有的算法都是在Windows XP操作系统,VS2005编程环境下,通过C++语言结合OpenGL图形库实现的。