1 subdivision surfaces cagd ofir weber. 2 spline surfaces why use them? smooth good for modeling -...

Post on 21-Dec-2015

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Subdivision Surfaces

CAGD

Ofir Weber

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)

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.

4

Subdivision Surfaces – The Alternative

5

Applications: Mainly Computer Graphics / animation

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

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 …

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

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

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

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

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

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

14

Catmull-Clark, special rulesCrease/body masks

Piecewise smooth

surface

8

6

8

1

8

1

2

12

1

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

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

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

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

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

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

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

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/

23

Doo-Sabin quadratic scheme

Masks:

0

1

2

3

4

,0 3 2cos 2 /

4 4i

i

i n

n

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

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

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

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

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

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

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

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)

32

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

33

Visual Comparison

34

Visual Comparison – Cont’

35

Visual Comparison – Cont’

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

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

38

Thank you

top related