High Performance Algorithms for Counting Collisions and Pairwise Interactions

The problem of counting collisions or interactions is common in areas as computer graphics and scientific simulations. Since it is a major bottleneck in applications of these areas, a lot of research has been carried out on such subject, mainly focused on techniques that allow calculations to be performed within pruned sets of objects. This paper focuses on how interaction calculation (such as collisions) within these sets can be done more efficiently than existing approaches. Two algorithms are proposed: a sequential algorithm that has linear complexity at the cost of high memory usage; and a parallel algorithm, mathematically proved to be correct, that manages to use GPU resources more efficiently than existing approaches. The proposed and existing algorithms were implemented, and experiments show a speedup of 21.7 for the sequential algorithm (on small problem size), and 1.12 for the parallel proposal (large problem size). By improving interaction calculation, this work contributes to research areas that promote interconnection in the modern world, such as computer graphics and robotics.

[1]  Andreas Dietrich,et al.  Spatial splits in bounding volume hierarchies , 2009, High Performance Graphics.

[2]  I. Wald,et al.  On fast Construction of SAH-based Bounding Volume Hierarchies , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[3]  Ming C. Lin,et al.  A framework for fast and accurate collision detection for haptic interaction , 2005, SIGGRAPH Courses.

[4]  Abderrahmane Kheddar,et al.  Fast Continuous Collision Detection between Rigid Bodies , 2002, Comput. Graph. Forum.

[5]  Dinesh Manocha,et al.  Fast and exact continuous collision detection with Bernstein sign classification , 2014, ACM Trans. Graph..

[6]  Ronald Fedkiw,et al.  Robust treatment of collisions, contact and friction for cloth animation , 2002, SIGGRAPH Courses.

[7]  Andrew Selle,et al.  To appear in the ACM SIGGRAPH conference proceedings A Mass Spring Model for Hair Simulation , 2008 .

[8]  Leslie Greengard,et al.  A fast algorithm for particle simulations , 1987 .

[9]  Dinesh Manocha,et al.  CCQ: Efficient Local Planning Using Connection Collision Query , 2010, WAFR.

[10]  P. Marais,et al.  Towards realistic and interactive sand simulation: A GPU-based framework , 2013 .

[11]  Roland Siegwart,et al.  Comparison of nearest-neighbor-search strategies and implementations for efficient shape registration , 2012 .

[12]  Guy E. Blelloch,et al.  Programming parallel algorithms , 1996, CACM.

[13]  Xavier Provot,et al.  Collision and self-collision handling in cloth model dedicated to design garments , 1997, Computer Animation and Simulation.

[14]  Ronald L. Graham,et al.  Concrete mathematics - a foundation for computer science , 1991 .

[15]  Jingwei Zheng,et al.  GPU-based parallel algorithm for particle contact detection and its application in self-compacting concrete flow simulations , 2012 .

[16]  Dinesh Manocha,et al.  Six degree-of-freedom haptic display of polygonal models , 2000, IEEE Visualization.

[17]  Dinesh Manocha,et al.  I-COLLIDE: an interactive and exact collision detection system for large-scale environments , 1995, I3D '95.

[18]  Ming C. Lin,et al.  Collision Detection between Geometric Models: A Survey , 1998 .

[19]  Heitor Silvério Lopes,et al.  Parallel Artificial Bee Colony Algorithm Approaches for Protein Structure Prediction Using the 3DHP-SC Model , 2010, IDC.

[20]  Dinesh Manocha,et al.  CULLIDE: interactive collision detection between complex models in large environments using graphics hardware , 2003, HWWS '03.

[21]  Robert Bridson,et al.  Efficient geometrically exact continuous collision detection , 2012, ACM Trans. Graph..

[22]  Dinesh Manocha,et al.  Efficient Local Planning using Connection Collision Query , 2010 .