针对一段时间内的多个运动物体之间的碰撞检测,提出一种基于距离算法(Gilbert-Johnson-Keerthialgorithm,GJK算法)的凸体快速连续碰撞检测算法,该算法主要通过判断一段时间内两物体之间的最小距离是否为零来检测碰撞发生情况.首先利用GJK算法在有限步骤内计算得到最小距离,检测两物体是否发生碰撞;若两物体发生碰撞,进而利用ray-casting算法确定发生碰撞的精确位置,根据环境要求做出相应响应,调整运动物体位置.仿真结果表明,对多个运动物体间的连续碰撞检测,该算法有较高的实时性和准确性.
This paper presents a fast continuous collision detection algorithm to dealing with moving multiple convex objects within a period of time, which is based on the Gilbert-Johnson-Keerthi algorithm. The algorithm is determined by whether the minimum distance between the two objects within a period of time is zero to detect the occurrence of a collision. First, the algo- rithm utilizes GJK algorithm to calculate the minimum distance between the two objects and to detect the collision in finite steps. If two objects collide, then, determine the precise collision position of two objects based on the ray-casting algorithm, and respond according to the environmental requirements, adjust two objects" location. The simulation results show that this al- gorithm has high real-time and accurate characteristics for continuous collision detection between multiple moving objects.