Geometric collisions for time-dependent parametric surfaces

We develop an algorithm to detect geometric collisions between pairs of time-dependent parametric surfaces. The algorithm works on surfaces that are continuous and have bounded derivatives, and includes objects that move or deform as a function of time. The algorithm numerically solves for the parametric values corresponding to coincident points and near-misses between the surfaces of two parametric functions.Upper bounds on the parametric derivatives make it possible to guarantee the successful detection of collisions and near-misses; we describe a method to find the derivative bounds for many surface types. To compute collisions between new types of surfaces, the mathematical collision analysis is needed only once per surface type, rather than analyzing for each pair of surface types.The algorithm is hierarchical, first finding potential collisions over large volumes, and then refining the solution to smaller volumes. The user may specify the desired accuracy of the solution. A C-code implementation is described, with results for several non-bicubic and bicubic time-dependent parametric functions. An animation of the collision computation demonstrates collisions between complex parametric functions.

[1]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[2]  Henry Gouraud,et al.  Computer Display of Curved Surfaces , 1971, Outstanding Dissertations in the Computer Sciences.

[3]  J. M. Watt Numerical Initial Value Problems in Ordinary Differential Equations , 1972 .

[4]  P. Bézier MATHEMATICAL AND PRACTICAL POSSIBILITIES OF UNISURF , 1974 .

[5]  Donald E. Knuth,et al.  The art of computer programming: V.1.: Fundamental algorithms , 1997 .

[6]  Jon Louis Bentley,et al.  Data Structures for Range Searching , 1979, CSUR.

[7]  J. Lane,et al.  A generalized scan line algorithm for the computer display of parametrically defined surfaces , 1979 .

[8]  James C. Bezdek,et al.  A Convergence Theorem for the Fuzzy ISODATA Clustering Algorithms , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[9]  Richard F. Riesenfeld,et al.  A Theoretical Development for the Computer Generation and Display of Piecewise Polynomial Surfaces , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[10]  Jacob T. Schwartz,et al.  Finding the Minimum Distance Between Two Convex Polygons , 1981, Information Processing Letters.

[11]  Dino Schweitzer,et al.  Scanline rendering of parametric surfaces , 1982, SIGGRAPH.

[12]  Mario Tokoro,et al.  Collision detection in motion simulation , 1983, Comput. Graph..

[13]  J. Schwartz,et al.  Efficient Detection of Intersections among Spheres , 1983 .

[14]  Alan H. Barr,et al.  Global and local deformations of solid primitives , 1984, SIGGRAPH.

[15]  Hanan Samet,et al.  The Quadtree and Related Hierarchical Data Structures , 1984, CSUR.

[16]  D. T. Lee,et al.  Computational Geometry—A Survey , 1984, IEEE Transactions on Computers.

[17]  Brain P. Von Herzen Sampling Deformed, Intersecting Surfaces with Quadtrees , 1985 .

[18]  Francis J. M. Schmitt,et al.  An adaptive subdivision method for surface-fitting from sampled data , 1986, SIGGRAPH.

[19]  S. A. Cameron,et al.  Determining the minimum translational distance between two convex polyhedra , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[20]  Karl G. Kempf,et al.  A collision detection algorithm based on velocity and distance bounds , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[21]  John F. Canny,et al.  Collision Detection for Moving Polyhedra , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[22]  Thomas W. Sederberg,et al.  Free-form deformation of solid geometric models , 1986, SIGGRAPH.

[23]  Robert P. Markot,et al.  Surface algorithms using bounds on derivatives , 1986, Comput. Aided Geom. Des..

[24]  Alan H. Barr,et al.  Accurate triangulations of deformed, intersecting surfaces , 1987, SIGGRAPH.

[25]  Arie E. Kaufman,et al.  Efficient algorithms for 3D scan-conversion of parametric curves, surfaces, and volumes , 1987, SIGGRAPH.

[26]  Jane Wilhelms,et al.  Collision Detection and Response for Computer Animation , 1988, SIGGRAPH.

[27]  Demetri Terzopoulos,et al.  Modeling inelastic deformation: viscolelasticity, plasticity, fracture , 1988, SIGGRAPH.

[28]  John C. Platt,et al.  Constraints methods for flexible models , 1988, SIGGRAPH.

[29]  B. V. Herzen Applications of Surface Networks to Sampling Problems in Computer Graphics , 1988 .

[30]  Ramesh C. Jain,et al.  Segmentation through Variable-Order Surface Fitting , 1988, IEEE Trans. Pattern Anal. Mach. Intell..

[31]  Ronen Barzel,et al.  A modeling system based on dynamic constraints , 1988, SIGGRAPH.

[32]  Hanan Samet,et al.  The Design and Analysis of Spatial Data Structures , 1989 .

[33]  Devendra Kalra,et al.  Guaranteed ray intersections with implicit surfaces , 1989, SIGGRAPH.

[34]  Hanan Samet,et al.  Applications of spatial data structures , 1989 .

[35]  Richard E. Parent,et al.  Layered construction for deformable animated characters , 1989, SIGGRAPH.

[36]  David Baraff,et al.  Analytical methods for dynamic simulation of non-penetrating rigid bodies , 1989, SIGGRAPH.