Shortest Path Geometric Rounding

Abstract. Exact implementations of algorithms of computational geometry are subject to exponential growth in running time and space. In particular, coordinate bit-complexity can grow exponentially when algorithms are cascaded : the output of one algorithm becomes the input to the next. Cascading is a significant problem in practice. We propose a geometric rounding technique: shortest path rounding . Shortest path rounding trades accuracy for space and time and eliminates the exponential cost introduced by cascading. It can be applied to all algorithms which operate on planar polygonal regions, for example, set operations, transformations, convex hull, triangulation, and Minkowski sum. Unlike other geometric rounding techniques, shortest path rounding can round vertices to arbitrary lattices, even in polar coordinates, as long as the rounding cells are connected. (Other rounding techniques can only round to the integer grid.) On the integer grid, shortest path rounding introduces less combinatorial change and geometric error than the other rounding methods. Three algorithms are given for shortest path rounding, one of which we have used in industrial application software since 1992. In combination with recent advances in exact floating point evaluation of numerical primitives, shortest path geometric rounding yields a practical solution to numerical issues in computational geometry. Geometric algorithms can be implemented exactly on floating point input coordinates; the exact output coordinates can be rounded to accurate floating point approximations; and the cost of each arithmetic operation is only a little more than if it were implemented as a single hardware floating point operation.

[1]  Victor J. Milenkovic,et al.  Double precision geometry: a general technique for calculating line and segment intersections using rounded arithmetic , 1989, 30th Annual Symposium on Foundations of Computer Science.

[2]  Victor J. Milenkovic,et al.  Numerical stability of algorithms for line arrangements , 1991, SCG '91.

[3]  F. Frances Yao,et al.  Finite-resolution computational geometry , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[4]  Zhenyu Li,et al.  Compaction algorithms for non-convex polygons and their applications , 1995 .

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

[6]  Christopher J. Van Wyk,et al.  Efficient exact arithmetic for computational geometry , 1993, SCG '93.

[7]  Wei Chen,et al.  Parallel robust algorithms for constructing strongly convex hulls , 1996, SCG '96.

[8]  Victor J. Milenkovic Practical methods for set operations on polygons using exact arithmetic , 1995, CCCG.

[9]  Steven Fortune,et al.  Polyhedral modelling with multiprecision integer arithmetic , 1997, Comput. Aided Des..

[10]  V. Milenkovic Robust Polygon Modeling , 1993 .

[11]  Kokichi Sugihara,et al.  Delaunay triangulations in three dimensions with finite precision arithmetic , 1992, Comput. Aided Geom. Des..

[12]  Zhenyu Li,et al.  Multiple Containment Methods , 1994 .

[13]  Victor J. Milenkovic,et al.  Translational polygon containment and minimal enclosure using linear programming based restriction , 1996, STOC '96.

[14]  Kokichi Sugihara A Robust and Consistent Algorithm for Intersecting Convex Polyhedra , 1994, Comput. Graph. Forum.

[15]  Victor Milenkovic,et al.  Containment algorithms for nonconvex polygons with applications to layout , 1995 .

[16]  Kokichi Sugihara,et al.  A solid modelling system free from topological inconsistency , 1990 .

[17]  Bernd Sturmfels,et al.  Coordinate representation of order types requires exponential storage , 1989, STOC '89.

[18]  Steven Fortune,et al.  Numerical stability of algorithms for 2-d Delaunay triangulations , 1995, Int. J. Comput. Geom. Appl..

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

[20]  Victor J. Milenkovic,et al.  Column-Based Strip Packing Using Ordered and Compliant Containment , 1996, WACG.

[21]  Victor J. Milenkovic,et al.  Finding compact coordinate representations for polygons and polyhedra , 1990, SCG '90.

[22]  Chandrajit L. Bajaj,et al.  Polygon Nesting and Robustness , 1990, Inf. Process. Lett..

[23]  Jonathan Richard Shewchuk,et al.  Robust adaptive floating-point geometric predicates , 1996, SCG '96.

[24]  V. Milenkovic Rounding Face Lattices in D Dimensions , 1990 .

[25]  Lee R. Nackman,et al.  Finding compact coordinate representations for polygons and polyhedra , 1990 .

[26]  V. Milenkovic,et al.  Compaction and separation algorithms for non-convex polygons and their applications☆ , 1995 .

[27]  Victor J. Milenkovic,et al.  Multiple Translational Containment Part II: Exact Algorithms , 1997, Algorithmica.

[28]  Victor J. Milenkovic,et al.  Multiple Translational Containment Part I: An Approximate Algorithm , 1997, Algorithmica.

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

[30]  Victor J. Milenkovic,et al.  Verifiable Implementations of Geometric Algorithms Using Finite Precision Arithmetic , 1989, Artif. Intell..

[31]  Kokichi Sugihara,et al.  Numerically Robust Algorithm for Contructing Constrained Delaunay Triangulation , 1994, CCCG.

[32]  Zhenyu Li,et al.  Constructing strongly convex hulls using exact or rounded arithmetic , 1990, SCG '90.

[33]  Victor J. Milenkovic,et al.  Rational Orthogonal Approximations to Orthogonal Matrices , 1993, Comput. Geom..