论文部分内容阅读
基于物理的动画是通过数值求解物体运动的规律来模拟现实世界里的各种物理现象如流体的流动,固体的形变和破碎,流体和固体的相互作用等,近年来大量应用于影视娱乐、虚拟现实中。求解物理规律的方法多种多样,我们选择了无网格的计算方法来模拟多种重要的物理现象并对其中的关键问题提出了新的概念和方法。无网格计算方法将物理计算域直观地离散成一组点云,同一物体内部物质之间的相互作用,不同物体之间的耦合等都可以在一个统一的框架下进行计算,并具备硬件加速的潜力。具体地,在流体模拟、刚体破碎、弹性形变模拟、流体固体耦合方面,本文使用无网格的框架进行了研究。本文的主要创新点包括: (1)在刚体破碎方面,引入了新的数值计算方法MLPG来计算应力分布,并通过刚体运动与静力问题求解结合,解决了刚性材质求解应力分布的困难,为破碎的发生提供了判断依据。同时引入了破坏度概念来描述材料的破损情况,并提出了基于破坏度的碎片生成算法,计算出合理的刚性破碎效果,并设计了场导引的方法支持可控的破碎效果。 (2)在弹性体模拟方面,提出了一个各向异性的核函数用于弹性形变计算。和传统的方法相比,使用动态变化的核函数,根据形变的方向信息调整形状,改善了计算的稳定性,减少了弹性固体形变时数值断裂的发生。 (3)在流固耦合方面,针对SPH流体模拟方法的两个问题,设计了改进的基于交错粒子的模拟框架。通过在任意两个原粒子邻居之间插入交错粒子,SPH流体中存在的null-space问题得到解决,SPH方法由于形函数不满足Kroneckerdelta特性导致的边界条件设置问题也得到改善。实验证明本文方法能够有效地模拟复杂的刚体与流体的相互作用,包括单向的耦合作用和双向的耦合作用。 (4)在弹性形变控制方面,提出了一种基于材质交互内嵌的复合材质形变方法,应用于弹性体形变的编辑和控制。由于对于复杂的物体如各向异性的材质来说,通过调节参数来生成想要的形变行为非常困难,本文设计了内嵌的方法来解决这个困难。将复杂材质的物体看做各向同性的基底材质和多种结构单元的组合,是一个复杂的问题转换为两个相对简单的模拟对象,避免了繁杂的参数调节过程。通过多个实验验证了本方法的可用性,并开发了一个便捷的用户界面帮助用户设计复杂多样的物理形变行为。本文的方法还具有良好的扩展潜力,如能够模拟一些传统方法不能模拟的物理材质如负泊松比材质。 本文的研究始终围绕无网格法的框架进行,为各种复杂物理现象模拟中的关键问题提出了新的思路和方法,并提出了下一步的工作方向。