OpenClothPy icon indicating copy to clipboard operation
OpenClothPy copied to clipboard

Wave pattern on the free falling cloth

Open qiqigit opened this issue 1 year ago • 1 comments

您好! 最近在参考您的cloth代码时遇到了一个问题,想向您请教

将ClothResX增大,比如设定为127,除去球体,让布料做自由落体的时候出现了图中这样的周期性波浪。本人对物理仿真的了解不深,不知道出现这种现象的可能原因会是什么呢? (图中的绿色球体用于标注本应被固定的顶点,此时并没有作用)

image

qiqigit avatar Feb 22 '24 08:02 qiqigit

理想情况下

  • 没有约束(碰撞体,边界条件),没有风阻的情况下,布料就和一块木板一样自由下落

计算机仿真

  • 由于浮点数在计算上表示有限,有时候会出现精度问题,比如每个质点下落应该加上9.8m/s的速度,实际上是9.80001,也有可能是9.799999。
  • 然后如果你学过数值分析一类的课程就会知道,误差在某些情况会被放大,形成数值振荡(不收敛)

解决方法

  • 一个使用更高的精度如float32到float64
  • 另外一个是引入damping,通降低数值误差对仿真的影响

PS

  • 也有可能是代码问题,这个就得debug咯

lyd405121 avatar Feb 26 '24 02:02 lyd405121