Rapid and Accurate Contact Determination between Spline Models using ShellTrees

In this paper, we present an efficient algorithm for contact determination between spline models. We make use of a new hierarchy, called ShellTree, that comprises of spherical shells and oriented bounding boxes. Each spherical shell corresponds to a portion of the volume between two concentric spheres. Given large spline models, our algorithm decomposes each surface into Bézier patches as part of pre‐processing. At runtime it dynamically computes a tight fitting axis‐aligned bounding box across each Bézier patch and efficiently checks all such boxes for overlap. Using off‐line and on‐line techniques for tree construction, our algorithm computes ShellTrees for Bézier patches and performs fast overlap tests between them to detect collisions. The overall approach can trade off runtime performance for reduced memory requirements. We have implemented the algorithm and tested it on large models, each composed of hundred of patches. Its performance varies with the configurations of the objects. For many complex models composed of hundreds of patches, it can accurately compute the contacts in a few milliseconds.

[1]  Dinesh Manocha,et al.  A new approach for surface intersection , 1991, SMA '91.

[2]  Dinesh Manocha,et al.  Spherical shell: a higher order bounding volume for fast proximity queries , 1998 .

[3]  Joseph S. B. Mitchell,et al.  Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs , 1998, IEEE Trans. Vis. Comput. Graph..

[4]  Tom Duff,et al.  Interval arithmetic recursive subdivision for implicit functions and constructive solid geometry , 1992, SIGGRAPH.

[5]  A. Requicha,et al.  Piecewise-circular curves for geometric modeling , 1987 .

[6]  T. Sederberg,et al.  Comparison of three curve intersection algorithms , 1986 .

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

[8]  David Baraff,et al.  Curved surfaces and coherence for non-penetrating rigid body simulation , 1990, SIGGRAPH.

[9]  Alan H. Barr,et al.  Geometric collisions for time-dependent parametric surfaces , 1990, SIGGRAPH.

[10]  Dinesh Manocha,et al.  Algorithms for intersecting parametric and algebraic curves I: simple intersections , 1994, TOGS.

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

[12]  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.

[13]  John M. Snyder,et al.  Interval methods for multi-point collisions between time-dependent curved surfaces , 1993, SIGGRAPH.

[14]  Leonidas J. Guibas,et al.  BOXTREE: A Hierarchical Representation for Surfaces in 3D , 1996, Comput. Graph. Forum.

[15]  Michael E. Hohmeyer,et al.  A surface intersection algorithm based on loop detection , 1991, SMA '91.

[16]  Stephen Cameron,et al.  Enhancing GJK: computing minimum and penetration distances between convex polyhedra , 1997, Proceedings of International Conference on Robotics and Automation.

[17]  Dinesh Manocha,et al.  OBBTree: a hierarchical structure for rapid interference detection , 1996, SIGGRAPH.

[18]  Dinesh Manocha,et al.  Incremental Algorithms for Collision Detection Between General Solid Models , 1994 .

[19]  Sean Quinlan,et al.  Efficient distance computation between non-convex objects , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

[20]  H. Edelsbrunner A new approach to rectangle intersections part I , 1983 .

[21]  Stephen Cameron,et al.  Approximation hierarchies and S-bounds , 1991, SMA '91.

[22]  Hans-Peter Kriegel,et al.  The R*-tree: an efficient and robust access method for points and rectangles , 1990, SIGMOD '90.

[23]  Thomas W. Sederberg,et al.  Fat arcs: A bounding region with cubic convergence , 1989, Comput. Aided Geom. Des..

[24]  Dinesh Manocha,et al.  Algebraic pruning: a fast technique for curve and surface intersection , 1997, Comput. Aided Geom. Des..

[25]  Raimund Seidel,et al.  Linear programming and convex hulls made easy , 1990, SCG '90.

[26]  Philip M. Hubbard,et al.  Interactive collision detection , 1993, Proceedings of 1993 IEEE Research Properties in Virtual Reality Symposium.

[27]  S. Mudur,et al.  A new class of algorithms for the processing of parametric curves , 1983 .

[28]  Thomas W. Sederberg,et al.  Loop detection in surface patch intersections , 1988, Comput. Aided Geom. Des..

[29]  Tomoyuki Nishita,et al.  Geometric hermite approximation of surface patch intersection curves , 1991, Comput. Aided Geom. Des..

[30]  Chandrajit L. Bajaj,et al.  Tracing surface intersections , 1988, Comput. Aided Geom. Des..