This Article 
 Bibliographic References 
 Add to: 
Fast Collision Detection Among Multiple Moving Spheres
July-September 1998 (vol. 4 no. 3)
pp. 230-242

Abstract—This paper presents an event-driven approach that efficiently detects collisions among multiple ballistic spheres moving in the 3D space. Adopting a hierarchical uniform space subdivision scheme, we are able to trace the trajectories of spheres and their time-varying spatial distribution. We identify three types of events to detect the sequence of all collisions during our simulation: collision, entering, and leaving. The first type of events is due to actual collisions, and the other two types occur when spheres move from subspace to subspace in the space. Tracing all such events in the order of their occurring times, we are able to avoid fixed time step simulation. When the size of the largest sphere is bounded by a constant multiple of that of the smallest, it takes $O\left( {\bar n_c\ \log\ n+\overline n_e\ \log\ n} \right)$ time with O(n) space after O(n log n) time preprocessing to simulate n moving spheres, where $\overline n_c$ and $\overline n_e$ are the number of actual collisions and that of entering and leaving events during the simulation, respectively. Since $\overline n_e$ depends on the size of subspaces, we modify the collision model from kinetic theory for molecular gas to determine the subspace sizes for the space subdivision scheme, that minimize simulation time. Experimental results show that collision detection can be done in linear time in n over a large range.

