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

Slides:



Advertisements
Similar presentations
Binary Image Algorithm. What is an Object? What is an object? – Binary image Connected cluster of black pixels on a white background Connected cluster.
Advertisements

Discrete Mathematics University of Jazeera College of Information Technology & Design Khulood Ghazal Connectivity Lecture _13.
Representation of spatial data
Planar straight line graph A planar straight line graph (PSLG) is a planar embedding of a planar graph G = (V, E) with: 1.each vertex v  V mapped to a.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
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
Data Structures Chapter 12 Graphs Andreas Savva. 2 Definition A graph consists of a set of vertices together with a set of edges. If e = (v,w) is an edge.
Overlay of Two Subdivisions
Mesh Representation, part II based on: Data Structures for Graphics, chapter 12 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung
Tutorial 2 – Computational Geometry
Lecture 7: Voronoi Diagrams Presented by Allen Miu Computational Geometry September 27, 2001.
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
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Graph Drawing Introduction 2005/2006. Graph Drawing: Introduction2 Contents Applications of graph drawing Planar graphs: some theory Different types of.
Convex Grid Drawings of 3-Connected Plane Graphs Erik van de Pol.
Duality and Arrangements Computational Geometry, WS 2007/08 Lecture 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 4: 3D Convex Hulls Friday, 2/9/07.
Polygonal Mesh – Data Structure and Smoothing
Space Efficient Point Location forTriangulations.
Polygonal Meshes 3D Object Representation -Tyler Abrams.
Lecture 8 : Arrangements and Duality Computational Geometry Prof. Dr. Th. Ottmann 1 Duality and Arrangements Duality between lines and points Computing.
Algorithm3. (3-dim) Assumptions Points are ordered in a sequence increasingly with respect to the x coordinate. Points having the same x coordinate are.
Alyce Brady CS 510: Computer Algorithms Depth-First Graph Traversal Algorithm.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 4: 3D Convex Hulls Monday, 2/23/04.
Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Brute-Force Triangulation
The Art Gallery Problem
Subdivision of Edge In a graph G, subdivision of an edge uv is the operation of replacing uv with a path u,w,v through a new vertex w.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Mesh Representation, part I
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.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Straight line drawings of planar graphs – part II Roeland Luitwieler.
Hamiltonian Graphs By: Matt Connor Fall 2013.
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
Rotations. Graph the following coordinates, then connect the dots (2, 1) (4,1) (2, 5) X y Rotate the triangle 90° clockwise about the origin and graph.
Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex disconnected subdivision Complexity = #vertices.
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.
Mesh data structure & file format
Arrangements and Duality Motivation: Ray-Tracing Fall 2001, Lecture 9 Presented by Darius Jazayeri 10/4/01.
Beyond planarity of graphs Eyal Ackerman University of Haifa and Oranim College.
Robert Pless, CS 546: Computational Geometry Lecture #3 Last Time: Plane Sweep Algorithms, Segment Intersection, + (Element Uniqueness)
Transformations on the Coordinate Plane: Translations and Rotations.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Graph theory and networks. Basic definitions  A graph consists of points called vertices (or nodes) and lines called edges (or arcs). Each edge joins.
SECTION 5.1: Euler Circuit Problems
Walks, Paths and Circuits. A graph is a connected graph if it is possible to travel from one vertex to any other vertex by moving along successive edges.
Arrangements and Duality Supersampling in Ray Tracing.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Solid Modeling Dr. Scott Schaefer.
Polygon Triangulation
Boundary Representations and Topology
Spanning Trees Discrete Mathematics.
Computational Geometry 2
CMPS 3130/6130 Computational Geometry Spring 2017
Computer Aided Engineering Design
Depth Estimation via Sampling
Graphs Part 2 Adjacency Matrix
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Overlay of Two Subdivisions
Drawing a graph
Presentation transcript:

Planar Subdivision Induced by planar embedding of a graph. Connected if the underlying graph is. edge vertex hole in f face f disconnected subdivision Complexity = #vertices + #edges + #faces Typical operations: Walk around a face. Access one face from an adjacent one via a common edge. Visit all the edges adjacent to a vertex.

Doubly-Connected Edge List Stores geometric and topological information. To walk around a face (counterclockwise), we set up a pointer to the next edge a pointer to the previous edge Every edge has two distinct half-edges (twins) in opposite directions. e Twin(e) Next(e) Prev(e) v w Edge e has origin v and destination w. Edge Twin(e) has origin w and destination v. f For each face f store one pointer to an arbitrary half-edge bounding the face. From that half-edge traverse the face counterclockwise through the next pointer. This seems good if theres no hole …

Holes Edges on the boundary of a hole are traversed in clockwise order so that the face still lies to the left. hole A face always lies to the left of any half-edge on its boundary. To traverse the face, we need a pointer to a half-edge in every boundary component. And a pointer to every isolated vertex in the face. isolated vertex

Summary on DCE List Every vertex v Coordinates(v) IncidentEdge(v) – pointer to an arbitrary half-edge originated from v. Every face f OuterComponent(f) – pointer to some half-edge on outer boundary. InnerComponents(f) – a list of pointers, each to some half-edge on the boundary of a different hole in the face. Every edge e Origin(e) Twin(e) Next(e) Prev(e) // information depends on # inner components. // O(1) information // any edge is pointed to at most once from the list // InnerComponents. total storage: O(#vertices + #edges + #faces) i.e. linear in subdivision complexity.

An Example half-edge origin Twin IncidentFace Next Prev (0,4) (2,4) (2,2) (1,1) face Outercomponent InnerComponents nil vertex Coordinates IncidentEdge