Minkowski Sum Construction and other Applications of Arrangements of Geodesic Arcs on the Sphere

We present two exact implementations of efficient output-sensitive algorithms that compute Minkowski sums of two convex polyhedra in 3D. We do not assume general position. Namely, we handle degenerate input, and produce exact results. We provide a tight bound on the exact maximum complexity of Minkowski sums of polytopes in 3D in terms of the number of facets of the summand polytopes. The algorithms employ variants of a data structure that represents arrangements embedded on two-dimensional parametric surfaces in 3D, and they make use of many operations applied to arrangements in these representations. We have developed software components that support the arrangement data-structure variants and the operations applied to them. These software components are generic, as they can be instantiated with any number type. However, our algorithms require only (exact) rational arithmetic. These software components together with exact rational-arithmetic enable a robust, efficient, and elegant implementation of the Minkowski-sum constructions and the related applications. These software components are provided through a package of the Computational Geometry Algorithm Library (CGAL) called Arrangement_on_surface_2. We also present exact implementations of other applications that exploit arrangements of arcs of great circles embedded on the sphere. We use them as basic blocks in an exact implementation of an efficient algorithm that partitions an assembly of polyhedra in 3D with two hands using infinite translations. This application distinctly shows the importance of exact computation, as imprecise computation might result with dismissal of valid partitioning-motions.

[1]  Nathan Myers,et al.  A new and useful template technique: “traits” , 1996 .

[2]  Leonidas J. Guibas,et al.  Computing convolutions by reciprocal search , 1986, SCG '86.

[3]  Stefan Schirra,et al.  Robustness and Precision Issues in Geometric Computation , 2000, Handbook of Computational Geometry.

[4]  Leonidas J. Guibas,et al.  Rounding arrangements dynamically , 1995, SCG '95.

[5]  Dan Halperin,et al.  An experimental study of point location in planar arrangements in CGAL , 2009, JEAL.

[6]  Micha Sharir,et al.  Algorithmic motion planning , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[7]  Franz Aurenhammer,et al.  Voronoi Diagrams , 2000, Handbook of Computational Geometry.

[8]  Micha Sharir,et al.  Arrangements and Their Applications , 2000, Handbook of Computational Geometry.

[9]  Michael Kerber,et al.  Exact and efficient 2D-arrangements of arbitrary algebraic curves , 2008, SODA '08.

[10]  Peter Hachenberger,et al.  Exact Minkowksi Sums of Polyhedra and Exact and Efficient Decomposition of Polyhedra into Convex Pieces , 2007, Algorithmica.

[11]  Dinesh Manocha,et al.  Fast computation of generalized Voronoi diagrams using graphics hardware , 1999, SIGGRAPH.

[12]  Lydia E. Kavraki,et al.  Partitioning a Planar Assembly Into Two Connected Parts is NP-Complete , 1995, Inf. Process. Lett..

[13]  Jorge Stolfi,et al.  Objects that cannot be taken apart with two hands , 1994, Discret. Comput. Geom..

[14]  Kurt Mehlhorn,et al.  Reliable and Efficient Computational Geometry Via Controlled Perturbation , 2006, ICALP.

[15]  Jean-Daniel Boissonnat,et al.  Effective computational geometry for curves and surfaces , 2006 .

[16]  Kurt Mehlhorn,et al.  Arrangements on Parametric Surfaces I: General Framework and Infrastructure , 2010, Math. Comput. Sci..

[17]  Pijush K. Ghosh,et al.  A unified computational framework for Minkowski operations , 1993, Comput. Graph..

[18]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[19]  Elmar Schömer,et al.  Complete, exact, and efficient computations with cubic curves , 2004, SCG '04.

[20]  Dan Halperin,et al.  A perturbation scheme for spherical arrangements with application to molecular modeling , 1997, SCG '97.

[21]  Leonidas J. Guibas,et al.  Snap rounding line segments efficiently in two and three dimensions , 1997, SCG '97.

[22]  Lutz Kettner,et al.  Using generic programming for designing a data structure for polyhedral surfaces , 1999, Comput. Geom..

[23]  Bruce Randall Donald,et al.  A rational rotation method for robust geometric algorithms , 1991, SCG '92.

[24]  Christoph M. Hoffmann Solid modeling , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[25]  Jos B. T. M. Roerdink,et al.  An Efficient Algorithm to Calculate the Minkowski Sum of Convex 3D Polyhedra , 2001, International Conference on Computational Science.

