splitting a face

16
Splitting a Face Point i l f edge already split new vertex i l 2 f 1 f two new faces one new vertex six new half-edges

Upload: osric

Post on 25-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Splitting a Face. Point . two new faces one new vertex six new half-edges. edge already split. new vertex. The Algorithm. ConstructArrangement ( L ) Compute a bounding box B ( L ) to contain all vertices of A ( L ) // Initialize DCEL for B ( L ) // O (1) for i ←1 to n - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Splitting a Face

Splitting a Face

Point

il

f

edge already split new

vertex il

2f

1f

two new faces one new vertexsix new half-edges

Page 2: Splitting a Face

The Algorithm

Point )( 2nO

il

Page 3: Splitting a Face

Face Splitting

Point Split faces in intersected by .1iA il

- Insertion of takes time linear in total complexity of faces intersected by the line.

il

ilil

il

il

Page 4: Splitting a Face

Zone

Point

l

once

three times

A vertex may be counted up to four times.

fourtimes

twice

Page 5: Splitting a Face

Time of Arrangement Construction

Point Proof By induction.

Time to insert all lines, and thus to construct line arrangement:

n

i

nOiO1

2 )()(

Page 6: Splitting a Face

Solution to the Discrepancy Problem

Point

83)( hs

41)( hContinuous measure:

Discrete measure:

Minimize |)()(| hhs

Exactly one point brute-force method

At least two points apply duality

)( 2nO

Page 7: Splitting a Face

How to Use Duality?

Point

A line through ≥ 2 sample points

Page 8: Splitting a Face

Reduction

Point :an # lines above a vertex

:bn # lines below the vertex

:on # lines through the vertex

Sufficient to compute 2 of 3 numbers (with sum n).

is known from DCEL.:on

Need only compute the level of every vertex in A(S*). an

Page 9: Splitting a Face

Levels of Vertices in an Arrangement

Point

0

2

1

3

1

3

4

32

3

2

level of a point = # lines strictly above it.

Page 10: Splitting a Face

Counting Levels of Vertices

Point

1v

5v4v

3v2v

l121 ,...,, nvvv

Page 11: Splitting a Face

Counting Levels of Vertices

Point

1vl

11v

1v

Along the line the level changesonly at a vertex .iv

A line crossing comes eitherfrom above or from below (relativeto the current traversal position)

iv

a) from above level( ) = level( ) – 1 iv1iv

b) from below level( ) = level( ) + 1 iv1iv

coming from above

coming from below

01

1 3

100

2 2no change of levelbetween vertices

Page 12: Splitting a Face

Running Times

Point

)( 2nOLevels of all vertices in a line arrangement can be computed in time.

Discrete measures computable in time. )( 2nO

)(nOLevels of vertices along a line computable in time.

Page 13: Splitting a Face

Duality in Higher Dimensions

Point ),...,,( 21 dpppp point

hyperplane dddd pxpxpxpxp 112211* ...:

hyperplane dddd axaxaxaxh 112211 ...:

point ),...,,(: 21*

daaaah

Page 14: Splitting a Face

Inversion

Point ),( yx ppp point point ),,( 22yxyx ppppp

p

p

22 yxz

The point is lifted to theunit paraboloid.

x

y

z

Page 15: Splitting a Face

Image of a Circle

Point

222 )()(: rbyaxC

22 yxz

Image of a point on the circle C has z-coordinate

22222 rbaayax

22222: rbaayaxzP

C plane

is the intersection of the planeP with the unit paraboloid.

C

Page 16: Splitting a Face

Inside/Outside Below/Above

Point

222 )()(: rbyaxC

22222: rbaayaxzP

C

p

p

lies inside C iff is below . p p C

q

q