Lecture 11: Arrangements and Dualitybgenc/courses/bca... · Lecture 11: Arrangements and Duality 1...

Post on 06-Jul-2020

2 views 0 download

Transcript of Lecture 11: Arrangements and Dualitybgenc/courses/bca... · Lecture 11: Arrangements and Duality 1...

IntroductionDuality

Arrangements

Arrangements and Duality

Computational Geometry

Lecture 11: Arrangements and Duality

Computational Geometry Lecture 11: Arrangements and Duality1

IntroductionDuality

Arrangements

Three Points on a Line

Question: In a set of n points, are there 3 points on a line?

Naive algorithm: tests all triples in O(n3) timeFaster algorithm: uses duality and arrangements

Note: other motivation in chapter 8 of the book

Computational Geometry Lecture 11: Arrangements and Duality2

IntroductionDuality

Arrangements

Three Points on a Line

Question: In a set of n points, are there 3 points on a line?

Naive algorithm: tests all triples in O(n3) time

Faster algorithm: uses duality and arrangements

Note: other motivation in chapter 8 of the book

Computational Geometry Lecture 11: Arrangements and Duality3

IntroductionDuality

Arrangements

Three Points on a Line

Question: In a set of n points, are there 3 points on a line?

Naive algorithm: tests all triples in O(n3) timeFaster algorithm: uses duality and arrangements

Note: other motivation in chapter 8 of the book

Computational Geometry Lecture 11: Arrangements and Duality4

IntroductionDuality

Arrangements

Three Points on a Line

Question: In a set of n points, are there 3 points on a line?

Naive algorithm: tests all triples in O(n3) timeFaster algorithm: uses duality and arrangements

Note: other motivation in chapter 8 of the book

Computational Geometry Lecture 11: Arrangements and Duality5

IntroductionDuality

Arrangements

Duality

` : y = mx+ b

p = (px, py)

point p = (px,py) 7→ line p∗ : y = pxx−py

line ` : y = mx+b 7→ point `∗ = (m,−b)

Note:

Computational Geometry Lecture 11: Arrangements and Duality6

IntroductionDuality

Arrangements

Duality

` : y = mx+ b

p = (px, py)

primal plane dual plane

p∗ : y = pxx− py

`∗ = (m,−b)

point p = (px,py) 7→ line p∗ : y = pxx−py

line ` : y = mx+b 7→ point `∗ = (m,−b)

Note:

Computational Geometry Lecture 11: Arrangements and Duality7

IntroductionDuality

Arrangements

Duality

` : y = mx+ b

p = (px, py)

primal plane dual plane

p∗ : y = pxx− py

`∗ = (m,−b)

point p = (px,py) 7→ line p∗ : y = pxx−py

line ` : y = mx+b 7→ point `∗ = (m,−b)

Note: self inverse (p∗)∗ = p, (`∗)∗ = `

Computational Geometry Lecture 11: Arrangements and Duality8

IntroductionDuality

Arrangements

Duality

` : y = mx+ b

p = (px, py)

primal plane dual plane

p∗ : y = pxx− py

`∗ = (m,−b)

point p = (px,py) 7→ line p∗ : y = pxx−py

line ` : y = mx+b 7→ point `∗ = (m,−b)

Note: does not handle vertical lines

Computational Geometry Lecture 11: Arrangements and Duality9

IntroductionDuality

Arrangements

Duality

primal plane dual plane

` : y = mx+ b

p = (px, py)

mpx + b− py

p∗ : y = pxx− py

`∗ = (m,−b)

pxm− py + b

Duality preserves vertical distances

⇒ incidence preserving: p ∈ ` if and only if `∗ ∈ p∗

⇒ order preserving: p lies above ` if and only if `∗ lies above p∗

Computational Geometry Lecture 11: Arrangements and Duality10

IntroductionDuality

Arrangements

Duality

primal plane dual plane

` : y = mx+ b

p = (px, py)

mpx + b− py

p∗ : y = pxx− py

`∗ = (m,−b)

pxm− py + b

Duality preserves vertical distances⇒ incidence preserving: p ∈ ` if and only if `∗ ∈ p∗

⇒ order preserving: p lies above ` if and only if `∗ lies above p∗

Computational Geometry Lecture 11: Arrangements and Duality11

IntroductionDuality

Arrangements

Duality

primal plane dual plane

` : y = mx+ b

