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

Slides:



Advertisements
Similar presentations
Guy EvenZvi LotkerDana Ron Tel Aviv University Conflict-free colorings of unit disks, squares, & hexagons.
Advertisements

Great Theoretical Ideas in Computer Science for Some.
Two Segments Intersect?
UNC Chapel Hill Lin/Foskey/Manocha Steps in DP: Step 1 Think what decision is the “last piece in the puzzle” –Where to place the outermost parentheses.
INTERVAL TREE & SEGMENTATION TREE
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Great Theoretical Ideas in Computer Science for Some.
Brute-Force Triangulation
Polynomial Time Approximation Schemes Presented By: Leonid Barenboim Roee Weisbert.
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Algorithms and Data Structures Lecture 13. Agenda: Plane Geometry: algorithms on polygons - Verification if point belongs to a polygon - Convex hull.
Incidences and Many Faces via cuttings Sivanne Goldfarb
Zoo-Keeper’s Problem An O(nlogn) algorithm for the zoo-keeper’s problem Sergei Bespamyatnikh Computational Geometry 24 (2003), pp th CGC Workshop.
Voronoi Diagram Presenter: GI1 11號 蔡逸凡
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Steps in DP: Step 1 Think what decision is the “last piece in the puzzle” –Where to place the outermost parentheses in a matrix chain multiplication (A.
2. Voronoi Diagram 2.1 Definiton Given a finite set S of points in the plane , each point X of  defines a subset S X of S consisting of the points of.
Computational Geometry and Spatial Data Mining
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
Counting and Representing Intersections Among Triangles in R 3 Esther Ezra and Micha Sharir.
Offset of curves. Alina Shaikhet (CS, Technion)
Duality and Arrangements Computational Geometry, WS 2007/08 Lecture 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Lecture 8 : Arrangements and Duality Computational Geometry Prof. Dr. Th. Ottmann 1 Duality and Arrangements Duality between lines and points Computing.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
Minkowski Sums and Offset Polygons Ron Wein. Computing Minkowski Sums.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Curve Curve: The image of a continous map from [0,1] to R 2. Polygonal curve: A curve composed of finitely many line segments. Polygonal u,v-curve: A polygonal.
Brute-Force Triangulation
Efficient Partition Trees Jiri Matousek Presented By Benny Schlesinger Omer Tavori 1.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Arrangements and Duality Sanjay Sthapit Comp290 10/6/98.
Planar Graphs Graph Coloring
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Arrangements and Duality Motivation: Ray-Tracing Fall 2001, Lecture 9 Presented by Darius Jazayeri 10/4/01.
An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Arrangements and Duality Supersampling in Ray Tracing.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Geometry Vocabulary. Triangle Triangle: a polygon with three sides. 180⁰ Sum of the interior angles of a triangle = 180⁰.
1 Point Location Strategies Idit Haran
Great Theoretical Ideas in Computer Science for Some.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Computational Geometry
UNC Chapel Hill M. C. Lin Geometric Data Structures Reading: Chapter 10 of the Textbook Driving Applications –Windowing Queries Related Application –Query.
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
An Introduction to Computational Geometry
Graph theory Definitions Trees, cycles, directed graphs.
Great Theoretical Ideas in Computer Science
Computational Geometry 2
Depth Estimation via Sampling
Introduction Wireless Ad-Hoc Network
Computational Geometry
Overlay of Two Subdivisions
Presentation transcript:

Mark Waitser Computational Geometry Seminar December Iterated Snap Rounding

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

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.

- 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 Introduction - Definitions

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. Introduction - Iterated Snap Rounding

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. ISR – Goal of Algorithm.

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

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. ISR – Rounding Algorithm

Compute the Hot Pixels by finding all Vertices of the arrangement. Prepare a segment intersection search structure on the Hot Pixels to answer following queries: Given a segment, report the Hot Pixels that intersects. ISR – First 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. ISR – Second Stage

ISR – Scheme of Algorithm

ISR – Reroute Procedure

Input arrangement (a) ISR – Example

Input arrangement (a) Step 1 arrangement (b) ISR – Example – Step 1

Step 1 arrangement (b)

ISR – Example – Step 2 Step 1 arrangement (b) Step 2 arrangement (c)

ISR – Example – Step 2 Step 2 arrangement (c)

ISR – Example – Step 3 Step 2 arrangement (c) Step 3 arrangement (d)

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. ISR – Example – Reroute Tree

Lemma 1 Given 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. ISR – Algorithmic Details

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. 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) 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. ISR – Algorithmic Details (continue)

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

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.

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. ISR – Search Structure D

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

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). ISR – Structure D - kd-Tree (continue) M(s). B(s).

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). ISR – Structure D c-oriented kd-Tree

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

Rounding Examples: SR vs. ISR Congestion Data 200 segments intersections.

Rounding Examples: SR vs. ISR Congestion Data

Rounding Examples: SR vs. ISR Triangulation Data 906 segments. Intersections only in endpoints.

Rounding Examples: SR vs. ISR Triangulation Data

Rounding Examples: SR vs. ISR Geographic Data 486 segments. Intersections only in endpoints.

Rounding Examples: SR vs. ISR Geographic Data

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.

End

Abbreviation Explanation Rounding Examples: SR vs. ISR (continue) inkdinput number of kd-trees nkdactual number of kd-trees created nfhpoverall number of false hot pixels in all the queries tttotal time relative to using one tree mdmaximum deviation over all chains ad average deviation mnvmaximum number of vertices in an output chain anvaverage number of vertices in an output chain mdvsminimum distance between a vertex and a non- incident edge ncvsnumber of pairs of a vertex and a non-incident edge that are less than half the width of a pixel apart pspixel size nhpnumber of hot pixels

Rounding Examples: SR vs. ISR Congestion Data

Rounding Examples: SR vs. ISR Triangulation Data

Rounding Examples: SR vs. ISR Geographic Data