快速布料模拟的方向约束执行方法
1. 引言
布料模拟在计算机图形学中应用广泛,许多系统能够实时模拟中等复杂度的布料模型。基于粒子的系统是实现交互式实时结果最常用的模型,但基于粒子的布料模型常出现过度拉伸的问题,因此通常会采用特定的几何边长约束执行程序来解决。
传统的迭代约束执行方法结合显式积分方法,适合粒子数量较少的布料模拟系统,能避免求解方程组,实现计算速度快且视觉效果良好的模拟。然而,自Provot提出迭代几何边长约束执行方法以来,该方法一直未得到改进。本文提出的新方法能显著改善这一方法,该方法简单、鲁棒,能实现逼真的硬布料行为,无视觉瑕疵,还能将常规迭代约束执行的计算时间最多缩短80%。
2. 相关工作
- 迭代方法 :Provot提出的迭代约束执行方法,通过迭代扫描布料,识别出长度超过阈值的弹簧,然后沿弹簧轴移动连接的两个粒子,使弹簧恢复到原长。但这种方法存在局限性,一次迭代不一定能得到满意的视觉效果,布料还可能出现振荡行为。为克服这些问题,通常需要多次应用校正程序,但增加迭代次数会降低模拟性能,且难以确定达到理想效果所需的迭代次数。此外,弹簧的校正顺序依赖于数据结构,在全局约束的情况下,顺序可能更为重要。
- 非迭代方法 :除了迭代方法,还可以通过求解非线性约束方程组来解决问题。Terzopoulos等人使用高斯 - 赛德尔方法用线性方程组近似求解;另一种流行的方法是简化坐标公式,通过对无约束系统施加约束来减少自由度并进行参数化;拉格朗日乘数公式也被广泛使用,它能定义速度和其他类型的约束。
本文提出的方法最适
超级会员免费看
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



