Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.

Slides:



Advertisements
Similar presentations
Order-k Voronoi Diagram in the Plane
Advertisements

Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part I Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Incremental Linear Programming Linear programming involves finding a solution to the constraints, one that maximizes the given linear function of variables.
Line Segment Intersection Computational Geometry, WS 2007/08 Lecture 3 – Supplementary Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut.
Introduction to Computational Geometry Computational Geometry, WS 2007/08 Lecture 1 – Part I Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut.
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.
Convex Hulls Computational Geometry, WS 2007/08 Lecture 2 – Supplementary Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Convex Hulls in 3-space Jason C. Yang.
Lecture 7: Voronoi Diagrams Presented by Allen Miu Computational Geometry September 27, 2001.
Computational Geometry -- Voronoi Diagram
Convex Hulls Computational Geometry, WS 2006/07 Lecture 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
The Half-Edge Data Structure Computational Geometry, WS 2007/08 Lecture 3, Part III Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen,
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part IV Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 – Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
The Half-Edge Data Structure
Delaunay Triangulation Computational Geometry, WS 2006/07 Lecture 11 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Line Segment Intersection Computational Geometry, WS 2007/08 Lecture 3 – Part I Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
The Lower Envelope: The Pointwise Minimum of a Set of Functions Computational Geometry, WS 2006/07 Lecture 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen,
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Polygon Triangulation Motivation: Guarding art galleries Art gallery theorem.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2001 Lecture 4 Chapter 6: Arrangements Monday,
Special Cases of the Hidden Line Elimination Problem Computational Geometry, WS 2007/08 Lecture 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen,
Voronoi Diagrams Computational Geometry, WS 2006/07 Lecture 10 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Duality and Arrangements Computational Geometry, WS 2007/08 Lecture 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 – Part III Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
Lecture 10 : Delaunay Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Overview Motivation. Triangulation of Planar Point Sets. Definition.
Persistent Data Structures Computational Geometry, WS 2007/08 Lecture 12 Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen, Institut.
Linear Programming Computational Geometry, WS 2007/08 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann Polygon Triangulation Motivation: Guarding art galleries Art gallery theorem.
Geometric Data Structures Computational Geometry, WS 2007/08 Lecture 13 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Hidden-Line Elimination Computational Geometry, WS 2006/07 Lecture 14 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Linear Programming Computational Geometry, WS 2007/08 Lecture 7, Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
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.
Closest Pair of Points Computational Geometry, WS 2006/07 Lecture 9, Part II Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen,
Polygon Triangulation Computational Geometry, WS 2007/08 Lecture 9 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part III Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 - Part I Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut 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.
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part II 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.
Art Gallery Theorem Computational Geometry, WS 2006/07 Lecture 8, Part 1 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Line Segment Intersection Computational Geometry, WS 2006/07 Lecture 3 – Part I Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
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.
Mathematics for Business (Finance)
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
Planar Graphs: Euler's Formula and Coloring Graphs & Algorithms Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.:
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.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Splitting a Face Point edge already split new vertex two new faces one new vertex six new half-edges.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
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.
Arrangements and Duality Motivation: Ray-Tracing Fall 2001, Lecture 9 Presented by Darius Jazayeri 10/4/01.
1 / 41 Convex Hulls in 3-space Jason C. Yang. 2 / 41 Problem Statement Given P: set of n points in 3-space Return: –Convex hull of P: CH (P) –Smallest.
Arrangements and Duality Supersampling in Ray Tracing.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
1 Point Location Strategies Idit Haran
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 O’Rourke Chapter 6 with some material.
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.
An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational.
Arrangements and Duality
Depth Estimation via Sampling
Computational Geometry
Presentation transcript:

Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für Angewandte Wissenschaften Albert-Ludwigs-Universität Freiburg

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann2 Duality and Arrangements Duality between lines and points Computing the level of points in an arrangement Arrangements of line segments Half-plane discrepancy

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann3 Different duality mappings A point p = (a,b) and a line l: y= mx + b are uniquely determined by two parameters. a) Slope mapping: p * = L(p): y = ax + b b) Polar mapping: p *: ax + by = 1 c) Parabola mapping: p*: y = ax –b d) Duality transform: p = (a,b) is mapped to p *: y = ax – b l: y = mx + b is mapped to l* = (m, -b)

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann4 Duality transform p = (p x, p y ) (p x, p y ) → y = p x x – p y, y = mx + b → (m, -b) Characteristics : 1.(p*)* = p = (p x, p y ), (I*)* =l p*: y = p x x – p y (p*)* = (p x, p y ) = p (I*)* = I

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann5 Characteristics of the duality transform 2) Incidence Preserving : p = (px, py) lies on l: y = mx+b iff l* lies on p* p lies on l iff py = mpx + b. l* lies on p* iff (m, -b) fulfills the equation y = pxx – py iff -b = pxm – py.

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann6 Characteristics of the duality transform 3) Order Preserving : p lies above l iff l* lies above p* p = (p x, p y ) (p x, mp x + b) l: y = mx +b p lies above l p y > mp x + b l* = (m,-b) p*: y = p x x - p y (m, p x m – p y ) l* lies above p* -b > p x m – p y iff p y > p x m + b

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann7 Summary Observations: 1. Point p on straight line l iff point l * on straight line p * 2. p above l iff l * above p *

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann8 Computing the level of points in arrangements Compute for each pair (p,q) of points and the straight line l(p,q) defined by p and q: The number of points - above l(p, q) - on l(p, q) - below l(p, q)  running time (naive):

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann9 Determining the number of points below a line r is below l(p,q) iff l(p,q)* is below r * p q r l(p,q) p*p* q*q* r*r* l(p,q)*

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann10 Determining the level of points Define for a set of straight lines for each intersection point p, the number of those straight lines, which run above p. Definition: Level of a point p = # straight lines above p p

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann11 Levels of points in an arrangement

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann plpl Run time : O(n²) 1)Compute the level the leftmost intersection with other lines in time O(n) (comparison with all other straight lines). 2) Walk along the line and update the level at each intersection point For each straight line: Determining the levels of all Intersections

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann13 Arrangement of a set of n straight lines in the plane Edges Face Vertex

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann14 Size of an Arrangement Theorem : Let L be a set of n lines in the plane, and let A(L) be the arrangement induced by L. 1)The number of vertices of A(L) is at most n(n-1)/2. 2)The number of edges of A(L) is at most n². 3) The number of faces of A(L) is at most n²/2 + n/ Equality holds in these three statements iff A(L) is simple. Proof : Assume that A(L) is simple. 1) Any pair of lines gives rise to exactly one vertex  n(n-1)/2 vertices. 2) # of edges lying on a fixed line = 1 + # of intersections on that line with all other lines, which adds up to n. So total number of edges of A(L) = n².

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann15 Proof(Contd...) Bounding the # of faces Euler‘s Formula : For any connected planar embedded graph with m v veritces, m e edges, m f faces the relation m v – m e + m f = 2 holds. We add a vertex v  to A(L) to get a connected planar embedded graph with v vertices, e arcs and f faces. So we have f = 2 – (v + 1) + e = 2 – (n(n - 1)/2 + 1) + n² = n²/2 + n/2 + 1.

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann16 Edges Face Vertex

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann17 Storage of an Arrangement A(L) R Bounding-box R contains all vertices of A(L). Store A(L) as doubly connected edge list.

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann18 Computation of the Arrangement Modify plane-sweep algorithm for segment intersection:  (n² log n), there are max. n² intersections. Incremental algorithm, running in time O(n²) 1) Compute Bounding box B(L) that contains all vertices of A(L) in its interior. 2) Construct the doubly connected edge list for the sub- division induced by L on B(L). 3) for i = 1 to n 1) do find the edge e on B(L) that contains the leftmost intersection point of l i and A i. 2) f = the bounded face incident to e. 3) while f is not the unbounded face 4) do split f, and set f to be the next intersected face.

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann19 Finding the next intersected face Idea: Traverse along the edges of faces intersected by g f g R

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann20 Splitting a Face f f1f1 f2f2 a new face a new vertex two new half-edges Time : O(1)

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann21 Zone Theorem Complexity of the zone of a line : Sum of number of edges and vertices of all intersected faces. Zone Theorem : The complexity of the zone of a line in an arrangement of m lines in the plane is O(m). Proof: By induction on m. (Omitted)

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann22 Supersampling Supersampling in Ray Tracing In order to handle arbitrary lines: Choose a random set of points (Supersampling): Shoot many rays through a box, take the average

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann23 Computing the Discrepancy Unit square U [0,1] x [0,1] Half plane h S is set of n sample points in U. Discrete measure of h is  s (h)  s (h) := card (S  h) / card(S). H = set of all halfplanes Continuous measure of half-plane h  H is  (h) The half-plane discrepancy of a set S of n points is the supremum of all differences between the discrete and continuous measures for all halfplanes.

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann24 The discrepancy of h with respect to S, denoted as  s (h), is absolute difference between the continuous and discrete measure.  s (h) :=   (h) -  s (h) . Halfplane discrepancy : Definition of half-plane discrepancy

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann25 Example

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann26 Computing the Discrepancy(contd...) Lemma : Let S be a set of n points in the unit square U. A half-plane h that achieves the maximum discrepancy with respect to S is of one of the following types : 1. h contains one point p  S on its boundary. 2. h contains 2 or more points of S on its boundary. The number of type(1) candidates is O(n), and they can be found in O(n) time.

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann27 Example

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann28 First case : One point pxpx 1-p y (p x, p y ) u v a a a 1 1 A(a) = 1/2 (1 - p y + p x tan a) (p x + (1 - p y ) / tan a) Area function has only finitely many extreme values!

Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann29 A(a) = 1/2 (1 - p y + p x tan a) (p x + (1 - p y ) / tan a) with tan’ = 1/cos², (1/x)’ = -1/x², chain rule  A’(a) = 1/2 (p x ² / cos² a + (1 - p y )²/cos² a tan² a) A’(a) = 0  p x ² - (1 - p y )²/ tan² a  tan² a = (1 - p y )²/p x ² Discussion of the area function