p = (px, py)

mpx + b− py

p∗ : y = pxx− py

`∗ = (m,−b)

pxm− py + b

Duality preserves vertical distances⇒ incidence preserving: p ∈ ` if and only if `∗ ∈ p∗

⇒ order preserving: p lies above ` if and only if `∗ lies above p∗

Computational Geometry Lecture 11: Arrangements and Duality12

IntroductionDuality

Arrangements

Duality

It can be applied to other objects, like segments

primal plane

sp

q`

The dual of a segment is a double wedge

Question: What line would dualize to a point in the rightpart of the double wedge?

Computational Geometry Lecture 11: Arrangements and Duality13

IntroductionDuality

Arrangements

Duality

It can be applied to other objects, like segments

primal plane

sp

q`

dual plane

s∗

p∗ q∗

`∗

The dual of a segment is a double wedge

Question: What line would dualize to a point in the rightpart of the double wedge?

Computational Geometry Lecture 11: Arrangements and Duality14

IntroductionDuality

Arrangements

Duality

A geometric interpretation:

parabola U : y = x2/2

point p = (px,py) on U

derivative of U at p is px, i.e., p∗

has same slope as the tangentline

the tangent line intersects y-axisat (0,−p2

x/2)

⇒ p∗ is the tangent line at p

p

q

q′

p∗

q∗U

Computational Geometry Lecture 11: Arrangements and Duality15

IntroductionDuality

Arrangements

Duality

A geometric interpretation:

parabola U : y = x2/2

point p = (px,py) on U

derivative of U at p is px, i.e., p∗

has same slope as the tangentline

the tangent line intersects y-axisat (0,−p2

x/2)

⇒ p∗ is the tangent line at p

p

q

q′

p∗

q∗U

Computational Geometry Lecture 11: Arrangements and Duality16

IntroductionDuality

Arrangements

Duality

A geometric interpretation:

parabola U : y = x2/2

point p = (px,py) on U

derivative of U at p is px, i.e., p∗

has same slope as the tangentline

the tangent line intersects y-axisat (0,−p2

x/2)

⇒ p∗ is the tangent line at p

p

q

q′

p∗

q∗U

Computational Geometry Lecture 11: Arrangements and Duality17

IntroductionDuality

Arrangements

Duality

A geometric interpretation:

parabola U : y = x2/2

point p = (px,py) on U

derivative of U at p is px, i.e., p∗

has same slope as the tangentline

the tangent line intersects y-axisat (0,−p2

x/2)

⇒ p∗ is the tangent line at p

p

q

q′

p∗

q∗U

Computational Geometry Lecture 11: Arrangements and Duality18

IntroductionDuality

Arrangements

Duality

A geometric interpretation:

parabola U : y = x2/2

point p = (px,py) on U

derivative of U at p is px, i.e., p∗

has same slope as the tangentline

the tangent line intersects y-axisat (0,−p2

x/2)

⇒ p∗ is the tangent line at p

p

q

q′

p∗

q∗U

Computational Geometry Lecture 11: Arrangements and Duality19

IntroductionDuality

Arrangements

Usefulness of Duality

Why use duality? It gives a new perspective!

Detecting three points on a line dualizes to detectingthree lines intersecting in a point

x

y

x

y

primal plane dual plane

`

`∗p1

p2

p3p4 p2

p4∗

p1∗ p3

Next we use arrangements

Computational Geometry Lecture 11: Arrangements and Duality20

IntroductionDuality

Arrangements

Usefulness of Duality

Why use duality? It gives a new perspective!

Detecting three points on a line dualizes to detectingthree lines intersecting in a point

x

y

x

y

primal plane dual plane

`

`∗p1

p2

p3p4 p2

p4∗

p1∗ p3

Next we use arrangements

Computational Geometry Lecture 11: Arrangements and Duality21

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Arrangements of Lines

Arrangement A(L): subdivision induced by a set of lines L

consists of faces, edges andvertices (some unbounded)

arrangements can be madefor other geometric objectstoo, like line segments,circles, higher-dimensionalobjects

edge

vertex

face

