20
Duality point ) , ( y x p p p y x p x p y p : * line line b mx y l : ) , ( * b m l point ) , ( 1 1 1 y x p p p 2 p 3 p 4 p l * 1 p * 4 p * 2 p * 3 p * l y p 1 x y p p 1 1 primal plane dual plane

Duality

  • Upload
    arvin

  • View
    34

  • Download
    0

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

Page 1: Duality

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

Page 2: Duality

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

Page 3: Duality

Dual of a Line Segment?

Point

p

q

s

rl

*p

*q

*r*l

Page 4: Duality

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

Page 5: Duality

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

Page 6: Duality

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

Page 7: Duality

Back to the Discrepancy Problem

Point

p

q

),( qpl *),( qpl

*p*q

= #lines strictly above *),( qpl Efficient algorithm exists!

),( qpl# points below

Page 8: Duality

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.

Page 9: Duality

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.

Page 10: Duality

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.

Page 11: Duality

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.)

Page 12: Duality

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.

Page 13: Duality

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

Page 14: Duality

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

Page 15: Duality

Storage of Line Arrangement

Point Doubly-connected edge list.

Add a bounding box to contain all vertices in interior.

Page 16: Duality

Construction of DCEL for A(L)

Point

)log()loglog( 2 nnOnInnO

Plane sweep?

Not optimal!

pairwise intersection 2/)1( nnI

Page 17: Duality

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

Page 18: Duality

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

Page 19: Duality

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

Page 20: Duality

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.