1 / 42

Iterated Snap Rounding

Iterated Snap Rounding. Mark Waitser Computational Geometry Seminar December 19 2001. Agenda. Introduction ISR Algorithm Example of ISR ISR Details ISR Complexity Analysis ISR Data Structure Examples of SR & ISR Conclusion. Introduction.

napua
Télécharger la présentation

Iterated Snap Rounding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Iterated Snap Rounding Mark Waitser Computational Geometry Seminar December 19 2001

  2. Agenda • Introduction • ISR Algorithm • Example of ISR • ISR Details • ISR Complexity Analysis • ISR Data Structure • Examples of SR & ISR • Conclusion

  3. Introduction • Snap Rounding (SR) is a method for converting arbitrary-precision arrangements of segments into fixed-precision representation. • An arrangement of segments before (a) and after (b) snap rounding.

  4. Introduction - Definitions • - Collection of input segments. • - Arrangement of . Subdivision of plane into vertices, edges and faces. • Vertex - is either a segment endpoint or the intersection of two segments. • Hot pixel - Pixel contains a vertex of • - Set of Hot Pixels induced by

  5. Introduction - Iterated Snap Rounding • Iterated Snap Rounding (ISR) is a method which rounds the arrangement such that each vertex is at least half-the-width-of-a-pixel away from any non-incident edge. • ISR preserves the topology of the original arrangement. • Maximum combinatorial complexity is the SAME for SR and ISR.

  6. ISR – Goal of Algorithm. • Create chains out of input segments such that a chain that passes through a hot pixel is re-routed to pass through the pixel’s center. • Each vertex is at least half-the-width-of-a-pixel away from any non-incident edge.

  7. SR Problem. Problem - Once we reroute a chain, it may have entered other hot pixels and it need to further reroute.

  8. ISR – Rounding Algorithm IRS algorithm consists of two stages: • First stage - Preprocessing stage - Compute the hot pixels and prepare a segment intersection search structure . • Second stage - Operate a recursive procedure, Reroute, on each input segment.

  9. ISR – First Stage • Compute the Hot Pixels by finding all Vertices of the arrangement. • Prepare a segment intersection search structureon the Hot Pixels to answer following queries: Given a segment , report the Hot Pixels that intersects.

  10. ISR – Second Stage • Operate a recursive procedure, Reroute, on each input segment. • Reroute is a “depth-first” procedure. • Reroute does not add more Hot Pixels. • Reroute input is a segment • Reroute output is a polygonal chain which approximates as an order list of links.

  11. ISR – Scheme of Algorithm

  12. ISR – Reroute Procedure

  13. ISR – Example • Input arrangement (a)

  14. ISR – Example – Step 1 • Input arrangement (a) • Step 1 arrangement (b)

  15. ISR – Example – Step 1 • Step 1 arrangement (b)

  16. ISR – Example – Step 2 • Step 1 arrangement (b) • Step 2 arrangement (c)

  17. ISR – Example – Step 2 • Step 2 arrangement (c)

  18. ISR – Example – Step 3 • Step 2 arrangement (c) • Step 3 arrangement (d)

  19. ISR – Example – Reroute Tree • The Tree corresponding to Reroute( ). • Nodes denoted by full-line circles contain segments which query the structure • The dashed-line circle contains an exact copy of the segment of its parent.

  20. ISR – Algorithmic Details Lemma 1Given a set of segments , the output of ISR is equivalent to the final output of finite series of SR starting with , where the output of one SR is the input to the next SR. Proof: • SR does not create new Hot Pixels • The chains are the result of applying SR to the links in chains • Hot Pixel is not discovered more that one per tree. • There are at most Hot Pixels, therefore the process will stop.

  21. ISR – Algorithmic Details(continue) Corollary ISR preserves the topology of the arrangement of the input segments in the same sense that SR does. Proof: • ISR does not create new Vertices. • No Vertex of the arrangement ever crosses through a curve.

  22. ISR – Algorithmic Details(continue) Lemma 2 • (i) If an output chain of ISR passes through a Hot Pixel then it passes through its center • (ii) In the output chains each vertex is at least 0.5 a unit away from any non incident segment. Proof: • (i) follows from the definition of the Reroute. • (i i) consequence of (i)

  23. ISR – Algorithmic Details(continue) Lemma 3 • A final chain lies in the Minkowski sum of and a square of side centered at the origin. Proof: • In SR, a rounded segment lies inside the Minkowski sum of input segment and a unit square centered at origin. • ISR is equivalent to applications of SR.

  24. ISR - Complexity Analysis Lemma 4 If an output chain consists of links then during Reroute( ) the structure D is queries at most 2 times. Proof: • It is clearly from definition of Reroute procedure

  25. ISR - Complexity Analysis (continue) Theorem Given an arrangement of n segments with I intersection points, the ISR requires time for any and working storage, where N is the number of Hot Pixels (N=2n+I) and L is the overall number of links in the chains produced by the algorithm.

  26. ISR – Search Structure D • In the theoretical analysis used (multi-level) partition trees. • Asymptotically good worst-case complexity. • Difficult to implement. • In practice implemented a data structure consisting of several kd-trees.

  27. ISR – Structure D - kd-Tree • It answer range queries for axis-parallel rectangles. • It is practically efficient. • Worst-case query time is far from optimal.

  28. ISR – Structure D - kd-Tree (continue) • Trivial solution – query axis-parallel bounding box (B(s)) of M(s). • The area of B(s) may be much large that the area of M(s). B(s). M(s).

  29. ISR – Structure Dc-oriented kd-Tree • Construct a collection of kd-trees each serving as a range search structure for a rotated copy of the centers of Hot Pixels. • Goal is produce a number of rotated copies so that for each query segment there will be one rotation with not too much different between M(s) and B(s).

  30. Rounding Examples: SR vs. ISR • Congestion Data • 200 segments and 18674 intersections. • Triangulation Data • 906 segments. • Geographic Data • Map of USA, 486 segments.

  31. Rounding Examples: SR vs. ISRCongestion Data • 200 segments • 18674 intersections.

  32. Rounding Examples: SR vs. ISRCongestion Data

  33. Rounding Examples: SR vs. ISRTriangulation Data • 906 segments. • Intersections only in endpoints.

  34. Rounding Examples: SR vs. ISRTriangulation Data

  35. Rounding Examples: SR vs. ISRGeographic Data • 486 segments. • Intersections only in endpoints.

  36. Rounding Examples: SR vs. ISRGeographic Data

  37. Conclusions • Snap Rounding procedure which rounds Arbitrary Precision Arrangement in Rounded Arrangement. • Each Vertex at least half a unit away from any non-incident Edge. • New scheme more robust for further manipulation with limited precision arithmetic.

  38. End

  39. Rounding Examples: SR vs. ISR (continue) Abbreviation Explanation

  40. Rounding Examples: SR vs. ISRCongestion Data

  41. Rounding Examples: SR vs. ISRTriangulation Data

  42. Rounding Examples: SR vs. ISRGeographic Data

More Related