[26]  Iddo Hanniel,et al.  An Exact, Complete and Efficient Computation of Arrangements of BÉzier Curves , 2009, IEEE Transactions on Automation Science and Engineering.

[27]  Dinesh Manocha,et al.  Efficient and exact manipulation of algebraic points and curves , 2000, Comput. Aided Des..

[28]  M. Carter Computer graphics: Principles and practice , 1997 .

[29]  Dinesh Manocha,et al.  A Simple Algorithm for Complete Motion Planning of Translating Polyhedral Robots , 2006, WAFR.

[30]  Gert Vegter,et al.  In handbook of discrete and computational geometry , 1997 .

[31]  Michael Ian Shamos,et al.  Closest-point problems , 1975, 16th Annual Symposium on Foundations of Computer Science (sfcs 1975).

[32]  Matthew Harold Austern,et al.  Generic programming and the STL , 1998 .

[33]  Kurt Mehlhorn,et al.  LEDA: a platform for combinatorial and geometric computing , 1997, CACM.

[34]  Michal Meyerovitch,et al.  Robust, Generic and Efficient Construction of Envelopes of Surfaces in Three-Dimensional Spaces , 2006, ESA.

[35]  David G. Kirkpatrick,et al.  Determining the Separation of Preprocessed Polyhedra - A Unified Approach , 1990, ICALP.

[36]  John Hershberger,et al.  Sweeping arrangements of curves , 1989, SCG '89.

[37]  Michael Hoffmann,et al.  An adaptable and extensible geometry kernel , 2007, Comput. Geom..

[38]  Thomas Ottmann,et al.  Algorithms for Reporting and Counting Geometric Intersections , 1979, IEEE Transactions on Computers.

[39]  Dan Halperin,et al.  Exact and efficient construction of Minkowski sums of convex polyhedra with applications , 2007, Comput. Aided Des..

[40]  Peter Gritzmann,et al.  Minkowski Addition of Polytopes: Computational Complexity and Applications to Gröbner Basis , 1993, SIAM J. Discret. Math..

[41]  Ulrich Finke,et al.  Overlaying simply connected planar subdivisions in linear time , 1995, SCG '95.

[42]  Geert-Jan Giezeman,et al.  On the design of CGAL a computational geometry algorithms library , 2000 .

[43]  Iddo Hanniel,et al.  The Design and Implementation of Planar Maps in CGAL , 1999, WAE.

[44]  Balas K. Natarajan,et al.  On planning assemblies , 1988, SCG '88.

[45]  Dan Halperin,et al.  Arrangements of geodesic arcs on the sphere , 2008, SCG '08.

[46]  Frédéric Cazals,et al.  Computing the exact arrangement of circles on a sphere, with applications in structural biology: video , 2007, SCG '07.

[47]  Gershon Elber,et al.  Polynomial/Rational Approximation of Minkowski Sum Boundary Curves , 1998, Graph. Model. Image Process..

[48]  Sylvain Pion,et al.  Exact and efficient computations on circles in CGAL and applications to VLSI design , 2007 .

[49]  E. Welzl,et al.  Exact Minkowski sums of polyhedra and exact and efficient decomposition of polyhedra in convex pieces , 2007 .

[50]  Cesar Palomo,et al.  Real-time High Dynamic Range Image-based Lighting , 2007 .

[51]  Sylvain Pion,et al.  Towards and open curved kernel , 2004, SCG '04.

[52]  Komei Fukuda,et al.  From the zonotope construction to the Minkowski addition of convex polytopes , 2004, J. Symb. Comput..

[53]  Dan Halperin,et al.  Code Flexibility and Program Efficiency by Genericity: Improving Cgal's Arrangements , 2004, ESA.

[54]  Dinesh Manocha,et al.  ESOLID---A System for Exact Boundary Evaluation , 2002, SMA '02.

[55]  Rajeev Motwani,et al.  On Certificates and Lookahead in Dynamic Graph Problems , 1996, SODA '96.

[56]  Dan Halperin,et al.  Arrangements on Parametric Surfaces II: Concretizations and Applications , 2010, Math. Comput. Sci..

[57]  Dan Halperin,et al.  Hybrid Motion Planning: Coordinating Two Discs Moving among Polygonal Obstacles in the Plane , 2002, WAFR.

[58]  Kurt Mehlhorn,et al.  Classroom Examples of Robustness Problems in Geometric Computations , 2004, ESA.