Computational Geometry Lecture 11: Arrangements and Duality22

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Arrangements of Lines

Arrangement A(L): subdivision induced by a set of lines L

consists of faces, edges andvertices (some unbounded)

arrangements can be madefor other geometric objectstoo, like line segments,circles, higher-dimensionalobjects

edge

vertex

face

Computational Geometry Lecture 11: Arrangements and Duality23

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Arrangements of Lines

Combinatorial Complexity:

≤ n(n−1)/2 vertices

≤ n2 edges

≤ n2/2+n/2+1 faces:add lines incrementally

1+n

∑i=1

i = n(n+1)/2+1

equality holds in simplearrangements

Overall O(n2) complexity

edge

vertex

face

Computational Geometry Lecture 11: Arrangements and Duality24

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Arrangements of Lines

Combinatorial Complexity:

≤ n(n−1)/2 vertices

≤ n2 edges

≤ n2/2+n/2+1 faces:add lines incrementally

1+n

∑i=1

i = n(n+1)/2+1

equality holds in simplearrangements

Overall O(n2) complexity

edge

vertex

face

Computational Geometry Lecture 11: Arrangements and Duality25

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Arrangements of Lines

Combinatorial Complexity:

≤ n(n−1)/2 vertices

≤ n2 edges

≤ n2/2+n/2+1 faces:add lines incrementally

1+n

∑i=1

i = n(n+1)/2+1

equality holds in simplearrangements

Overall O(n2) complexity

edge

vertex

face

Computational Geometry Lecture 11: Arrangements and Duality26

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Arrangements of Lines

Combinatorial Complexity:

≤ n(n−1)/2 vertices

≤ n2 edges

≤ n2/2+n/2+1 faces:add lines incrementally

1+n

∑i=1

i = n(n+1)/2+1

equality holds in simplearrangements

Overall O(n2) complexity

edge

vertex

face

Computational Geometry Lecture 11: Arrangements and Duality27

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Arrangements of Lines

Combinatorial Complexity:

≤ n(n−1)/2 vertices

≤ n2 edges

≤ n2/2+n/2+1 faces:add lines incrementally

1+n

∑i=1

i = n(n+1)/2+1

equality holds in simplearrangements

Overall O(n2) complexity

edge

vertex

face

Computational Geometry Lecture 11: Arrangements and Duality28

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Constructing Arrangements

Goal: Compute A(L) in bounding box in DCEL representation

plane sweep for line segment intersection:O((n+ k) logn) = O(n2 logn)

faster: incremental construction

Computational Geometry Lecture 11: Arrangements and Duality29

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Constructing Arrangements

Goal: Compute A(L) in bounding box in DCEL representation

plane sweep for line segment intersection:O((n+ k) logn) = O(n2 logn)

faster: incremental construction

Computational Geometry Lecture 11: Arrangements and Duality30

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Constructing Arrangements

Goal: Compute A(L) in bounding box in DCEL representation

plane sweep for line segment intersection:O((n+ k) logn) = O(n2 logn)

faster: incremental construction

Computational Geometry Lecture 11: Arrangements and Duality31

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

`i

Algorithm ConstructArrange-ment(L)

Input. Set L of n linesOutput. DCEL for A(L) in B(L)1. Compute bounding box B(L)2. Construct DCEL for subdivision

induced by B(L)3. for i← 1 to n4. do insert `i

Computational Geometry Lecture 11: Arrangements and Duality32

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Algorithm ConstructArrangement(L)Input. A set L of n lines in the planeOutput. DCEL for subdivision induced by B(L) and the part

of A(L) inside B(L), where B(L) is a suitable bounding box1. Compute a bounding box B(L) that contains all vertices

of A(L) in its interior2. Construct DCEL for the subdivision induced by B(L)3. for i← 1 to n4. do Find the edge e on B(L) that contains the

leftmost intersection point of `i and Ai

5. f ← the bounded face incident to e6. while f is not the unbounded face, that is, the

face outside B(L)7. do Split f , and set f to be the next face

intersected by `iComputational Geometry Lecture 11: Arrangements and Duality33

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Face split:

f

`i

=⇒

`i

Computational Geometry Lecture 11: Arrangements and Duality34

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Runtime analysis:

1. O(n2)2. constant

3. & 4. ?

Algorithm ConstructArrange-ment(L)

Input. Set L of n linesOutput. DCEL for A(L) in B(L)1. Compute bounding box B(L)2. Construct DCEL for subdivision

induced by B(L)3. for i← 1 to n4. do insert `i

Computational Geometry Lecture 11: Arrangements and Duality35

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Runtime analysis:

1. O(n2)

2. constant

3. & 4. ?

Algorithm ConstructArrange-ment(L)

Input. Set L of n linesOutput. DCEL for A(L) in B(L)1. Compute bounding box B(L)2. Construct DCEL for subdivision

induced by B(L)3. for i← 1 to n4. do insert `i

Computational Geometry Lecture 11: Arrangements and Duality36

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Runtime analysis:

1. O(n2)2. constant

3. & 4. ?

Algorithm ConstructArrange-ment(L)

Input. Set L of n linesOutput. DCEL for A(L) in B(L)1. Compute bounding box B(L)2. Construct DCEL for subdivision

induced by B(L)3. for i← 1 to n4. do insert `i

Computational Geometry Lecture 11: Arrangements and Duality37

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Runtime analysis:

1. O(n2)2. constant

3. & 4. ?

Algorithm ConstructArrange-ment(L)

Input. Set L of n linesOutput. DCEL for A(L) in B(L)1. Compute bounding box B(L)2. Construct DCEL for subdivision

induced by B(L)3. for i← 1 to n4. do insert `i

Computational Geometry Lecture 11: Arrangements and Duality38

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Zone Theorem

The zone of a line ` in an arrangement A(L) is the set offaces of A(L) whose closure intersects `

`

Theorem: The complexity of the zone of a line in anarrangement of m lines is O(m)

Computational Geometry Lecture 11: Arrangements and Duality39

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Zone Theorem

The zone of a line ` in an arrangement A(L) is the set offaces of A(L) whose closure intersects `

`

Theorem: The complexity of the zone of a line in anarrangement of m lines is O(m)

Computational Geometry Lecture 11: Arrangements and Duality40

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Zone Theorem

Theorem: The complexity of the zone of a line in an arrangementof m lines is O(m)

Proof:

We can assume ` horizontal andno other line is horizontal

We count number ofleft-bounding edges

We show by induction on m thatthis at most 5m:

m = 1 : trivially truem > 1 : only at most 3 newedges if `1 is unique,

at most 5 if `1 is not unique5(m−1)+5 = 5m

`

Computational Geometry Lecture 11: Arrangements and Duality41

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Zone Theorem

Theorem: The complexity of the zone of a line in an arrangementof m lines is O(m)

Proof:

We can assume ` horizontal andno other line is horizontal

We count number ofleft-bounding edges

We show by induction on m thatthis at most 5m:

m = 1 : trivially truem > 1 : only at most 3 newedges if `1 is unique,

at most 5 if `1 is not unique5(m−1)+5 = 5m

`

Computational Geometry Lecture 11: Arrangements and Duality42

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Zone Theorem

Theorem: The complexity of the zone of a line in an arrangementof m lines is O(m)

Proof:

We can assume ` horizontal andno other line is horizontal

We count number ofleft-bounding edges

We show by induction on m thatthis at most 5m:

m = 1 : trivially truem > 1 : only at most 3 newedges if `1 is unique,

at most 5 if `1 is not unique5(m−1)+5 = 5m

`

Computational Geometry Lecture 11: Arrangements and Duality43

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Zone Theorem

Theorem: The complexity of the zone of a line in an arrangementof m lines is O(m)

Proof:

We can assume ` horizontal andno other line is horizontal

We count number ofleft-bounding edges

We show by induction on m thatthis at most 5m:

m = 1 : trivially truem > 1 : only at most 3 newedges if `1 is unique,

at most 5 if `1 is not unique5(m−1)+5 = 5m

`

Computational Geometry Lecture 11: Arrangements and Duality44

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Zone Theorem

Theorem: The complexity of the zone of a line in an arrangementof m lines is O(m)

Proof:

We can assume ` horizontal andno other line is horizontal

We count number ofleft-bounding edges

We show by induction on m thatthis at most 5m:

m = 1 : trivially truem > 1 : only at most 3 newedges if `1 is unique,

