View
217
Download
0
Tags:
Embed Size (px)
Citation preview
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
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