An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational.

Slides:



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

Two Segments Intersect?
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Computational Geometry II Brian Chen Rice University Computer Science.
2/3/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries II Carola Wenk.
C o m p u t i n g C O N V E X H U L L S by Kok Lim Low 10 Nov 1998 COMP Presentation.
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:
The Divide-and-Conquer Strategy
Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005.
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Convex Hulls in 3-space Jason C. Yang.
What does that mean? To get the taste we will just look only at some sample problems... [Adapted from S.Suri]
Problems in Ramsey theory typically ask a question of the form: "how many elements of some structure must there be to guarantee that a particular property.
Lecture 7: Voronoi Diagrams Presented by Allen Miu Computational Geometry September 27, 2001.
Computational Geometry -- Voronoi Diagram
17. Computational Geometry Chapter 7 Voronoi Diagrams.
2. Voronoi Diagram 2.1 Definiton Given a finite set S of points in the plane , each point X of  defines a subset S X of S consisting of the points of.
3. Delaunay triangulation
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2001 Lecture 4 Chapter 6: Arrangements Monday,
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,
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.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 5: Voronoi Diagrams Monday, 2/23/04.
Lecture 10 : Delaunay Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Overview Motivation. Triangulation of Planar Point Sets. Definition.
Tucker, Applied Combinatorics, Section 1.4, prepared by Patti Bodkin
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Delaunay Triangulation.
Lecture 8 : Arrangements and Duality Computational Geometry Prof. Dr. Th. Ottmann 1 Duality and Arrangements Duality between lines and points Computing.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Voronoi Diagrams.
Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
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.
Computational Geometry Piyush Kumar (Lecture 4: Planar Graphs, Polygons and Art Gallery) Welcome to CIS5930.
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University.
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.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Duality.
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.
An arrangement of lines: A(H)
C o m p u t i n g C O N V E X H U L L S. Presentation Outline 2D Convex Hulls –Definitions and Properties –Approaches: Brute Force Gift Wrapping QuickHull.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Nonoverlap of the Star Unfolding Boris Aronov and Joseph O’Rourke, 1991 A Summary by Brendan Lucier, 2004.
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.
2/19/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry:
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.
An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Introduction to Graph Theory Lecture 13: Graph Coloring: Edge Coloring.
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.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
Polygon Triangulation
Computational Geometry
Graphs. Representations of graphs : undirected graph An undirected graph G have five vertices and seven edges An adjacency-list representation of G The.
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
Computational Geometry
An Introduction to Computational Geometry
VORONOI DIAGRAMS FOR PARALLEL HALFLINES IN 3D
Geometric Graphs and Quasi-Planar Graphs
Computational Geometry Capter:1-2.1
Polygon Triangulation
Depth Estimation via Sampling
I. The Problem of Molding
Computational Geometry
Presentation transcript:

An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational Geometry in C, 2 nd Edition, Chapter 6]

Arrangement of Lines A partition of the plane into vertices, edges, cells, by a finite set of lines.

3 [O’Rourke, Chapter 6]

Sign Vectors A partition of the plane into vertices, edges, cells, by a finite set of lines. (+,+,-,-,-) (+,+,+,+,+) (-,-,-,-,-) (0,-,-,+,+) (+,0,-,0,0)

Combinatorics of Arrangements of Lines Arrangement is simple if Arrangement is simple if No 2 lines are parallel; andNo 2 lines are parallel; and No 3 lines pass through a common pointNo 3 lines pass through a common point Theorem 6.2.1: In a simple arrangement of n lines, V=n(n-1)/2, E=n 2, F=n(n- 1)/2+n+1. These are upper bounds in a nonsimple arrangement. Theorem 6.2.1: In a simple arrangement of n lines, V=n(n-1)/2, E=n 2, F=n(n- 1)/2+n+1. These are upper bounds in a nonsimple arrangement. 5

Proof Consider a simple arrangement; non- simple arrangements only have fewer vertices, edges and faces Consider a simple arrangement; non- simple arrangements only have fewer vertices, edges and faces 6