at most 5 if `1 is not unique5(m−1)+5 = 5m

`w

v

`2`1

Computational Geometry Lecture 11: Arrangements and Duality45

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Zone Theorem

Theorem: The complexity of the zone of a line in an arrangementof m lines is O(m)

Proof:

We can assume ` horizontal andno other line is horizontal

We count number ofleft-bounding edges

We show by induction on m thatthis at most 5m:

m = 1 : trivially truem > 1 : only at most 3 newedges if `1 is unique,at most 5 if `1 is not unique5(m−1)+5 = 5m

`w

v

`2`1

Computational Geometry Lecture 11: Arrangements and Duality46

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Run time analysis:

1. O(n2)2. constant

3. & 4.

∑ni=1 O(i) = O(n2)

In total O(n2)

Algorithm ConstructArrange-ment(L)

Input. Set L of n lines.Output. DCEL for A(L) in B(L).1. Compute bounding box B(L).2. Construct DCEL for subdivision

induced by B(L).3. for i← 1 to n4. do insert `i.

Computational Geometry Lecture 11: Arrangements and Duality47

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Run time analysis:

1. O(n2)

2. constant

3. & 4.

∑ni=1 O(i) = O(n2)

In total O(n2)

Algorithm ConstructArrange-ment(L)

Input. Set L of n lines.Output. DCEL for A(L) in B(L).1. Compute bounding box B(L).2. Construct DCEL for subdivision

induced by B(L).3. for i← 1 to n4. do insert `i.

Computational Geometry Lecture 11: Arrangements and Duality48

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Run time analysis:

1. O(n2)2. constant

3. & 4.

∑ni=1 O(i) = O(n2)

In total O(n2)

Algorithm ConstructArrange-ment(L)

Input. Set L of n lines.Output. DCEL for A(L) in B(L).1. Compute bounding box B(L).2. Construct DCEL for subdivision

induced by B(L).3. for i← 1 to n4. do insert `i.

Computational Geometry Lecture 11: Arrangements and Duality49

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Run time analysis:

1. O(n2)2. constant

3. & 4.

∑ni=1 O(i) = O(n2)

In total O(n2)

Algorithm ConstructArrange-ment(L)

Input. Set L of n lines.Output. DCEL for A(L) in B(L).1. Compute bounding box B(L).2. Construct DCEL for subdivision

induced by B(L).3. for i← 1 to n4. do insert `i.

Computational Geometry Lecture 11: Arrangements and Duality50

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Incremental Construction

Run time analysis:

1. O(n2)2. constant

3. & 4.

∑ni=1 O(i) = O(n2)

In total O(n2)

Algorithm ConstructArrange-ment(L)

Input. Set L of n lines.Output. DCEL for A(L) in B(L).1. Compute bounding box B(L).2. Construct DCEL for subdivision

