Skip to content

Projective dynamics: Fusing constraint projections for fast simulation

本文提出了一种新的隐式时间积分物理系统的方法,通过将节点有限元方法和基于位置的动力学相结合,实现了一个简单、高效、稳健且准确的求解器,支持多种不同类型的约束。通过引入特殊设计的能量势能,可以使用交替优化方法高效地求解。通过连续力学的启发,推导出一组连续势能,可以有效地融入我们的求解器。通过多个应用的实例,从固体、布料和壳体的仿真到基于示例的仿真,展示了我们方法的普适性和稳健性。与基于牛顿和基于位置的动力学求解器的比较突出了我们方法的优势。

Basic Information:

  • Title: Projective Dynamics: Fusing Constraint Projections for Fast Simulation (投影动力学:融合约束投影以实现快速仿真)
  • Authors: Sofien Bouaziz, Sebastian Martin, Tiantian Liu, Ladislav Kavan, Mark Pauly
  • Affiliation: EPFL, VM Research, University of Pennsylvania
  • Keywords: physics-based animation, implicit Euler method, position-based dynamics, continuum mechanics
  • URLs: Paper, [GitHub: None]

论文简要 :

  • 本文提出了一种新的隐式时间积分物理系统的方法,通过将节点有限元方法和基于位置的动力学相结合,实现了一个简单、高效、稳健且准确的求解器,支持多种不同类型的约束。通过引入特殊设计的能量势能,可以使用交替优化方法高效地求解。通过连续力学的启发,推导出一组连续势能,可以有效地融入我们的求解器。通过多个应用的实例,从固体、布料和壳体的仿真到基于示例的仿真,展示了我们方法的普适性和稳健性。与基于牛顿和基于位置的动力学求解器的比较突出了我们方法的优势。

背景信息:

  • 论文背景: 在计算机图形学领域,基于物理的可变形材料仿真已经成为一种不可或缺的工具。虚拟世界和最近的角色动画都采用了复杂的仿真来大大提升视觉体验,例如模拟肌肉、脂肪、头发、服装或植被。这些模型通常基于连续力学的离散化,可以高度准确地模拟复杂的非线性材料。
  • 过去方案: 然而,当前的连续力学方法在某些计算机图形学应用中在这些标准中存在不利的权衡,这导致了替代方法的发展,例如基于位置的动力学(PBD)。由于其普适性、简单性、稳健性和高效性,PBD现在在包括PhysX、Havok Cloth、Maya nCloth和Bullet在内的一系列高端产品中得到了实现。虽然主要用于实时应用,但PBD也经常用于离线仿真。然而,PBD的可取之处是有限的准确性,因为PBD并非严格从连续力学原理推导出来。
  • 论文的Motivation: 本文提出了一种新的隐式积分求解器,弥合了连续力学和PBD之间的差距。关键思想是引入具有特定结构的能量势能。我们的势能由一个约束的凸二次距离度量组成。约束是表达元素所需状态的一般非线性函数,例如四面体的体积必须保持在给定范围内。距离度量量化了在给定变形配置中违反的每个约束的程度。我们的求解器可以处理任意几何约束,但我们提出了一组特定的约束,这些约束源自连续变形能量。这些基于连续的约束非常实用,因为它们在处理不同分辨率和非均匀细分的网格时大大简化了参数调整。

方法:

  • a. 理论背景:
  • 本文介绍了在计算机图形学中基于物理的模拟的重要性,以及需要一个能够平衡现实感、准确性、普适性、鲁棒性、简单性和性能的求解器。它强调了当前方法的局限性,并介绍了提出的隐式积分求解器,它弥合了连续介质力学和基于位置的动力学(PBD)之间的差距。该求解器使用具有特定结构的能量势函数和局部/全局优化方法来处理任意几何约束。讨论了该求解器的优点,包括其鲁棒性、效率和每次迭代中能量的弱减少能力。还探讨了PBD和求解器之间的联系。
  • b. 技术路线:
  • 本文中描述的方法涉及通过找到最近的表面点并定义碰撞平面来解决碰撞约束。约束集由半空间定义,并且在该半空间中的投影可以是平面投影或恒等映射。该方法可以通过改变碰撞顶点的速度来处理摩擦和恢复。求解器可以包含各种类型的几何约束,例如使用铰链角度的弯曲约束。可以通过最小化辅助变量上的方程来执行局部求解,并且对于许多几何约束可以找到闭式解。如果不存在闭式解,则可以使用顺序二次规划(SQP)来求解优化问题。该求解器能够处理各种几何约束,并且可以使用单个求解器模拟复杂场景。

结果:

  • a. 详细的实验设置:
  • 本文中的框架使用C++实现,并使用OpenMP进行并行化。通过使用稀疏Cholesky分解对线性系统进行因式分解,并进行三次并行的反向替代,可以并行解决全局步骤中的x、y和z坐标。动态约束通过对线性系统进行秩更新和降级来处理。使用Eigen库进行稠密和稀疏线性代数计算。质量矩阵使用标准的单纯形质量离散化或其集中版本来计算。
  • b. 详细的实验结果:
  • 对于中等规模模型的模拟,通常需要5-10次迭代。每次迭代需要1-6毫秒,可以在MacBook Pro上实时模拟。有关计时和网格的更详细统计信息可以在附带视频中找到。

Note:

  • 本总结源自于LLM的总结,请注意数据判别. Power by ChatPaper. End.