15
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]

Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

SubdivisionPrimer

CS426, 2000Robert Osada

[DeRose 2000]

What is it? A form of

interpolation Goal: create a

smooth curve or surface that follows a set of data points

Q: Why not just use a polynomial?

0.5 1 1.5 2 2.5 3

-2

2

4

6

8

Polynomial

+’s: explicit, easy, smooth, interpolates a set of n points (xi, yi) using a single (n-1)th order polynomial

but…

ijxx

xx

ii ji

jyxP )(

Polynomial

-’s: wild oscillations, unpredictable behavior

0.5 1 1.5 2 2.5 3

-2

2

4

6

8

0.5 1 1.5 2 2.5 3

5000

10000

15000

20000

ijxx

xx

ii ji

jyxP )(

bad

Polynomial Analysis Look at basis

function – zero all yi except one

P(x) is linear combination of basis functions Why? Not stable

0.5 1 1.5 2 2.5 3

-2

2

4

6

8

Basis function

Piecewise Polynomials Linear

not smooth Cubic splines

derivatives match at joints

+’s: local support, smooth, stable

Cubic Piecewise PolynomialBasis Function

finite support

Surfaces Direct product:

P(u,v)=P(u)P(v) Curves are

piecewise polynomial in each variable

Domain is regularu

v

u

Bicubic surface

Surfaces Q: What to do

when domain is irregular? Direct product

construction doesn’t apply, need something more general

Go back to 1D case

[Siggraph 2000]

Another approach Instead of producing

the curve parametrically, approximate it piece by piece

e.g.: each line segment subdivides into two

Q: How should vertices update?

A: Analyze rules to produce desired limit curve/surface

[Siggraph 2000]

subdivision

Cubic BSpline 1D Stencil

[Siggraph 2000]

[4 4]

[1 6 1]

4322344 464)( yxyyxyxxyx

Surfaces Create stencils for surfaces E. Catmull and J. Clark (1978) Loop (1987)

[Siggraph 2000]

Catmull Clark Need rules for edges and borders Generalize to arbitrary topology

[Siggraph 2000]

Loop Works with triangles and has fewer rules

[Siggraph 2000]

Loop How to choose k?

Analyze properties of limit surface Interested in continuity of surface and smoothness Involves calculating eigenvalues of matrices

Original Loop

Warren

))cos(( 2241

83

851

nn

3

3

163

83

n

nn

Summary Subdivision produces

smoother version of original mesh / curve

Can reason about limit surface given rules

Position, tangents General enough for

arbitrary topology Subdivide position,

color, texture coordinates