Download presentation
Presentation is loading. Please wait.
Published byEllen Ross Modified over 8 years ago
1
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]
2
Arrangement of Lines 2 1 2 3 4 5 A partition of the plane into vertices, edges, cells, by a finite set of lines.
3
3 [O’Rourke, Chapter 6]
4
Sign Vectors 4 1 2 3 4 5 A partition of the plane into vertices, edges, cells, by a finite set of lines. (+,+,-,-,-) (+,+,+,+,+) (-,-,-,-,-) (0,-,-,+,+) (+,0,-,0,0)
5
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
6
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
7
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
8
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.)
9
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
10
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
11
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
12
13
13
14
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
15
Inserting a Line in the Arrangement 15
16
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) ) http://nms.lcs.mit.edu/~aklmiu/6.838/dual/
17
Relationship to Parabola y=x 2 17
18
Example 18
19
Example 19
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 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
21
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
22
Duality Properties 3. Point p lies on line L iff point D(L) lies on line D(p) 22
23
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
24
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
25
Dual of a Triangle Applet Applet Applet 25
26
Dual of a Line Segment 26 p q D(p) D(q) D(L) L r D(r) Applet Applet Applet
27
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
28
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
29
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
30
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
31
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
32
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
33
Ham Sandwich Cut 33 L
34
Ham Sandwich Cut: Example 34
35
Ham Sandwich Cut: Example 35
36
Ham Sandwich Cut: Example 36
37
Ham Sandwich Cut: Example 37
38
Ham Sandwich Cuts Application: Noncrossing red-blue matching Application: Noncrossing red-blue matching Higher dimensions: Higher dimensions: 38
39
Ham Sandwich Cut 39
40
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.