OpenClothPy
OpenClothPy copied to clipboard
Wave pattern on the free falling cloth
您好! 最近在参考您的cloth代码时遇到了一个问题,想向您请教
将ClothResX增大,比如设定为127,除去球体,让布料做自由落体的时候出现了图中这样的周期性波浪。本人对物理仿真的了解不深,不知道出现这种现象的可能原因会是什么呢? (图中的绿色球体用于标注本应被固定的顶点,此时并没有作用)
理想情况下
- 没有约束(碰撞体,边界条件),没有风阻的情况下,布料就和一块木板一样自由下落
计算机仿真
- 由于浮点数在计算上表示有限,有时候会出现精度问题,比如每个质点下落应该加上9.8m/s的速度,实际上是9.80001,也有可能是9.799999。
- 然后如果你学过数值分析一类的课程就会知道,误差在某些情况会被放大,形成数值振荡(不收敛)
解决方法
- 一个使用更高的精度如float32到float64
- 另外一个是引入damping,通降低数值误差对仿真的影响
PS
- 也有可能是代码问题,这个就得debug咯