Improved Output-Sensitive Snap Rounding

Abstract This paper presents new algorithms for snap rounding an arrangement ${\mathcal{A}}$ of line segments in the plane. Snap rounding defines a set of hot pixels, which are unit squares centered on the integer grid points closest to the vertices of ${\mathcal{A}}$ . Snap rounding simplifies ${\mathcal{A}}$ by replacing every input segment by a piecewise linear curve connecting the centers of the hot pixels the segment intersects. Let ℋ be the set of all hot pixels, and for each h∈ℋ let is(h) be the number of segments with an intersection or endpoint inside h. If ${\mathcal{A}}$ contains n input segments, the running time of the first new algorithm is O(∑h∈ℋis(h)log n). This improves previous input- and output-sensitive algorithms by a factor of Θ(n) in the worst case. The second algorithm has an even better running time of O(∑h∈ℋed(h)log n); here ed(h) is the description complexity of the crossing pattern in h, which may be substantially less than is(h) and is never greater.

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

[2]  Micha Sharir,et al.  Davenport-Schinzel sequences and their geometric applications , 1995, Handbook of Computational Geometry.

[3]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

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

[5]  Graham Cormode,et al.  The string edit distance matching problem with moves , 2002, SODA '02.

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

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

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

[9]  Kurt Mehlhorn,et al.  A new data structure for representing sorted lists , 1982, Acta Informatica.

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

[11]  Walter F. Tichy,et al.  The string-to-string correction problem with block moves , 1984, TOCS.

[12]  Franklin P. Antonio Faster Line Segment Intersection , 1992, Graphics Gems III.

[13]  Frank K. Hwang,et al.  A Simple Algorithm for Merging Two Disjoint Linearly-Ordered Sets , 1972, SIAM J. Comput..

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

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

[16]  KEVIN Q. BROWN Comments on “algorithms for reporting and counting geometric intersections” , 1981, IEEE Transactions on Computers.

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

[18]  Derick Wood,et al.  A survey of adaptive sorting algorithms , 1992, CSUR.

[19]  Leonidas J. Guibas,et al.  A new representation for linear lists , 1977, STOC '77.