We introduce a large scale benchmark for continuous collision detection (CCD) algorithms, composed of queries manually constructed to highlight challenging degenerate cases and automatically generated using existing simulators to cover common cases. We use the benchmark to evaluate the accuracy, correctness, and efficiency of state-of-the-art continuous collision detection algorithms, both with and without minimal separation. We discover that, despite the widespread use of CCD algorithms, existing algorithms are either: (1) correct but impractically slow, (2) efficient but incorrect, introducing false negatives which will lead to interpenetration, or (3) correct but over conservative, reporting a large number of false positives which might lead to inaccuracies when integrated in a simulator. By combining the seminal interval root finding algorithm introduced by Snyder in 1992 with modern predicate design techniques, we propose a simple and efficient CCD algorithm. This algorithm is competitive with state of the art methods in terms of runtime while conservatively reporting the time of impact and allowing explicit trade off between runtime efficiency and number of false positives reported.
翻译:我们采用了一个大型的连续碰撞探测算法(CCD)基准(CCD),该算法由人工构建的询问组成,以突出具有挑战性的堕落案例,并利用现有模拟器自动生成,以覆盖常见案例;我们使用该基准来评价最先进的连续碰撞探测算法的准确性、正确性和效率,无论是否最低限度地分离;我们发现,尽管广泛使用CCD算法,但现有的算法要么正确,但不切实际地缓慢,(2)有效但不正确,引入虚假的负数,导致相互渗透,或(3)正确但过于保守,报告大量虚假的正数,在将Snyder于1992年推出的半间隔根算法与现代上游设计技术结合起来时,我们建议一种简单而有效的CCD算法。这种算法在运行时间方面与艺术方法的状态竞争,同时保守地报告影响的时间,允许运行效率和报告的假正数之间明显交换。