Lecture 11: Arrangements and Dualitybgenc/courses/bca... · Lecture 11: Arrangements and Duality 1...
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