以前的错误理解


接触处理的本质是用冲量分离刺穿,而不是接触了就给个支持力。
由于碰撞检测使用的不是连续碰撞检测,所以检测到的时候总会已经发生一些刺穿,碰撞检测会检测出刺穿法向分量和切线分量,然后计算补偿冲量分离刺穿。
如果给个支持力,是没有道理的,碰撞处理给的冲量已经满全满足了它。
{
从式子上可以看出,比如质点和平面碰撞冲量:Pn=-(1+e)*Vrn*m,物体在平面上放着,每次积分后,物体会因重力造成Vrn=g*dt,代入即F=-(1+e)*mg,
取极端情况e=0或1,
最少e=0时,够提供支持力-mg,
如果e=1,物体会受到向上的合力-mg。假设我们的数值积分是理想的,和真的定积分一样,那么dt后,物体会在平面上0.5*g*dt*dt处。然后他又落下来,碰撞接触速度为g*dt,和前面Vrn一样,所以它会不断地这样下去。由于理想化了积分,即dt的d是真的d, :-),所以(0.5*g*dt*dt)→0,所以物体会不动。
现在面对现实,dt也就是个1~5毫秒,质点位置就会处于数值动态平衡中,应该基本看不出来。。。


}


我在错误的理解下,直接给一个支持力,发现物体还是会缓慢进入另一物体……

BTW:弄了个数值记录工具,能生成函数图像
用GDI画的


可以看到刺穿速度:
 

EDIT:
先临时弄了冲量补偿:
试验了前面讨论的两种极端情况,和理论基本相符
e=0,合外力稳定为0,无刺穿速度

e=1 ,数值动态平衡,图像经过了放大,但数值都<0.005

图像给人感觉特殊,因为数值是呈周期性变化的的,而且振幅相等
posted @ 2007-07-09 23:30  Yuri  阅读(383)  评论(0编辑  收藏  举报