1 dr. scott schaefer subdivision curves. 2/96 what is subdivision? set of rules s that take a curve...

Post on 21-Dec-2015

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Dr. Scott Schaefer

Subdivision Curves

2/96

What is subdivision?

Set of rules S that take a curve as input and produce a more highly refined curve as output

Recursively applying S yields a sequence of curves which should converge to some limit shape

S S

3/96

Subdivision Rules

Typically chosen to be linear combinations of neighboring vertices

Rules usually depend only on local topology of shape

Reposition Old Vertices Insert New Vertices

43

81

81

21

21

4/96

Applying Subdivision Rules

5/96

Applying Subdivision Rules

21

21

6/96

Applying Subdivision Rules

81

43

81

7/96

Applying Subdivision Rules

21

21

8/96

Applying Subdivision Rules

81

81 4

3

9/96

Applying Subdivision Rules

21

21

10/96

Applying Subdivision Rules

81

81

43

11/96

Applying Subdivision Rules

21

21

12/96

Applying Subdivision Rules

81

81

43

13/96

Applying Subdivision Rules

14/96

Applying Subdivision Rules

15/96

Applying Subdivision Rules

16/96

Subdivision Rules Via Blossoming

Assume knot-spacing uniform 0,2,4,6,8,… Find control points for refined knots 0,1,2,3,…

