用弹性模型做多个球的模拟,灵感来自于弹簧质点系统,这是从c++重写过来的第一版。
那几个gif图片就是运行效果
对所有的圆做一个(n2)复杂度的碰撞检测,如果两个圆相交了,就把相交看做压缩的弹簧,然后施加力即可。 这份代码里面所有受力的概念都直接跳了一步,直接对速度做了修改,相当于速度的增量,也就是加速度也就是力了。
然后弄了一些交互按钮,可以看到各种效果,不过核心算法是非常简单的。 也正因为算法很简单,我觉得这个做法以后可以跟其他物理模拟算法做耦合,把这些小球的效果也弄到别的模拟里面。
-LICENSE
-|data
-README.MD
-Taichi重写圆形碰撞模拟.py
运行"Taichi重写圆形碰撞模拟.py"即可