Computational Geometry Lecture Duality of Points and Lines

Similar documents
Computational Geometry Exercise Duality

10. Line Arrangements Lecture on Monday 2 nd November, 2009 by Michael Homann

Line Arrangement. Chapter 6

An Introduction to Computational Geometry: Arrangements and Duality

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Computational Geometry Lecture Delaunay Triangulation

Chapter 11. Line Arrangements

Voronoi diagram and Delaunay triangulation

Line Arrangements. Applications

Math 414 Lecture 2 Everyone have a laptop?

Chapter 9. Line Arrangements

Voronoi Diagrams, Delaunay Triangulations and Polytopes

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

Voronoi Diagrams. A Voronoi diagram records everything one would ever want to know about proximity to a set of points

CS 532: 3D Computer Vision 14 th Set of Notes

Computational Geometry

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Computational Geometry

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

Voronoi Diagram. Xiao-Ming Fu

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001

Lecture 3 Randomized Algorithms

Delaunay Triangulations

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

COMPUTATIONAL GEOMETRY

VORONOI DIAGRAM PETR FELKEL. FEL CTU PRAGUE Based on [Berg] and [Mount]

Line segment intersection. Family of intersection problems

CS6100: Topics in Design and Analysis of Algorithms

Week 8 Voronoi Diagrams

CS133 Computational Geometry

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

CAD & Computational Geometry Course plan

Search and Intersection. O Rourke, Chapter 7 de Berg et al., Chapter 11

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications

Lifting Transform, Voronoi, Delaunay, Convex Hulls

Approximating a set of points by circles

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here)

Computational Geometry

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that

Lecture 1 Discrete Geometric Structures

Three Dimensional Geometry. Linear Programming

Convex Hulls in 3D. Definitions. Size of a Convex Hull in 3D. Collision detection: The smallest volume polyhedral that contains a set of points in 3D.

CS S Lecture February 13, 2017

Linear Programming in Small Dimensions

Linear Programming and its Applications

Other Voronoi/Delaunay Structures

Prof. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel

Geometric Computation: Introduction

Exact adaptive parallel algorithms for data depth problems. Vera Rosta Department of Mathematics and Statistics McGill University, Montreal

Computational Geometry

7 Voronoi Diagrams. The Post Office Problem

Planar Point Location

Flavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville

The Farthest Point Delaunay Triangulation Minimizes Angles

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

Simplicial Cells in Arrangements of Hyperplanes

2D Geometry. Pierre Alliez Inria Sophia Antipolis

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

Lecture 3: Art Gallery Problems and Polygon Triangulation

! Linear programming"! Duality "! Smallest enclosing disk"

Introduction to Voronoi Diagrams and Delaunay Triangulations

Notes in Computational Geometry Voronoi Diagrams

Insertions and Deletions in Delaunay Triangulations using Guided Point Location. Kevin Buchin TU Eindhoven

Lecture 5: Duality Theory

Linear programming and duality theory

Stabbers of line segments in the plane

Planarity: dual graphs

6.854J / J Advanced Algorithms Fall 2008

Geometric Algorithms in Three Dimensions Tutorial. FSP Seminar, Strobl,

Computational Geometry. Definition, Application Areas, and Course Overview

Polygon Triangulation. (slides partially by Daniel Vlasic )

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger

Computational Geometry

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018

Lecture 4 (CGAL) Panos Giannopoulos, Dror Atariah AG TI WS 2012/13

Computational Geometry 2D Convex Hulls

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2)

A Simpler Linear-Time Algorithm for Intersecting Two Convex Polyhedra in Three Dimensions

Notes and Answers to Homework Exam 1, Geometric Algorithms, 2017

Solutions to problem set 1

Surface Mesh Generation

Outline. CGAL par l exemplel. Current Partners. The CGAL Project.

Linear Data Structures for Fast Ray-Shooting amidst Convex Polyhedra

Delaunay Triangulation

LECTURE 13: SOLUTION METHODS FOR CONSTRAINED OPTIMIZATION. 1. Primal approach 2. Penalty and barrier methods 3. Dual approach 4. Primal-dual approach

Computational Geometry

Convex Geometry arising in Optimization

Quadtrees and Meshing

Linear Complexity Hexahedral Mesh Generation

Tight Cocone DIEGO SALUME SEPTEMBER 18, 2013

Optimal detection of intersections between convex polyhedra

NESTED AND FULLY AUGMENTED LINKS

Geometric Streaming Algorithms with a Sorting Primitive (TR CS )

Lecture 7: Support Vector Machine

A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations

2 Geometry Solutions

Simplicial Complexes: Second Lecture

Lecture 2 Convex Sets

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

Transcription:

Computational Geometry Lecture Duality of Points and Lines INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS 11.1.2016

Duality Transforms We have seen duality for planar graphs and duality of Voronoi diagrams and Delaunay triangulations. Here we will see a duality of points and lines in R 2. y primal plane b p : b = 2a 1 p = (2, 1) x l : y = x + 1.5 dual plane a Def: The duality transform ( ) is defined by 1 l = ( 1, 1.5) p = (p x, p y ) p : b = p x a p y l : y = mx + c l = (m, c)