[1] D. Baraff, "Curved Surfaces and Coherence for Non-Penetrating Rigid Body Simulation," Computer Graphics, vol. 24, no. 4, pp. 19-28, Aug. 1990.
[2] D. Baraff, "Linear-Time Dynamics Using Lagrange Multipliers," Proc. ACM SIGGRAPH Conf. Computer Graphics, pp. 137-146, 1996.
[3] J. Basch, L.J. Guibas, and J. Hershberger, "Data Structures for Mobile Data," Proc. ACM-SIAM Symp. Discrete Algorithms, 1997.
[4] J. Cohen, M. Lin, D. Manocha, and M. Ponamgi, "I-Collide: An Interactive and Exact Collision Detection System for Large-Scale Environments," Proc. ACM Interactive 3D Graphics Conf., pp. 189-196, 1995.
[5] T. Duff, "Interval Arithmetic and Recursive Subdivision for Implicit Functions and Constructive Solid Geometry," ACM Computer Graphics, vol. 26, no. 2, pp. 131-139, 1992.
[6] R.P. Feynmann, R.B. Leighton, and M. Sands, The Feynmann Lectures on Physics, vol. 1, pp. 43.1-43.4. Addison-Wesley, 1963.
[7] S. Gottschalk, M. Lin, and D. Manocha, "Obb-Tree: A Hierarchical Structure for Rapid Interference Detection," Proc. ACM Siggraph '96, pp. 171-180, 1996.
[8] J.K. Hahn, "Realistic Animation of Rigid Bodies," Computer Graphics, vol. 22, no. 4, pp. 299-308, Aug. 1988.
[9] D. Halperin and M.H. Overmars, "Spheres and Molecules and Hidden Surface Removal," Proc. 10th Ann. ACM Symp. Computational Geometry, pp. 113-122, 1994.
[10] V. Hayward, S. Aubry, A. Foisy, and Y. Ghallab, "Efficient Collision Prediction Among Many Moving Objects," Int'l J. Robotics Research, vol. 14, no. 2, pp. 129-143, 1995.
[11] B.V. Herzen, A.H. Barr, and G.R. Zatz, "Geometric Collisions for Time-Dependent Parametric Surfaces," Computer Graphics, vol. 24, no. 4, pp. 39-48, 1990.
[12] P.M. Hubbard, "Collision Detection for Interactive Graphics Applications," IEEE Trans. Visualization and Computer Graphics, Vol. 1, No. 3, Sept. 1995, pp. 218-230.
[13] P.M. Hubbard, "Approximating Polyhedra with Spheres for Time-Critical Collision Detection," ACM Trans. Graphics, vol. 15, no. 3, pp. 179-210, July 1996.
[14] C. Kittel, Introduction to Solid State Physics, sixth ed., p. 60. John Wiley&Sons, 1986.
[15] C. Levinthal, "Molecular Model-Building by Computer," Scientific Am., vol. 213, no. 6, pp. 42-52, June 1966.
[16] M.C. Lin, "Efficient Collision Detection for Animation and Robotics," PhD thesis, Dept. of Electrical Eng. and Computer Science, Univ. of California, Berkeley, Dec. 1993.
[17] M.C. Lin and J.F. Canny, "Efficient Algorithms for Incremental Distance Computation," Proc. IEEE Conf. Robotics and Automation, pp. 1,008-1,014, 1991.
[18] M.C. Lin and D. Manocha, "Fast Interference Detection Between Geometric Models," The Visual Computer, vol. 11, no. 10, pp. 542-561, 1995.
[19] M.C. Lin, D. Manocha, and J. Canny, "Fast Contact Determination in Dynamic Environments," Proc. IEEE Conf. Robotics and Automation, pp. 602-608, 1994.
[20] V.J. Milenkovic, "Position-Based Physics: Simulating the Motion of Many Highly Interacting Spheres and Polyhedra," Computer Graphics Proc., Ann. Conf. Series, pp. 129-136, 1996.
[21] B. Mirtich and J. Canny, "Impulse-Based Simulation of Rigid Bodies," Proc. ACM Symp. Interactive 3D Graphics, pp. 181-188, 1995.
[22] M. Moore and J. Wilhelms, "Collision Detection and Response for Computer Animation," Computer Graphics, vol. 22, no. 4, pp. 289-298, 1988.
[23] J. Nievergelt and E.M. Reingold, "Binary Search Trees of Bounded Balance," SIAM J. Computing, vol. 2, no. 1, pp. 33-43, Mar. 1973.
[24] J. O'Rourke and N. Badler, "Decomposition of Three-Dimensional Objects Into Spheres," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 1, no. 3, pp. 295-305, July 1979.
[25] M.H. Overmars, "Point Location in Fat Subdivisions," Information Processing Letters, vol. 44, no. 5, pp. 261-265, Dec. 1992.
[26] W.H. Press, B.P. Flannery, S.A. Teukolsky, and W.T. Vetterling, Numerical Recipes, second ed., chapter 15. Cambridge Univ. Press, 1986.
[27] S. Quinlan, Efficient Distance Computation Between Non-Convex Objects Proc. IEEE Int'l Conf. Robotics and Automation, pp. 3325-3330, 1994.
[28] W.T. Reeves, “Particle Systems—A Technique for Modeling a Class of Fuzzy Objects,” ACM Trans. Graphics, vol. 2, no. 2, pp. 91-108, Apr. 1983.
[29] C. Reynolds, “Flocks, Herds, and Schools: A Distributed Behavioral Model,” Proc. SIGGRAPH 1987, Computer Graphics, vol. 21, no. 4, pp. 25-34, 1987.
[30] R.L. Scheaffer and J.T. McClave, Probability and Statistics for Engineers, third ed., chapters 9, 10. Int'l Student Press, 1990.
[31] K. Sims, “Particle Animation and Rendering Using Data Parallel Computation,” Computer Graphics (SIGGRAPH '90 Proc.), F. Baskett, ed., vol. 24, no. 4, pp. 405-413, Aug. 1990.
[32] J.M. Snyder, "Interval Analysis for Computer Graphics," Computer Graphics, vol. 26, no. 2, pp. 121-130, July 1992.
[33] K.R. Symon, Mechanics, third ed., p. 176. Addison-Wesley, 1979.
[34] R. Szeliski and D. Tonnesen, "Surface Modelling with Oriented Particle Systems," Computer Graphics(Proc. Siggraph 92), vol. 26, no. 2, 1992, pp. 185-194.
[35] D. Tonnesen, "Modeling Liquids and Solids Using Thermal Particles," Proc. Graphics Interface '91, pp. 255-262, 1991.
[36] G. Turk, "Interactive Collision Detection for Molecular Graphics," Technical Report 90-014, Dept. of Computer Science, Univ. of North Carolina at Chapel Hill, Jan. 1990.
[37] R. Webb and M. Gigante, "Using Dynamic Bounding Volume Hierarchies to Improve Efficiency of Rigid Body Simulation," Visual Computing (CGI Proc.), pp. 825-842, 1992.
[38] D.E. Willard and G.S. Lueker, "Adding Range Restriction Capability to Dynamic Data Structure," J. ACM, vol. 32, no. 3, pp. 597-617, July 1985.

Index Terms:
Collision detection, event-driven approach, physical simulation, computer animation, computational geometry.
Dong-Jin Kim, Leonidas J. Guibas, Sung Yong Shin, "Fast Collision Detection Among Multiple Moving Spheres," IEEE Transactions on Visualization and Computer Graphics, vol. 4, no. 3, pp. 230-242, July-Sept. 1998, doi:10.1109/2945.722297
Usage of this product signifies your acceptance of the Terms of Use.