Overlay of Two Subdivisions

Slides:



Advertisements
Similar presentations
Chapter 4 Partition I. Covering and Dominating.
Advertisements

Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex hole in f face f disconnected subdivision.
Great Theoretical Ideas in Computer Science for Some.
Two Segments Intersect?
Polygon Triangulation
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Brute-Force Triangulation
2/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries II Carola Wenk.
I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object.
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
9/12/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries II Carola Wenk.
I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object.
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
Overlay of Two Subdivisions
Incidences and Many Faces via cuttings Sivanne Goldfarb
Intersections. Intersection Problem 3 Intersection Detection: Given two geometric objects, do they intersect? Intersection detection (test) is frequently.
Lecture 7: Voronoi Diagrams Presented by Allen Miu Computational Geometry September 27, 2001.
K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush.
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
The Half-Edge Data Structure Computational Geometry, WS 2007/08 Lecture 3, Part III Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen,
Lecture 2 Line Segment Intersection Computational Geometry Prof.Dr.Th.Ottmann 1 Line Segment Intersection Motivation: Computing the overlay of several.
The Half-Edge Data Structure
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.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
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.
Lecture 2 Line Segment Intersection Computational Geometry Prof.Dr.Th.Ottmann 1 Line Segment Intersection Motivation: Computing the overlay of several.
The Art Gallery Problem
Brute-Force Triangulation
The Art Gallery Problem
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
Graph Theory Chapter 6 Planar Graphs Ch. 6. Planar Graphs.
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.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
Line Arrangement Chapter 6. Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision.
Week Aug-24 – Aug-29 Introduction to Spatial Computing CSE 5ISC Some slides adapted from Worboys and Duckham (2004) GIS: A Computing Perspective, Second.
Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex disconnected subdivision Complexity = #vertices.
1 Graph Coloring: An Overview Graph Coloring Basics Planar/4-color Graphs Applications New Register Allocation Technique.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
Line Segment Intersection Computational Geometry, WS 2006/07 Lecture 3 – Part III Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
Arrangements and Duality Sanjay Sthapit Comp290 10/6/98.
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Arrangements and Duality Motivation: Ray-Tracing Fall 2001, Lecture 9 Presented by Darius Jazayeri 10/4/01.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness)
Computational Geometry: Intersection Search Joseph S. B. Mitchell Stony Brook University.
UNC Chapel Hill M. C. Lin Computing Voronoi Diagram For each site p i, compute the common inter- section of the half-planes h(p i, p j ) for i  j, using.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Great Theoretical Ideas in Computer Science for Some.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
Solid Modeling Dr. Scott Schaefer.
Polygon Triangulation
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
Computational Geometry
Introduction to Polygons
Great Theoretical Ideas In Computer Science
Fill Area Algorithms Jan
CMPS 3130/6130 Computational Geometry Spring 2017
The Art Gallery Problem
Computational Geometry 2
The Art Gallery Problem
Graph.
I. The Problem of Molding
Computational Geometry
Presentation transcript:

Overlay of Two Subdivisions (DCEL2) doubly-connected edge list 1 (DCEL1) The overlay is a new planar subdivision.

The Overlay Problem Compute a doubly-connected edge list for the new planar subdivision. Every face is labeled with the labels of the containing faces from in the input subdivisions. Half-edge records reusable since the edge is not intersected by those from the other subdivision. new intersection.       Half-edge records need to be generated

The General Approach First, copy the DCE lists of two subdivisions. Transform the result into a valid DCE list for the subdivision overlay.  Compute the intersections of edges from different subdivisons.  Link together appropriate parts of the two DCE lists. 1. Vertex and half-edge records. 2. Face records. Modify the plane sweep algorithm!

Line Sweep new Invariant: the part of overlay to left of the intersection Invariant: the part of overlay to left of the sweep line has been computed correctly.. DCEL1 DCEL for the overlay DCEL2

At an Event Point Update the event queue and sweep-line status tree as in the segment intersection algorithm. In case the event point is Vertex adjacent to edges from one subdivision. No additional work! Intersection of edges from different subdivisions. Link the DCE1 and DCE2 at the intersection point. Handle all possible cases.

Three Types of Crossing Vertex-Vertex: two vertices from different subdivisions coincide with each other. Vertex-Edge: an edge from one input subdivision passes through a vertex of another subdivision. The other two cases are no more difficult. Edge-Edge: two edges from different subdivisions intersect in their interior.

Vertex-Edge Update An edge of one subdivision passes through a vertex of another subdivision. Before: 2 old half-edges After: 4 new half-edges

Operations in the Update       𝑒 𝑎 ′   2. Shorten half-edge 𝑒 𝑎 = (𝑢, 𝑤) to 𝑒 𝑎 ′ = (𝑢, 𝑣).       3. Shorten half-edge 𝑒 𝑏 =(𝑤, 𝑢) to 𝑒 𝑎 ′′=(𝑤, 𝑣) .    

Operations in the Update (cont’d) Next( 𝑒 𝑏 ) 5. Set the Next and Prev pointers of the four new half-edges. 𝑢 Prev( 𝑒 𝑎 )           Prev( 𝑒 𝑏 )   Next( 𝑒 𝑎 )    

Previous and Next Edges Set the Next and Prev pointers of the four half-edges (colored red) incident to 𝑣 from the other subdivision.                     How to find it using the DCE list?  

Time Cost for Updating Vertex and Half-Edge Records       Generalizes over the vertex-vertex and edge-edge cases. Updating vertex and half-edge records does not increase the asymptotic running time of the line segment intersection algorithm. every intersection is a vertex of the overlay.   combined complexity of 2 input subdivisions complexity of the overlay

Face Update #face records = 1 + #outer boundary cycles     #face records = 1 + #outer boundary cycles Easy to extract all boundary cycles from DCEL.

Outer Boundary Cycle How to distinguish an outer boundary cycle from one that bounds a hole?       v       

Cycles Bounding the Same Face         (a) one of the corresponding cycles is the boundary of a hole. (b) the other cycle has a half-edge immediately below the lowest vertex of the first cycle.

Graph Example Five faces in total. C C C C C C C C C C C C C 3 C 4 Five faces in total. C 1 C 2 C 6 C 7 C 5 C 6 C 3 5 2 C  C 7 C 1  C 4 Graph G induces the record for every face in DCEL (O(n+k) time).

Construction of Graph G   The algorithm checks the segment immediately below the event point. Make a node for every cycle.                  

Labeling a Face Every face in the overlay is labeled with the names of the faces in the old subdivisions that contain the face.     intersection of edges from different subdivisions.       Look up the IncidentFace( ) pointer of the two corresponding half-edges. 𝑣   existing vertex of one subdivision. Know only one generating face – the one from the same subdivision.   For each vertex in one subdivision, keep track of its containing face in the other subdivision. Plane sweep again (or do it in the same sweep).

The Overlay Algorithm              

Running time  

Boolean Operations Operations on polygonal regions: 𝑃 or 𝑄           𝑃 or 𝑄   faces labeled (P, C )      𝑃 but not 𝑄