17/96

)4,2,0(b

t6 t8 t100t 4t2t

t6 2t t8 4t

),,( tttb

t6 4t

),4,2( tb ),6,4( tb ),8,6( tb

),,4( ttb ),,6( ttb

)6,4,2(b )8,6,4(b )10,8,6(b

Subdivision Rules Via Blossoming

Assume knot-spacing uniform 0,2,4,6,8,… Find control points for refined knots 0,1,2,3,…

)4,2,0(b)6,4,2(b)8,6,4(b)10,8,6(b

Given)5,4,3(b)6,5,4(b

Find

18/96

21

21

)6,5,4(b

)6,4,2(b )8,6,4(b

Subdivision Rules Via Blossoming

Assume knot-spacing uniform 0,2,4,6,8,… Find control points for refined knots 0,1,2,3,…

)4,2,0(b)6,4,2(b)8,6,4(b)10,8,6(b

Given)5,4,3(b)6,5,4(b

Find

19/96

)4,2,0(b

21

65

21

61

41

43

)4,3,2(b )6,4,3(b

)5,4,3(b

)6,4,2(b )8,6,4(b

Subdivision Rules Via Blossoming

Assume knot-spacing uniform 0,2,4,6,8,… Find control points for refined knots 0,1,2,3,…

)4,2,0(b)6,4,2(b)8,6,4(b)10,8,6(b

Given)5,4,3(b)6,5,4(b

Find

20/96

Subdivision Rules Via Blossoming

Assume knot-spacing uniform 0,2,4,6,8,… Find control points for refined knots 0,1,2,3,…

)4,2,0(b)6,4,2(b)8,6,4(b)10,8,6(b

Given)8,6,4()6,4,2()4,2,0()5,4,3( 8

143

81 bbbb

)8,6,4()6,4,2()6,5,4( 21

21 bbb

Find

Works for arbitrary degree B-splines!!!

21/96

Lane Reisenfeld Subdivision

Linearly subdivide the curve by inserting the midpoint on each edge

Perform averaging by replacing each edge by its midpoint d times

22/96

Lane Reisenfeld Subdivision

0p 1p 2p210 pp

221 pp

232 pp

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

21

23/96

Lane Reisenfeld Subdivision

24/96

Lane Reisenfeld Subdivision

25/96

Lane Reisenfeld Subdivision

26/96

Lane Reisenfeld Subdivision

27/96

Lane Reisenfeld Subdivision

28/96

Lane Reisenfeld Subdivision

29/96

Lane Reisenfeld Subdivision

30/96

Lane Reisenfeld Subdivision

31/96

Interpolatory Subdivision

Interpolating control vertices may be desirable

Catmull-Rom splines are not refinable!!!

Reposition Old Vertices Insert New Vertices

1

00

? ?

??

32/96

Four-Point Subdivision

0p

1p

2p

3p 4p

0 1 2 3t

4

33/96

Four-Point Subdivision

0p

1p

2p

3p 4p

0 1 2 3t

4

34/96

Four-Point Subdivision

0p

1p

2p

3p 4p

0 1 2 3t

4

35/96

Four-Point Subdivision

3

2

1

0

3

2

1

0

33

233

32

222

31

211

30

200

1

1

1

1

p

p

p

p

c

c

c

c

ttt

ttt

ttt

ttt

0p

1p

2p

3p

0 1 2 3 t

36/96

Four-Point Subdivision

3

2

1

0

3

2

1

0

32

32

32

27931

8421

1

0001

p

p

p

p

c

c

c

c

0p

1p

2p

3p

0 1 2 3 t

37/96

Four-Point Subdivision

3

2

1

0

1

32

32

32

3

2

1

0

27931

8421

1

0001

p

p

p

p

c

c

c

c

0p

1p

2p

3p

0 1 2 3 t

38/96

Four-Point Subdivision

3

2

1

0

1

32

32

323

8272

49

23

3

2

1

0

38272

49

23

27931

8421

1

0001

11

p

p

p

p

c

c

c

c

0p

1p

2p

3p

0 1 2 3 t

39/96

Four-Point Subdivision

3

2

1

0

161

169

169

161

p

p

p

p

0p

1p

2p

3p

0 1 2 3 t

40/96

Four-Point Subdivision

41/96

Four-Point Subdivision

42/96

Four-Point Subdivision

169

169

161

161

43/96

Four-Point Subdivision

161

169

161

169

44/96

Four-Point Subdivision

161

161

169

169

45/96

Four-Point Subdivision

169

161

169

161

46/96

Four-Point Subdivision

47/96

Four-Point Subdivision

48/96

Four-Point Subdivision

49/96

Subdivision as Basis Function Refinement

i

ipixNxp )()(

50/96

Subdivision as Basis Function Refinement

i

ipixNxp )()(

)(xN

Cubic B-spline Basis Function

51/96

Subdivision as Basis Function Refinement

i

ipixNxp )()(

)(xN

Four-Point Basis Function

52/96

Subdivision as Basis Function Refinement

i

ipixNxp )()(

1

0

1

...)1()()1(...)(

p

p

p

xNxNxNxp

53/96

Subdivision as Basis Function Refinement

i

ipixNxp )()(

1

0

1

81

43

81

21

21

81

43

81

21

21

81

43

81

00

000

...00...

000

00

...)12()2()12(...)(

p

p

p

xNxNxNxp

54/96

Subdivision as Basis Function Refinement

1

0

1

81

43

81

21

21

81

43

81

21

21

81

43

81

00

000

...00...

000

00

...)12()2()12(...)(

p

p

p

xNxNxNxp

1

0

1

...)1()()1(...)(

p

p

p

xNxNxNxp

55/96

Subdivision as Basis Function Refinement

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

56/96

Subdivision as Basis Function Refinement

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

57/96

Subdivision as Basis Function Refinement

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

43

21

81

81

21

58/96

Subdivision as Basis Function Refinement

)32()12()2()12()32()( 161

169

169

161 xNxNxNxNxNxN

59/96

Subdivision as Basis Function Refinement

)32()12()2()12()32()( 161

169

169

161 xNxNxNxNxNxN

1

169

169

161

161

60/96

Limit Points of Curve Subdivision

0p 1p 2p2p 1p

i

ipixNxp )()(

61/96

Limit Points of Curve Subdivision

0p 1p 2p2p 1p

i

ipiNp )()0(

62/96

Limit Points of Curve Subdivision

0p 1p 2p2p 1p

),...2(),1(),0(),1(),2(..., NNNNN

63/96

Limit Points of Curve Subdivision

0p 1p 2p2p 1p

1)()()( ii

i ixNpixNxp

64/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

43

21

81

81

21

1)( i

ixN

65/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)2()1()0()1()2()0( 81

21

43

21

81 NNNNNN

66/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)2()1()0()1()2()0( 81

21

43

21

81 NNNNNN

Symmetry!!!

67/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)2()1()0()0( 41

43 NNNN

68/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)2()1()0()0( 41

43 NNNN

Zero!!!

0 1 2 33 2 1

69/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)1()0()0( 43 NNN

70/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)1()0()0( 43 NNN

)4()3()2()1()0()1( 81

21

43

21

81 NNNNNN

71/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)1()0()0( 43 NNN

)1()0()1( 21

81 NNN

72/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)1()0()0( 43 NNN

)1()0()1( 21

81 NNN

1)1(2)0( NN

73/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

1)( i

ixN

)1()0()0( 43 NNN

)1()0()1( 21

81 NNN

1)1(2)0( NN

0 1 2 33 2 1

32

61

61

74/96

Limit Points of Curve Subdivision

0 1 2 33 2 1

i

ipiNp )()( 31

31

75/96

Limit Points of Curve Subdivision

0 1 2 33 2 1

),...(),(),(),(),(..., 35

32

31

34

37 NNNNN

76/96

Evaluate scaling relationship at Solve linear system of equations with

constraint

Limit Points of Curve Subdivision

niN

32

5431

2710

61

814

1621

0 1 2 33 2 1

1Zd

ni dN

77/96

Limit Points of Curve Subdivision

)32()12()2()12()32()( 161

169

169

161 xNxNxNxNxNxN

1

55894240

55892000

0

5589410

5589256

0558916

55891

78/96

Limit Points of Curve Subdivision

Assume N(x) has finite support Let y be the smallest parameter such that N(y)=0 and for all x>y N(x)=0

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

79/96

Limit Points of Curve Subdivision

Assume N(x) has finite support Let y be the smallest parameter such that N(y)=0 and for all x>y N(x)=0

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

0)22()( yNyN

80/96

Limit Points of Curve Subdivision

Assume N(x) has finite support Let y be the smallest parameter such that N(y)=0 and for all x>y N(x)=0

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

0)22()( yNyN

22 yy

81/96

Limit Points of Curve Subdivision

Assume N(x) has finite support Let y be the smallest parameter such that N(y)=0 and for all x>y N(x)=0

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

0)22()( yNyN

2y

82/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

)2()1()0()1()2()0( 81

21

43

21

81 NNNNNN

)4()3()2()1()0()1( 81

21

43

21

81 NNNNNN

)0()1()2()3()4()1( 81

21

43

21

81 NNNNNN

83/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

)1()0()1()0( 21

43

21 NNNN

)1()0()1( 21

81 NNN

)0()1()1( 81

21 NNN

84/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

)1()0()1()0( 21

43

21 NNNN

)1()0()1( 21

81 NNN

)0()1()1( 81

21 NNN

21

21

81

43

81

21

21

0

0

)1(),0(),1()1(),0(),1( NNNNNN

85/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

)1()0()1()0( 21

43

21 NNNN

)1()0()1( 21

81 NNN

)0()1()1( 81

21 NNN

21

21

81

43

81

21

21

0

0

)1(),0(),1()1(),0(),1( NNNNNN

Limit mask is left-eigenvector corresponding to 1

86/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

)1()0()1()0( 21

43

21 NNNN

)1()0()1( 21

81 NNN

)0()1()1( 81

21 NNN

1,4,1)1(),0(),1( NNN

87/96

Limit Points of Curve Subdivision

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

)1()0()1()0( 21

43

21 NNNN

)1()0()1( 21

81 NNN

)0()1()1( 81

21 NNN

61

32

61 ,,)1(),0(),1( NNN

1)( i

ixN

88/96

Derivatives of Subdivision Curves

)22()12()2()12()22()( 81

21

43

21

81 xNxNxNxNxNxN

89/96

Derivatives of Subdivision Curves

)22(')12(')2(')12(')22('2)(' 81

21

43

21

81 xNxNxNxNxNxN

90/96

Derivatives of Subdivision Curves

)22(')12(')2(')12(')22('2)(' 81

21

43

21

81 xNxNxNxNxNxN

21

21

81

43

81

21

21

21

0

0

)1('),0('),1(')1('),0('),1(' NNNNNN

91/96

Derivatives of Subdivision Curves

)22(')12(')2(')12(')22('2)(' 81

21

43

21

81 xNxNxNxNxNxN

21

21

81

43

81

21

21

21

0

0

)1('),0('),1(')1('),0('),1(' NNNNNN

left-eigenvector corresponding to 1/2

92/96

Derivatives of Subdivision Curves

)22(')12(')2(')12(')22('2)(' 81

21

43

21

81 xNxNxNxNxNxN

1,0,1)1('),0('),1(' NNN

93/96

Four-Point Limits and Derivatives

)32()12()2()12()32()( 161

169

169

161 xNxNxNxNxNxN

94/96

Four-Point Limits and Derivatives

0,0,1,0,0)2(),1(),0(),1(),2( NNNNN

)32()12()2()12()32()( 161

169

169

161 xNxNxNxNxNxN

95/96

Four-Point Limits and Derivatives

0,0,1,0,0)2(),1(),0(),1(),2( NNNNN

)32()12()2()12()32()( 161

169

169

161 xNxNxNxNxNxN

01000

0

00100

0

00010

)2('),1('),0('),1('),2(')2('),1('),0('),1('),2('

161

169

169

161

161

169

169

161

21 NNNNNNNNNN

96/96

Four-Point Limits and Derivatives

0,0,1,0,0)2(),1(),0(),1(),2( NNNNN

)32()12()2()12()32()( 161

169

169

161 xNxNxNxNxNxN

1,8,0,8,1)2('),1('),0('),1('),2(' NNNNN

top related