kDet: Parallel Constant Time Collision Detection for Polygonal Objects
Abstract
We define a novel geometric predicate and a class of objects that enables us to prove a linear bound on the number of intersecting polygon pairs for colliding 3D objects in that class. Our predicate is relevant both in theory and in practice: it is easy to check and it needs to consider only the geometric properties of the individual objects - it does not depend on the configuration of a given pair of objects. In addition, it characterizes a practically relevant class of objects: we checked our predicate on a large database of real-world 3D objects and the results show that it holds for all but the most pathological ones. Our proof is constructive in that it is the basis for a novel collision detection algorithm that realizes this linear complexity also in practice. Additionally, we present a parallelization of this algorithm with a worst-case running time that is independent of the number of polygons. Our algorithm is very well suited not only for rigid but also for deformable and even topology-changing objects, because it does not require any complex data structures or pre-processing. We have implemented our algorithm on the GPU and the results show that it is able to find in real-time all colliding polygons for pairs of deformable objects consisting of more than 200k triangles, including self-collisions.
BibTeX
@article {10.1111:cgf.13113,
journal = {Computer Graphics Forum},
title = {{kDet: Parallel Constant Time Collision Detection for Polygonal Objects}},
author = {Weller, René and Debowski, Nicole and Zachmann, Gabriel},
year = {2017},
publisher = {The Eurographics Association and John Wiley & Sons Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/cgf.13113}
}
journal = {Computer Graphics Forum},
title = {{kDet: Parallel Constant Time Collision Detection for Polygonal Objects}},
author = {Weller, René and Debowski, Nicole and Zachmann, Gabriel},
year = {2017},
publisher = {The Eurographics Association and John Wiley & Sons Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/cgf.13113}
}