induced by B(L).3. for i← 1 to n4. do insert `i.

Computational Geometry Lecture 11: Arrangements and Duality51

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

3 Points on a Line

Algorithm:

run incremental construction algorithm for dual problem

stop when 3 lines pass through a point

Run time: O(n2)

Computational Geometry Lecture 11: Arrangements and Duality52

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

3 Points on a Line

Algorithm:

run incremental construction algorithm for dual problem

stop when 3 lines pass through a point

Run time: O(n2)

Computational Geometry Lecture 11: Arrangements and Duality53

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Example: Motion Planning

Where can the rod move by translation (no rotations) whileavoiding obstacles?

pick a reference point:lower end-point of rod

shrink rod to a point,expand obstacles accordingly:locus of semi-free placements

reachable configurations:cell of initial configuration inarrangement of line segments

Computational Geometry Lecture 11: Arrangements and Duality54

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Example: Motion Planning

Where can the rod move by translation (no rotations) whileavoiding obstacles?

pick a reference point:lower end-point of rod

shrink rod to a point,expand obstacles accordingly:locus of semi-free placements

reachable configurations:cell of initial configuration inarrangement of line segments

Computational Geometry Lecture 11: Arrangements and Duality55

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Example: Motion Planning

Where can the rod move by translation (no rotations) whileavoiding obstacles?

pick a reference point:lower end-point of rod

shrink rod to a point,expand obstacles accordingly:locus of semi-free placements

reachable configurations:cell of initial configuration inarrangement of line segments

Computational Geometry Lecture 11: Arrangements and Duality56

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Example: Motion Planning

Where can the rod move by translation (no rotations) whileavoiding obstacles?

pick a reference point:lower end-point of rod

shrink rod to a point,expand obstacles accordingly:locus of semi-free placements

reachable configurations:cell of initial configuration inarrangement of line segments

Computational Geometry Lecture 11: Arrangements and Duality57

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Example: Motion Planning

Where can the rod move by translation (no rotations) whileavoiding obstacles?

pick a reference point:lower end-point of rod

shrink rod to a point,expand obstacles accordingly:locus of semi-free placements

reachable configurations:cell of initial configuration inarrangement of line segments

Computational Geometry Lecture 11: Arrangements and Duality58

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

k-levels in Arrangements

The level of a point in an arrangement of lines is the number oflines strictly above it

Open problem: What is thecomplexity of k-levels?

Dual problem: What is the numberof k-sets in a point set?

Known bounds:

Erdos et al. ’73:Ω(n logk) and O(nk1/2)

Dey ’97: O(nk1/3)

3

1

0

22

2

1

3

33 4

Computational Geometry Lecture 11: Arrangements and Duality59

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

k-levels in Arrangements

The level of a point in an arrangement of lines is the number oflines strictly above it

Open problem: What is thecomplexity of k-levels?

Dual problem: What is the numberof k-sets in a point set?

Known bounds:

Erdos et al. ’73:Ω(n logk) and O(nk1/2)

Dey ’97: O(nk1/3)

3

1

0

22

2

1

3

33 4

Computational Geometry Lecture 11: Arrangements and Duality60

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

k-levels in Arrangements

The level of a point in an arrangement of lines is the number oflines strictly above it

Open problem: What is thecomplexity of k-levels?

Dual problem: What is the numberof k-sets in a point set?

Known bounds:

Erdos et al. ’73:Ω(n logk) and O(nk1/2)

Dey ’97: O(nk1/3)

5-set

`

Computational Geometry Lecture 11: Arrangements and Duality61

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

k-levels in Arrangements

The level of a point in an arrangement of lines is the number oflines strictly above it

Open problem: What is thecomplexity of k-levels?

Dual problem: What is the numberof k-sets in a point set?

Known bounds:

Erdos et al. ’73:Ω(n logk) and O(nk1/2)

Dey ’97: O(nk1/3)

5-set

`

Computational Geometry Lecture 11: Arrangements and Duality62

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

k-levels in Arrangements

The level of a point in an arrangement of lines is the number oflines strictly above it

Open problem: What is thecomplexity of k-levels?

Dual problem: What is the numberof k-sets in a point set?

Known bounds:

Erdos et al. ’73:Ω(n logk) and O(nk1/2)

Dey ’97: O(nk1/3)

5-set

`

Computational Geometry Lecture 11: Arrangements and Duality63

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Three dimensions

In 3D, we have point-plane duality

point p = (px,py,pz) 7→ plane p∗ : z = pxx+pyy−pz

plane Π : z = mx+ ky+b 7→ point Π∗ = (m,k,−b)

Lines dualize to other lines

Note: self inverse (p∗)∗ = p, (`∗)∗ = ` does not handlevertical planes

Computational Geometry Lecture 11: Arrangements and Duality64

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Three dimensions

An arrangement induced by n planes in 3D has complexityO(n3)

Deciding whether a set of points in 3D has four or moreco-planar points can be done in O(n3) time (dualize andconstruct the arrangement)

The zone of a plane in an arrangement of n planes hascomplexity O(n2)

Computational Geometry Lecture 11: Arrangements and Duality65

IntroductionDuality

Arrangements

Incremental ConstructionMotion Planningk-Levels

Summary

Duality is a useful tool to reformulate certain problems onpoints in the plane to lines in the plane, and vice versa

Dualization of line segments is especially useful

Arrangements, zones of lines in arrangements, and levels inarrangements are useful concepts in computational geometry

All of this exists in three and higher dimensional spaces too

Computational Geometry Lecture 11: Arrangements and Duality66