[59]  Leonidas J. Guibas,et al.  H-Walk: hierarchical distance computation for moving convex bodies , 1999, SCG '99.

[60]  Ming C. Lin,et al.  A fast algorithm for incremental distance calculation , 1991, Proceedings. 1991 IEEE International Conference on Robotics and Automation.

[61]  K. Sahr,et al.  Geodesic Discrete Global Grid Systems , 2003 .

[62]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[63]  Iddo Hanniel,et al.  Two-Dimensional Arrangements in CGAL and Adaptive Point Location for Parametric Curves , 2000, Algorithm Engineering.

[64]  D. Luke Stellations of the Rhombic Dodecahedron , 1957 .

[65]  Eric Berberich,et al.  Computing Envelopes of Quadrics , 2007 .

[66]  Jean-Claude Latombe,et al.  Geometric Reasoning About Mechanical Assembly , 1994, Artif. Intell..

[67]  Dinesh Manocha,et al.  ESOLID - A system for exact boundary evaluation , 2004 .

[68]  Eli Packer,et al.  Iterated snap rounding , 2002, Comput. Geom..

[69]  Mariette Yvinec,et al.  Triangulations in CGAL , 2002, Comput. Geom..

[70]  Dan Halperin,et al.  Advanced programming techniques applied to Cgal's arrangement package , 2007, Comput. Geom..

[71]  Geert-Jan Giezeman,et al.  On the design of CGAL a computational geometry algorithms library , 2000, Softw. Pract. Exp..

[72]  Andrei Alexandrescu,et al.  Modern C++ Design , 2001 .

[73]  Dinesh Manocha,et al.  Collision and Proximity Queries , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[74]  Micha Sharir,et al.  On Translational Motion Planning of a Convex Polyhedron in 3-Space , 1997, SIAM J. Comput..

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

[76]  Kurt Mehlhorn,et al.  Effective Computational Geometry for Curves and Surfaces , 2005 .

[77]  Alexander A. Stepanov,et al.  C++ Standard Template Library , 2000 .

[78]  Lutz Kettner,et al.  Snap rounding of Bézier curves , 2007, SCG '07.

[79]  Jorge Stolfi,et al.  Exact Algorithms for Circles on the Sphere , 2001, Int. J. Comput. Geom. Appl..

[80]  Leonidas J. Guibas,et al.  A kinetic framework for computational geometry , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[81]  Hiroshi Imai,et al.  Voronoi Diagram in the Laguerre Geometry and its Applications , 1985, SIAM J. Comput..

[82]  Raimund Seidel,et al.  Voronoi diagrams and arrangements , 1986, Discret. Comput. Geom..

[83]  Dinesh Manocha,et al.  Accurate Minkowski sum approximation of polyhedral models , 2004, 12th Pacific Conference on Computer Graphics and Applications, 2004. PG 2004. Proceedings..

[84]  Dan Halperin,et al.  Controlled perturbation for arrangements of circles , 2003, SCG '03.

[85]  Ketan Mulmuley A Fast Planar Partition Algorithm, I , 1990, J. Symb. Comput..

[86]  Jean-Daniel Boissonnat,et al.  Minkowski operations for satellite antenna layout , 1997, SCG '97.

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

[88]  Elmar Schömer,et al.  An Exact, Complete and Efficient Implementation for Computing Planar Maps of Quadric Intersection Curves * , 2005 .

[89]  S. Sathiya Keerthi,et al.  A fast procedure for computing the distance between complex objects in three-dimensional space , 1988, IEEE J. Robotics Autom..

[90]  Mark H. Overmars Designing the Computational Geometry Algorithms Library CGAL , 1996, WACG.

[91]  Kurt Mehlhorn,et al.  Boolean operations on 3D selective Nef complexes: Data structure, algorithms, optimized implementation and experiments , 2007, Comput. Geom..

[92]  Brian Mirtich,et al.  V-Clip: fast and robust polyhedral collision detection , 1998, TOGS.

[93]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[94]  Stewart T. Coffin Geometric Puzzle Design , 2006 .

[95]  Micha Sharir,et al.  Constructing Two-Dimensional Voronoi Diagrams via Divide-and-Conquer of Envelopes in Space , 2009, ISVD.

[96]  Ming C. Lin,et al.  Accelerated proximity queries between convex polyhedra by multi-level Voronoi marching , 2000, Proceedings. 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000) (Cat. No.00CH37113).

