Overlay of Two Subdivisions

Slides:



Advertisements
Similar presentations
Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex hole in f face f disconnected subdivision.
Advertisements

Two Segments Intersect?
Octagonal Drawing Johan van Rooij. Overview What is an octagonal drawing Good slicing graphs Octagonal drawing algorithm for good slicing graphs Correctness.
Polygon Triangulation
Computational Geometry
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.
Applications of Euler’s Formula for Graphs Hannah Stevens.
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.
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
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.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann Triangulation (Naive)
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:
Incidences and Many Faces via cuttings Sivanne Goldfarb
A Fast Algorithm for Incremental Distance Calculation Paper by Ming C. Ling and John F. Canny Presented by Denise Jones.
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.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Convex Hulls Today: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness,
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.
Polygon Triangulation Computational Geometry, WS 2006/07 Lecture 8, Part 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Line Segment Intersection Computational Geometry, WS 2006/07 Lecture 3 – Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
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.
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.
Splitting a Face Point edge already split new vertex two new faces one new vertex six new half-edges.
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.
CMPS 3130/6130 Computational Geometry Spring 2015
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.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
A Fast Algorithm for Incremental Distance Calculation Ming C. Lin and John F. Canny University of California, Berkeley 1991 Original slides by Adit Koolwal.
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.
A Fast Algorithm for Incremental Distance Calculation Ming C. Lin & John Canny University of California, Berkeley 1991 Presentation by Adit Koolwal.
Solid Modeling Dr. Scott Schaefer.
Polygon Triangulation
Computational Geometry
CMPS 3130/6130 Computational Geometry Spring 2017
Computational Geometry
The Art Gallery Problem
Computational Geometry 2
The Art Gallery Problem
I. The Problem of Molding
Computational Geometry
Overlay of Two Subdivisions
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 be 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 a vertex of another subdivision. Before: 2 old half-edges After: 4 new half-edges

Operations in the Update                        

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

Previous and Next Edges                       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:             faces labeled (P, C ) 