38
1 Subdivision Surfaces CAGD Ofir Weber

1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them? Smooth Good for modeling - easy to control Compact (complex objects are

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

1

Subdivision Surfaces

CAGD

Ofir Weber

Page 2: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

2

Spline SurfacesSpline Surfaces

Why use them?

Smooth

Good for modeling - easy to control

Compact (complex objects are represented by less

numbers)

Flexibility (different tessellation-parameters produce

different level-of-details from the same surface)

Page 3: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

3

Disadvantages of Splines

Grid should be regular

Resolution is not adaptive

Problems along seams of patchwork

Not well suited for animation – deformable models

Topology is not arbitrary (Holes, trim curves)

Less easy to add “features” such as crease.

Page 4: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

4

Subdivision Surfaces – The Alternative

Page 5: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

5

Applications: Mainly Computer Graphics / animation

Page 6: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

6

The basic idea

In each iteration

Refine a control net (mesh)

Increases the number of vertices / faces

The mesh vertices converges to a limit surface

Each subdivision scheme has:

Rules to calculate the locations of new vertices.

A method to generate the new net topology.

0 1 2

V V V V

Page 7: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

7

Subdivision schemes

”Subdivision Zoo”

Catmul Clark Doo Sabin Loop Butterfly – Nira Dyn …many more

Classification:

Mesh types: tris, quads, hex…, combination

Face / vertex split Interpolating / Approximating Smoothness (Non)Linear …

Page 8: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

8

Uniform Cubic Bi-variant Tensor product B-spline Patch Splitting

We can express the bicubic B-spline patch by:

where

M - B-Spline basis matrix G - set of control points U,V - are the primitive basis vectors.

3 2

3 2

1

1

U u u u

V v v v

( , ) t tS u v UMGM V1 3 3 1

3 6 3 01

3 0 3 06

1 4 1 0

M

11 12 13 14

21 22 23 24

31 32 33 34

41 42 43 44

P P P P

P P P PG

P P P P

P P P P

Page 9: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

9

B-Spline Splitting (cont’)

We will limit our discussion to one quadrant of the patch in which 0<u,v<½ , as it is identical to the others, due to symmetry.

This is the sub-patch where

We can now combine the two last expressions into:

where:

1 1( , ) t t tS u v USMGM S V

10 0 0

81

0 0 04

10 0 0

20 0 0 1

S

),( 11 vuS 2/ ,2/ 11 vvuu

Page 10: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

10

B-Spline Splitting (cont’)

Notice that the new patch must still be a bicubic B-spline surface and therefore must satisfy:

Thus it must uphold:

M is invertible so we can write it as:

Where

1 1 1( , ) t tS u v UMGM V

1t t tMGM SMGM S

11 1 1 t t t tG M SM G M S M H GH

11

4 4 0 0

1 6 1 01

0 4 4 08

0 1 6 1

H M SM

Page 11: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

11

B-Spline Splitting (cont’)

And for individual points noted as qij:

Face point:

Edge point:

Vertex point:

11 12 21 2211

11 13 12 22

12

2222

4

2 22

4 2 4

p p p pq

q q p p

q

pQ Rq

11 13 31 33

22 12 22 21 22 32 22 23

4

1

4 2 2 2 2

q q q qQ

p p p p p p p pR

Page 12: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

12

Catmull-Clark scheme ’78

1

1 m

ii

f pm

Face Point

Vertex Point

2 21 1

1 1 2n n

i ii i

nv f e pn n n

1 2 1 2

4

p p f fe

Edge Point

( 3)2 p nQ Rv

n n n

Q – Average of face points

R – Average of midpoints

P – old vertex

Page 13: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

13

Keep subdividing…

After 1 iteration, Every new face is a rectangular.

Extraordinary vertices are forever. Valence is retained.

Ultimately, at the limit, the surface will be a standard bicubic B-spline surface at every point except at these “extraordinary points”, and therefore at all but extraordinary points.

Catmull & Clark did not prove or guarantee continuity at the extraordinary points but note that trials indicate this much.

Later on it was proven to be C1

)2(C

Page 14: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

14

Catmull-Clark, special rulesCrease/body masks

Piecewise smooth

surface

8

6

8

1

8

1

2

12

1

Page 15: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

15

Catmull-Clark - Summary

Any topology – better use quad faces and vertices with valence 4

Approximation Generalization of cubic B-Spline Face Split C2 everywhere. C1 on extraordinary vertices Linear

Page 16: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

16

Behavior near Extraordinary Points -Doo Sabin 78’

Extraordinary faces turns into extraordinary points after the first iteration

After that, the number of extraordinary points stays constant

The distance between extraordinary points remains, more or less ,fixed, And the number of faces between them grows with every step

Hence, we can treat each extraordinary point as an isolated phenomenon on a regular lattice

Page 17: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

17

Matrix Form

1

1

/ 4

/ 4

2 / 4

i i i i

i i i i

i i

i i

q Q R R S

r q q R S

q Rs S

n n

1 1

1 1 n n

n n

q Q

q Q

r M R

r R

s S

Page 18: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

18

Matrix form for n=4

1

2

3

4

1

2

3

4

1 1 1 10 0 0 0 0

4 4 4 41 1 1 1

0 0 0 0 04 4 4 4

1 1 1 10 0 0 0 0

4 4 4 41 1 1 1

0 0 0 0 04 4 4 4

1 1 6 1 1 60 0 0

16 16 16 16 16 161 1 1 6 1 6

0 0 016 16 16 16 16 16

1 1 1 6 1 60 0 0

16 16 16 16 16 161 1 1 1 6 6

0 0 016 16 16 16 16 16

1 1 1 1

64 64 64 64

qqqqrrrrs

1

2

3

4

1

2

3

4

3 3 3 3 9

32 32 32 32 16

QQQQRRRRS

Matrix is large

We want to analyze for all possible n

We want analytic solution

Page 19: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

19

Analyzing matrix M Analyze the eigenvalues and eigenvectors of M.

M has cyclic symmetry - we can apply a Discrete Fourier Transform to Q, R and S, and then separate the terms of different frequencies.

Define in a similar way.

/ 22 /

0

1n

ij niQ Q e j

, , , i i iS R q r

Page 20: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

20

DFT The equations can be rewritten as a set of equations for each

value of ω:

In matrix form:

*

0 0 0 0

( (1 ) ) / 4

((1 ) ) / 4

( 2 ) / 4

q Q a R S

r a q R S

s q r s

0 0

0 0

0 0

4 /16 8 /16 4 /16

2 /16 8 /16 6 /16 0

1/16 6 /16 9 /16

q Q

r R

s S

* *

4 /16 4(1 ) /16 0

(1 ) /16 ((1 )(1 ) 4) /16

q a Q

r a a a R

2 /j na e

Page 21: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

21

DFT (cont’) Finding the eigenvalues is easy now The fact that the largest eigenvalue is 1 indicates that the surface

will converge to some limit surface as iterations proceed. Since each row sums to one, is eigenvalue for (1, 1, .. , 1)

00

0

1

1 1

0 0

k

i ii

i i i

m

i i

k k m

i i i ii i

mi

m mi

q v

v vMv vM

q v vM M

v

1

limm

Page 22: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

22

Continuity Define for the dominant eigenvalue at frequency ω

The limit of the first derivative depends on the ratio

If this ratio is less or equal than 1, the surface is slope continuous.

For the second derivative, we examine the ratio If this ratio is exactly 1, the curvature will converge to some finite nonzero value. Less than 1 means that there is a local flat point on the surface.

Based on this, Doo & Sabin improved the quadratic scheme of Catmull & Clark to be C1 everywhere

They couldn’t find similar formula for the cubic scheme

1/

21/

Page 23: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

23

Doo-Sabin quadratic scheme

Masks:

0

1

2

3

4

,0 3 2cos 2 /

4 4i

i

i n

n

Page 24: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

24

Doo-Sabin quadratic scheme – cont’

Which resulted in which give discontinuity of exactly the second derivative under all circumstances.

0 11/ 4, 1/ 2, 1/ 4 1

Page 25: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

25

Doo-Sabin Scheme - Summary

Any topology – built for quad faces Approximation

Vertex Split

C1 everywhere, even on extraordinary vertices Generalization of quadratic B-Spline

Linear

Page 26: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

26

Loop’s scheme (‘87)

Edge

Vertex

8

3

8

1

8

3

8

1

21 5 3 2 2

cos8 8 8n n

1 n

Page 27: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

27

Loop’s scheme - Boundary

1

2

1

2

1

8

3

4

1

8

Vertex pointEdge point

The boundary is a cubic B-Spline curve

The curve only depends on the control points on the boundary

Good for connecting 2 meshes

C0 for irregularities near boundary

Page 28: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

28

Loop’s scheme - Summary

Triangles – better use valence 6 Approximation Face Split C2 on regular meshes Only C1 on extraordinary points C0 for irregularities near boundary The scheme is based on three directional box Spline Linear

Page 29: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

29

Butterfly scheme (‘90)-Nira Dyn

Original points (Stays)

New edge point

8

1

8

1

1

16

1

2

1

16

1

2

1

16

1

16

Page 30: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

30

Modified Butterfly scheme – Zorin(’96)

a a

b

b cc

c c

dd

wd

wc

wb

wa

:16

1:

28

1:

2

1:

:Weights

Multiply each vertex by its weight and sum them up w is a control parameter – determines how closely the

shape conforms to the original mesh

Page 31: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

31

Modified Butterfly Scheme –Cont’

N

j

N

j

NevN

eeeevN

eeevN

j

4cos

2

12cos

4

11:,

4

3::5

0:,8

1:,0:,

8

3:,

4

3::4

12

1:,

12

1:,

12

5:,

4

3::3

:Weights

3210

210

v e0

e1

e2e3

eN-1

eN-2eN-3

Extraordinary Vertex

New Edge vertex

1 ring neighborhood

1. (Valence 6) X (valence 6)

2. (Valence 6) X (valence != 6)

3. (Valence != 6) X (valence != 6)

Page 32: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

32

Modified Butterfly Scheme - Summary Triangles – use any valence Interpolation Face Split C1 everywhere Not C2 even on regular meshes Linear

Page 33: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

33

Visual Comparison

Page 34: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

34

Visual Comparison – Cont’

Page 35: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

35

Visual Comparison – Cont’

Page 36: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

36

Subdivision: pros and consPros: Many of the pros of splines Flexible wrt. topology/mesh No gaps or seams! Features are ”easy” Simple to implement Efficient to visualize Simple/intuitive to manipulate – modeling Hierarchical modeling with offsets Good for deformation – animation Built-in LOD for rendering

Cons: Ck , k>1 is hard (not good for CAD) Evaluation not straight forward (but…) Artefacts (ripples etc.)

Geri’s Game (Pixar studios)

Splines in Toy Story 1

Page 37: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

37

References "Recursively generated B-Spline surfaces on arbitrary topological meshes", by E

Catmull and J Clark. Computer Aided Design, Vol. 10, No. 6, pp 350-355, November 1978.

"Behavior of recursive division surfaces near extraordinary points", by D Doo and M Sabin. Computer Aided Design, Vol. 10, No. 6, pp 356-360, November 1978.

"Geometric Modeling with Splines, An Introduction" by Cohen, Riesenfeld, Elber: Section 7.2.1, Section 13.4, Chapter 20.

ZORIN, D., SCHR ¨ODER, P., AND SWELDENS, W. Interpolating Subdivision for Meshes with Arbitrary Topology. Computer Graphics Proceedings (SIGGRAPH 96) (1996), 189–192.

DYN, N., LEVIN, D., AND GREGORY, J. A. A Butterfly Subdivision Scheme for Surface Interpolation with Tension Control. ACM Trans. Gr. 9, 2 (April 1990), 160–169.

LOOP, C. Smooth Subdivision Surfaces Based on Triangles. Master’s thesis, University of Utah, Department of Mathematics, 1987.

Subdivision for Modeling and Animation – Siggraph 2000 course notes

Page 38: 1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are

38

Thank you