Proof (cont) Vertices: Every pair of lines defines a unique vertex: {n choose 2} = n(n-1)/2 Vertices: Every pair of lines defines a unique vertex: {n choose 2} = n(n-1)/2 Edges: Each line is crossed at n-1 distinct points by the other n-1 lines: This yields n edges per line, so n 2 total Edges: Each line is crossed at n-1 distinct points by the other n-1 lines: This yields n edges per line, so n 2 total Faces: Faces: Use Euler (include a “vertex at infinity”, where all unbounded edges are incident): f- e+v=f-n 2 +(1+n(n-1)/2)=2, so f=1+n+n(n-1)/2Use Euler (include a “vertex at infinity”, where all unbounded edges are incident): f- e+v=f-n 2 +(1+n(n-1)/2)=2, so f=1+n+n(n-1)/2 Use sweep argument (as done in class)Use sweep argument (as done in class) 7 Assume: The n lines form a simple arrangement

Zone of a Line in an Arrangement of Lines 8 The zone of the blue line (x-axis) is highlighted in red: It has complexity 15 The zone, Z(L), of line L in an arrangement of lines is the set of all cells intersected by L. The complexity of the zone, |Z(L)|, is the total number of edges of the cells of the zone. (Some edges may be counted twice.)

Zone Theorem Theorem 6.2.2: The total number of edges in all the cells that intersect any one line L in an arrangement of n lines is O(n). Specifically, |Z(L)| ≤ 6n. Theorem 6.2.2: The total number of edges in all the cells that intersect any one line L in an arrangement of n lines is O(n). Specifically, |Z(L)| ≤ 6n. 9

Zone Theorem: Proof Proof: By induction on n. Proof: By induction on n. WLOG: L is horizontal WLOG: L is horizontal We show that the number of “left contributions” is at most 3n. We show that the number of “left contributions” is at most 3n. Clearly true for n=1. Clearly true for n=1. Induction Hypothesis (IH): true for n≤k. Induction Hypothesis (IH): true for n≤k. 10

Zone Theorem: Proof Consider a set of k+1 lines; remove the one, L k+1, with rightmost crossing along L. Consider a set of k+1 lines; remove the one, L k+1, with rightmost crossing along L. When we add L k+1 back, we get at most one new left contribution along it, and potentially split 2 other left contributions. When we add L k+1 back, we get at most one new left contribution along it, and potentially split 2 other left contributions. Thus, going from k lines to k+1 lines increases number of left contributions by at most 3: total is at most 3(k+1) for k+1 lines. Thus, going from k lines to k+1 lines increases number of left contributions by at most 3: total is at most 3(k+1) for k+1 lines. By induction, we have proved that the number of left contributions is at most 3n, for any n By induction, we have proved that the number of left contributions is at most 3n, for any n Thus, total zone has at most 6n complexity Thus, total zone has at most 6n complexity 11

12

13

Constructing an Arrangement of Lines Corollary to Zone Thm: The arrangement of n lines can be constructed (e.g., in a winged-edge data structure) in time O(n 2 ) Corollary to Zone Thm: The arrangement of n lines can be constructed (e.g., in a winged-edge data structure) in time O(n 2 ) Algorithm: Incremental Algorithm: Incremental 14

Inserting a Line in the Arrangement 15

Point-Line Duality 16 Lines dual to the 4 points L : y = 2ax – b  p : (a,b) Applet: (uses L : y = ax – b  p : (a,b) )

Relationship to Parabola y=x 2 17

Example 18

Example 19

Duality Properties 1. D(D(x)) = x 2. D is one-to-one correspondence between all nonvertical lines and all points in the plane 3. Point p lies on line L iff point D(L) lies on line D(p) 4. Lines L 1 and L 2 intersect at point p iff the line D(p) passes through the two points D(L 1 ) and D(L 2 ) 5. If point p lies above line L, then line D(p) lies below point D(L); if p lies below L, then D(p) lies above D(L) 20

Duality Properties 1. D(D(x)) = x 2. D is one-to-one correspondence between all nonvertical lines and all points in the plane 21

Duality Properties 3. Point p lies on line L iff point D(L) lies on line D(p) 22

Duality Properties 4. Lines L 1 and L 2 intersect at point p iff the line D(p) passes through the two points D(L 1 ) and D(L 2 ) 23

Duality Properties 5. If point p lies above line L, then line D(p) lies below point D(L); if p lies below L, then D(p) lies above D(L) 24