[97]  K. Sugihara Laguerre Voronoi Diagram on the Sphere , 2002 .

[98]  Dan Halperin,et al.  Exact minkowski sums of convex polyhedra , 2005, SCG.

[99]  Daniel Cohen-Or,et al.  Inner-Cover of Non-Convex Shapes , 2003, Int. J. Shape Model..

[100]  Sylvain Pion,et al.  A generic lazy evaluation scheme for exact geometric computations , 2006, Sci. Comput. Program..

[101]  Jarek Rossignac,et al.  Solid modeling , 1994, IEEE Computer Graphics and Applications.

[102]  Lutz Kettner,et al.  Two computational geometry libraries: LEDA and CGAL , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[103]  Leonidas J. Guibas,et al.  Polyhedral Assembly Partitioning Using Maximally Covered Cells in Arrangements of Convex Polytopes , 1998, Int. J. Comput. Geom. Appl..

[104]  Dan Halperin,et al.  On the exact maximum complexity of Minkowski sums of convex polyhedra , 2007, SCG '07.

[105]  Jean-Claude Latombe,et al.  A General Framework for Assembly Planning: The Motion Space Approach , 1998, SCG '98.

[106]  Jarek Rossignac,et al.  Solid-interpolating deformations: Construction and animation of PIPs , 1991, Comput. Graph..

[107]  Komei Fukuda,et al.  f-Vectors of Minkowski Additions of Convex Polytopes , 2007, Discret. Comput. Geom..

[108]  Kurt Mehlhorn,et al.  Sweeping and Maintaining Two-Dimensional Arrangements on Surfaces: A First Step , 2007, ESA.

[109]  Ron Wein,et al.  High-Level Filtering for Arrangements of Conic Arcs , 2002, ESA.

[110]  Godfried T. Toussaint,et al.  Movable Separability of Sets , 1985 .

[111]  Dinesh Manocha,et al.  Fast computation of generalized Voronoi diagrams using graphics hardware , 1999, SIGGRAPH.

[112]  Alexander A. Stepanov,et al.  Generic Programming , 1988, ISSAC.

[113]  G. Swaminathan Robot Motion Planning , 2006 .

[115]  Kurt Mehlhorn,et al.  Infimaximal Frames: A Technique for Making Lines Look Like Segments , 2003, Int. J. Comput. Geom. Appl..

[116]  Pankaj K. Agarwal,et al.  Polygon decomposition for efficient construction of Minkowski sums , 2000, Comput. Geom..

[117]  Sylvain Pion,et al.  ECG IST-2000-26473 Effective Computational Geometry for Curves and Surfaces ECG Technical Report No . : ECG-TR-361200-01 An Empirical Comparison of Software for Constructing Arrangements of Curved Arcs ( preliminary version ) , 2004 .

[118]  Joseph K. Davidson,et al.  Improvements to algorithms for computing the Minkowski sum of 3-polytopes , 2003, Comput. Aided Des..

[119]  Warren D. Smith,et al.  A characterization of convex hyperbolic polyhedra and of convex polyhedra inscribed in the sphere , 1992, math/9210218.

[120]  John D. Hobby,et al.  Practical segment intersection with finite precision output , 1999, Comput. Geom..

[121]  Jur P. van den Berg,et al.  The visibility--voronoi complex and its applications , 2005, EuroCG.

[122]  Stefan Näher,et al.  LEDA: A Library of Efficient Data Types and Algorithms , 1989, STACS.

[123]  Michael Hoffmann,et al.  An adaptable and extensible geometry kernel , 2001, Comput. Geom..

[124]  L. Guibas,et al.  Polyhedral Tracings and their Convolution , 1996 .

[125]  Gill Barequet,et al.  Maximizing the area of an axially symmetric polygon inscribed in a simple polygon , 2007, Comput. Graph..

[126]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[127]  Jorge Stolfi,et al.  Exact algorithms for circles on the sphere , 1998, SCG '98.

[128]  Kokichi Sugihara,et al.  The Minkowski sum of two simple surfaces generated by slope-monotone closed curves , 2002, Geometric Modeling and Processing. Theory and Applications. GMP 2002. Proceedings.

[129]  Michael Kerber,et al.  Exact arrangements on tori and Dupin cyclides , 2008, SPM '08.

[130]  Chee-Keng Yap,et al.  A core library for robust numeric and geometric computation , 1999, SCG '99.