基于时间的碰撞检测,(速度再快都能检测得到)

什么是基于时间的碰撞检测?

   首先,了解一下,什么是基于帧的碰撞检测。基于帧的碰撞检测,就是说检测只在每一帧执行。但是不检测相邻帧之间的情况。因此,适合与,运动速度不快的物体的碰撞检测。

   而基于时间的碰撞检测,考虑就要全面些。不管速度再大,也能检测得到。

   以圆与圆的碰撞检测为例。

    
  1. 圆1:

    x1 = xl1+xmov1*t
    y1 = yl1+ymov1*t
    

    圆2:

    x2 = xl2+xmov2*t
    y2 = yl2+ymov2*t
    

    变量 xl1, yl1, xl2,  yl2 表示两个圆在上一帧的位置情况。 t表示,从上一帧开始计时的时间,以帧为单位。

  2. 两圆之间的距离:

     

  1. 如果发生碰撞的话,那么就有一下等式:

 

将x1,y1,x2,y2,带入上面的式子。就可以解出t。
如果解出t,  有0<t<=1。那就说明,在上一帧与下一帧之间发生了碰撞。因为t的单位是帧。
t=2,说明要经过两帧才发生碰撞。就是这个意思。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值