Dual of a Triangle Applet Applet Applet 25

Dual of a Line Segment 26 p q D(p) D(q) D(L) L r D(r) Applet Applet Applet

Applications of Duality Degeneracy testing Degeneracy testing Halfplane intersection/convex hull Halfplane intersection/convex hull k-Nearest Neighbors, higher order Voronoi diagrams k-Nearest Neighbors, higher order Voronoi diagrams Hidden surface removal Hidden surface removal Aspect graphs Aspect graphs Smallest polytope shadow Smallest polytope shadow Ham sandwich cuts Ham sandwich cuts Red-blue matching Red-blue matching Segment stabbing Segment stabbing Radial sorting/visibility graphs Radial sorting/visibility graphs Minimum area triangle Minimum area triangle 27

Degeneracy Testing Given n points in the plane: Decide if some 3 (or more) of them are collinear Given n points in the plane: Decide if some 3 (or more) of them are collinear Naïve: Check all triples: O(n 3 ) Naïve: Check all triples: O(n 3 ) Smarter: Sort points by angle around each point p i : n sorts, total O(n 2 log n) Smarter: Sort points by angle around each point p i : n sorts, total O(n 2 log n) 28 Applet Applet Applet

Degeneracy Testing Given n points in the plane: Decide if some 3 (or more) of them are collinear Given n points in the plane: Decide if some 3 (or more) of them are collinear Use duality: Build arrangement of the n lines, D(p i ), in time O(n 2 ), and check if there is some vertex having degree 6 or more (where 3 or more lines pass through – such is dual to a line passing through 3 or more points) Use duality: Build arrangement of the n lines, D(p i ), in time O(n 2 ), and check if there is some vertex having degree 6 or more (where 3 or more lines pass through – such is dual to a line passing through 3 or more points) Total time: O(n 2 ) Total time: O(n 2 ) O(n 2 ) space, but O(n) possible with “topological sweep” O(n 2 ) space, but O(n) possible with “topological sweep” 29

Halfplane Intersection/Convex Hull Given n halfplanes, compute their intersection Given n halfplanes, compute their intersection View in dual: lower envelope of n lines corresponds to upper convex hull of n points that are duals of the lines View in dual: lower envelope of n lines corresponds to upper convex hull of n points that are duals of the lines 30 Applet Applet Applet

Segment Stabbing Given n line segments in the plane Given n line segments in the plane Decide if there exists a line L that stabs all of them (or find a line L that stabs as manhy as possible) Decide if there exists a line L that stabs all of them (or find a line L that stabs as manhy as possible) View in dual: n double wedges (duals of segments) overlay to give an arr of 2n lines (build in O(n 2 )). Look for a point that lies in as many double wedges as possible (BFS/DFS in faces of arr) View in dual: n double wedges (duals of segments) overlay to give an arr of 2n lines (build in O(n 2 )). Look for a point that lies in as many double wedges as possible (BFS/DFS in faces of arr) 31

Ham Sandwich Cut Bisector of a set S of points: A line L that has at most |S|/2 points strictly on each side of L Bisector of a set S of points: A line L that has at most |S|/2 points strictly on each side of L Ham Sandwich Theorem: Given a set S=A  B of red points (A) and blue points (B), there exists a line L that bisects both A and B Ham Sandwich Theorem: Given a set S=A  B of red points (A) and blue points (B), there exists a line L that bisects both A and B 32

Ham Sandwich Cut 33 L

Ham Sandwich Cut: Example 34

Ham Sandwich Cut: Example 35

Ham Sandwich Cut: Example 36

Ham Sandwich Cut: Example 37

Ham Sandwich Cuts Application: Noncrossing red-blue matching Application: Noncrossing red-blue matching Higher dimensions: Higher dimensions: 38

Ham Sandwich Cut 39

Higher Dimensions In d dimensions: Arrangement of n hyperplanes has overall complexity O(n d ) In d dimensions: Arrangement of n hyperplanes has overall complexity O(n d ) Zone of a plane: Zone Theorem: O(n d-1 ) Zone of a plane: Zone Theorem: O(n d-1 ) Algorithm to construct arr: O(n d ) Algorithm to construct arr: O(n d ) Point-hyperplane duality Point-hyperplane duality 40