Upload
arvin
View
34
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Duality. line. point. point. line. primal plane. dual plane. Collinear Points. collinear on line. Point. dual lines. concurrent at. iff. lies above. iff. lies above. Dual of a Line Segment?. Point. Relation to a Parabola. Dual of is the tangent - PowerPoint PPT Presentation
Citation preview
Duality
point ),( yx ppp yx pxpyp :*line
line bmxyl : ),(* bml point
),( 111 yx ppp
2p
3p
4pl *
1p
*4p
*2p
*3p
*lyp1
x
y
p
p
1
1
primal plane dual plane
Collinear Points
Point 321 ,, ppp collinear on line
*3
*2
*1 ,, ppp
l
concurrent at dual lines *l
pp **)(
ll **)(
lp iff** pl
lies above lies abovep *p*ll iff
Dual of a Line Segment?
Point
p
q
s
rl
*p
*q
*r*l
Relation to a Parabola
Point
2
2xy
Dual of is the tangentline of the parabola at .
p*pp
),( yx ppp Proof Let .
Slope of the tangent: . xp
But dual is line ,
which has the same slope.
yx pxpy
Since , is lies on the dual line.
2/2xy pp ),( yx ppp
p
*p
Relation to a Parabola (2)
Point 2
2xy
p
*p
q
'q
*q
qppq '
),( yx ppp yx pxpyp :*
),( dppq yx dpxpyq yx :*
),(' dppq yx d
The dual line and it passesthrough .
** // pq'q
More on Duality
Point
q
*q
2
2xy
1p
2p
Construct thedual line of qwithout measuring distances:
1) Through draw two tangent lines to the parabola.
q
2) Let and be the points of tangency, respectively.
1p 2p
3) is the line through and .
*q1p 2p
The two tangent lines are and . *1p
*2p
*1p and intersect at passes through and .
*2p q *q 1p 2p
Back to the Discrepancy Problem
Point
p
q
),( qpl *),( qpl
*p*q
= #lines strictly above *),( qpl Efficient algorithm exists!
),( qpl# points below
Arrangement of Lines
Point L: a set of n lines.
A(L): planar subdivision induced by L.
with unbounded edges and faces
vertexedge
face
Simple arrangement if
no two lines are parallel.
no three lines are concurrent.
Reduction to Line Arrangment
Point
*q
*p
*llq
p
primal plane dual plane
Structure of a line arrangement is more apparent thanthat of a point set.
Problem on points problem on an arrangement of dual lines.
Combinatorial Complexity
Point #vertices + #edges + #faces
2
)1(
nnTheorem #vertices
2n#edges
122
2
nn
#faces
Equality holds if and only if A(L) is simple.
Proof of Complexity
Point We first show that #vertices, #edges, #faces are maximal when A(L) is simple and not otherwise.
Ll 1) Let be parallel to one or more lines.
l
1l
l
1l
small enough rotation to result
in one change in A(L)
new vertex
Complexity increases in this case. (Hence such configurationcannot be maximal.)
Proof (Cont’d)
Point l 2) Supppose passes through a vertex.
2l
1ll l 1l
2l
translate
slightly
l
2 new vertices3 new edges1 new face
Since complexity increases, such configuration cannot be maximal either.
The arrangement with maximal complexity must be simple.
Exact Size of a Simple Alignment
Point vnenfn
# vertices
# edges
# faces
Any pair of lines intersect .2
)1(
2
nnnnv
#edges on one line = 1 + #intersections on the line
2)11( nnnne
1n
Number of Faces
Point v 1. Add a vertex at infinity.
2. Connect the two endpoints of every edge to .
v
v
No edge crossing will be generated.
A planar graph, by Euler’s theorem,
2)1( efv nnn evf nnn )1(22)1
2
)1((2 nnn
122
2
nn
Storage of Line Arrangement
Point Doubly-connected edge list.
Add a bounding box to contain all vertices in interior.
Construction of DCEL for A(L)
Point
)log()loglog( 2 nnOnInnO
Plane sweep?
Not optimal!
pairwise intersection 2/)1( nnI
Incremental Algorithm
Point Preprocessing
Compute the bounding box B(L).
- leftmost, rightmost, top, bottom intersections.
- intersections.2n
)( 2n
Update the DCEL after each addition.
Add lines one by one.nlll ,...,, 21
Updating the Subdivision
Point :iA subdivision due to },...,,{ 21 illl
ef 'e
Case 1 enter a face f through edge e.
- walk along boundary of f using the the Next pointer.
- find exit edge e’.
- use its Twin() pointer to enter face g.
il g
Updating the Subdivision
Point
g
h
u
Alternatively use Next() and Twin()pointers,
il
Case 2 leave a face (g) through a vertex (u).
- walk around u to find the next face (h) intersected by
il
First Edge of Intersection
Point How to find the first edge (leftmost edge) intersected by ?il
It must be an edge on the bounding box B(L).
Just test all edges on B(L).
In case is vertical, locate the bottom intersection to start offtraversal.
il
has edges on B(L) since each edge intersects it twice.iA 4)1(2 i
First intersection edge can be found in O(i) time.