Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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


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

Similar presentations


Ads by Google