论文部分内容阅读
在过去几十年里,计算机动画一直是人们感兴趣的研究领域。随着虚拟现实和计算机动画技术的发展,加之服装CAD和试衣系统等领域的迫切需要,计算机动画的一个重要组成部分---布料的实时运动模拟,吸引了越来越多的研究。虽然已经有了大量对布料动态模拟的研究,但是提高布料模拟的真实感是目前面临的一个挑战。本文的主要研究内容及成果包括以下几个方面:布料建模是布料动态模拟的基础。本文首先分析了布料的性能,讨论了用于布料模拟建模的几何法、物理法以及混合法各自的优缺点,并在物理法建模的基础上提出了优化的质点-弹簧模型。其次,对质点-弹簧模型的内力和外力进行了分析,分别给出质点所受内力和外力的表达式。并着重探索和研究了计算机模拟中风力对布料的作用,提出一种改进的风力模型。通过改进,优化了计算流程,提高了运算效率,增强了模拟效果。同时,比较了布料模拟中的各种数值求解方法的性能,最终选择显式欧拉方法对布料模拟的动力学方程进行数值求解。实验证明该方法能够满足实验要求,并具有较高的模拟效率。再次,质点-弹簧模型在应用中存在超弹性(即过度拉伸)的问题。本文论述了布料动态模拟中超弹性问题产生的原因及现有的解决方法。指出了现存方法的缺陷,并基于速度过滤的思想,提出了质点速度约束算法。该算法建立了一个速度约束不等式,作为超弹性现象是否发生的判断依据;并对不满足约束条件的质点进行速度约束调整,进而避免了超弹性现象的发生。实验表明该算法易于实现,稳定性强,能产生较好的视觉效果。最后,本文介绍了图形学中增强模拟效果的光照、材质、纹理等渲染方法,描述了纹理映射在布料动态模拟中的应用。利用纹理映射的方法将二维的纹理图像映射到三维布料模型上,使布料具有更真实的模拟效果。除此之外,本文还将布料添加到真实感场景中,使得布料光照和场景光照相一致,实现布料动态模拟全过程。本文在开发中自始至终贯彻了面向对象(OOP)的编程思想,布料模拟系统的开发工具为VC++6.0和OpenGL编程语言。按照建模、受力分析、数值求解、超弹性问题解决、纹理映射的次序实现了布料的动态模拟。结果显示,本文的布料模拟系统减少超弹性失真现象,实现了实时、真实的布料动态模拟,在效率和稳定性方面有显著的优势,为进一步研究打下了基础。