Properties Lemma 1: The following properties hold (p ) = p and (l ) = l p lies below/on/above l p passes above/through/below l l 1 and l 2 intersect in point r r passes through l 1 and l 2 q, r, s collinear q, r, s intersect in a common point l 2 y p l 1 s p r x q q l 1 b l 2 s r a 2

Properties Lemma 1: The following properties hold (p ) = p and (l ) = l p lies below/on/above l p passes above/through/below l l 1 and l 2 intersect in point r r passes through l 1 and l 2 q, r, s collinear q, r, s intersect in a common point What is the dual object for a line segment s = pq? What dual property holds for a line l, intersecting s? l q p l q p s 2

Applications of Duality Duality does not make geometric problems easier or harder; it simply provides a different (but often helpful) perspective! We will look at two examples in more detail: upper/lower envelopes of line arrangements minimum-area triangle in a point set 3

Lower Envelope LE(L) Def: For a set L of lines the lower envelope LE(L) of L is the set of all points in l L l that are not above any line in the set L (boundary of the intersection of all lower halfplanes). Two possibilities for computing lower envelopes divide&conquer half-plane intersection algorithm (see Chapter 4.2 in [BCKO08]) consider the dual problem for L = {l l L} 4

Envelopes and Duality p q l l l l r UCH(L ) l l l q p l r When does an edge pq of l appear as a segment on LE(L)? p and q are not above any line in L p and q are not below any point in L must be neighbors on upper convex hull UCH(L ) intersection point of p and q is l, a vertex of UCH(L ) Lemma 2: The lines on LE(L) ordered from right to left correspond to the vertices of UCH(L ) ordered from left to right. 5

Computing the Envelope algorithm for computing upper convex hull in time O(n log n) (see Lecture 1 on convex hulls) primal lines of the points on UCH(L ) in reverse order form LE(L) analogously: upper envelope of L ˆ= lower convex hull of L When does this approach work faster? output sensitive algorithm for computing convex hull with h points with time complexity O(n log h) 6

Intermediate question: How to test for n points whether they are in general position? How to find a maximum set of collinear points? 7

Line Arrangements cell edge vertex Def: A set L of lines defines a subdivision A(L) of the plane (the line arrangement) composed of vertices, edges, and cells (poss. unbounded). A(L) is called simple if no three lines share a point and no two lines are parallel. 8

Complexity of A(L) The combinatorial complexity of A(L) is the number of vertices, edges, and cells. Theorem 1: Let A(L) be a simple line arrangement for n lines. Then A(L) has ( n ) 2) vertices, n 2 edges, and + n + 1 cells. ( n 2 Data structure for A(L): create bounding box of all vertices (s. exercise) obtain planar embedded Graph G doubly-connected edge list for G Do we already know a way to compute A(L)? 9

Incrementally Constructing A(L) Input: lines L = {l 1,..., l n } Output: DCEL D for A(L) D bounding box B of the vertices of A(L) for i 1 to n do find leftmost edge e of B intersecting l i f inner cell incident to e while f outer cell do split f, update D and set f to the next cell intersected by l i 10 e Running time? bounding box: O(n 2 ) start point of l i : O(i) while-loop: O( red path )

Zone Theorem Def: For an arrangement A(L) and a line l L the zone Z A (l) is defined as the set of all cells of A(L) whose closure intersects l. right bounding edge Z A (l) How many edges are in Z A (l)? left bounding edge Theorem 2: For an arrangement A(L) of n lines in the plane and a line l L the zone Z A (l) consist of at most 6n edges. Theorem 3: The arrangement A(L) of a set of n lines can be constructed in O(n 2 ) time and space. 11

Intermediate question: How to test for n points whether they are in general position? How to find a maximum set of collinear points? 7

Smallest Triangle Given a set P of n points in R 2, find a minimum-area triangle pqr with p, q, r P. l r (pq) q p r p q r l r Let p, q P. The point r P \ {p, q} minimizing pqr lies on the boundary of the largest empty corridor parallel to pq. There is no other point in P between pq and the line l r through r and parallel to pq. 13 In dual plane: l r lies on r l r and (pq) have identical x-coordinate no line p P intersects l r(pq)

Computing in the Dual q p r p q l r (pq) r 14 l r lies vertically above or below (pq) in a common cell of A(P ) only two candidates Compute in O(n 2 ) time the arrangement A(P ) Compute in each cell the vertical neighbors of the vertices time linear in cell complexity how? for all O(n 2 ) candidate triples (pq) r compute in O(1) time the area of pqr finds minimum in O(n 2 ) time in total l r

Further Duality Applications Two thieves have stolen a necklace of diamonds and emeralds. They want to share fairly without destroying the necklace more than necessary. How many cuts do they need? Theorem 4: Let D, E be two finite sets of points in R 2. Then there is a line l that divides S and D in half simultaneously. Given n segments in the plane, find a maximum stabbing-line, i.e., a line intersecting as many segments as possible. 15

Discussion Duality is a very useful tool in algorithmic geometry! Check: Monotone Simultaneous Embeddings of Upward Planar Digraphs Journal of Algorithms and Applications Can we use duality in higher dimensions? Yes, you can define incidence- and order-preserving duality transforms between d-dimensional points and hyperplanes. What about higher-dimensional arrangements? The arrangement of n hyperplanes in R d has complexity Θ(n d ). A generalization of the Zone Theorem yields an O(n d )-time algorithm. 16