Stable snap rounding

Snap rounding is a popular method for rounding the vertices of a planar arrangement of line segments to the integer grid. It has many advantages, including minimum perturbation of the segments, preservation of the arrangement topology, and ease of implementation. However, snap rounding has one significant weakness: it is not stable (i.e., not idempotent). That is, applying snap rounding to a snap-rounded arrangement of n segments may cause additional segment perturbation, and the number of iterations of snap rounding needed to reach stability may be as large as Θ(n2). This paper introduces stable snap rounding, a variant of snap rounding that has all of snap rounding's advantages and is also idempotent. In particular, stable snap rounding does not change any arrangement whose vertices are already grid points (such as those produced by stable snap rounding or standard snap rounding).

[1]  Wai-Kai Chen,et al.  The VLSI Handbook , 2000 .

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

[3]  John Hershberger,et al.  Improved Output-Sensitive Snap Rounding , 2006, SCG '06.

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

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

[6]  C. Mack Fundamental principles of optical lithography : the science of microfabrication , 2007 .

[7]  Mark de Berg,et al.  An intersection-sensitive algorithm for snap rounding , 2007, Comput. Geom..

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

[9]  Robert E. Tarjan,et al.  Making data structures persistent , 1986, STOC '86.

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

[11]  D. T. Lee,et al.  Euclidean shortest paths in the presence of rectilinear barriers , 1984, Networks.

[12]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

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

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

[15]  Luciano Lavagno,et al.  Electronic Design Automation for Integrated Circuits Handbook , 2006 .

[16]  Ketan Mulmuley,et al.  Computational geometry - an introduction through randomized algorithms , 1993 .

[17]  Eli Packer Iterated snap rounding with bounded drift , 2006, SCG '06.

[18]  Leonidas J. Guibas,et al.  Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons , 1987, Algorithmica.

[19]  Leonidas J. Guibas,et al.  Topologically sweeping an arrangement , 1986, STOC '86.