论文部分内容阅读
基于物理的布料建模和模拟在计算机动画、影视游戏、虚拟现实以及制衣工业等领域中都有广泛的应用。经历了二十年的发展,布料动画模拟仍然是计算机图形学中最重要和最具挑战性的研究领域之一。布料变形动画的基本目标可以归纳为:快速、稳定和真实。然而与一般弹性体的模拟相比,研究者在实现上述任何一个目标时都会遇到各式各样的困难和问题。布料具有大位移、大转动和大应变的运动和变形特征,加之又具有千变万化的细观编织结构,因此采用常规连续体力学方法建立布料物理模型会使结果产生非常大的误差。再者,布料自身轻薄柔软的物理机械性质又必然造成布料动力学方程变为一种刚性方程,而对这种刚性方程的求解既复杂又难于保证稳定性。最后,布料具有复杂多变的交互环境,比如各种约束、碰撞和摩擦等,而这些交互作用集成进布料系统的过程是非常复杂的,并且它们对布料动画系统的效率和真实感都会产生非常大的影响。直到今天,研究者们实现这些目标也还任重而道远。本文围绕布料变形动画的基本目标,给出了相应的解决方案。总体而言,本文主要贡献如下:◆针对实时布料动画应用提出了一套快速稳定的布料动画求解算法。这个算法利用布料粒子系统的特点将系统线性方程组转化为规模较小的许多子方程,并且发展出一套灵活快速的迭代框架进行求解,整个数值计算的效率大大提高。结合简化和改进的布料物理模型,布料动画算法的时间复杂度将与系统粒子数和弹簧数之和成近似线性关系。◆解决了半隐式积分框架对布料动画带来的转动不稳定问题。半隐式框架会在布料物理系统中产生附加的非线性强迫振动。该振动的振动子是布料弹簧—质点系统,而振动源是半隐式积分框架所忽略的非线性部分。这种振动会使布料模拟结果产生较大误差,并且数值积分算法的性能也会降低。基于此,我们从避免成为振动子和消除振动源两方面同时入手解决了转动稳定性问题。◆建立了一种基于织物细观编织结构的布料物理模型。织物细观不连续结构是织物区别于其它轻薄柔软材料的最关键特征,而且它几乎会影响织物所有的变形行为。然而,以前布料动画模型都没有考虑织物细观结构对织物变形的影响。通过研究织物纤维经历平面剪切作用中的运动和变形情况,我们建立了一种基于细观结构的织物剪切模型。利用这个模型,我们模拟得到的布料具有了正确的平面变形行为,并且可以真实再现织物特有的剪切屈曲现象。◆我们将织物屈曲问题分为剪切屈曲和结构屈曲两类。前者是由面内拉伸引起的,而后者则是由压缩产生的。结构屈曲(弯曲)是布料表面褶皱产生和变化的主要原因。我们采用薄壳理论建立了一种新的弯曲模型—动态结构屈曲模型,并且利用动态刚度方法将这个模型应用于弹簧—质点系统中。相比其它弯曲模型,利用动态屈曲模型产生的布料动画具有更加真实而生动的布料褶皱效果。