Академический Документы
Профессиональный Документы
Культура Документы
Approximation
2006-12-18
Generation
• B-spline interpolation
Input a set of data points D0, ..., Dn
Find
A B-Spline Curve: C=C(t)
n +1 parameters t0, ..., tn
Such that
Dk = C(tk) for all 0 ≤ k ≤ n.
Generation
Generation
∑ D −D i i −1
tk = i =1
for k = 1,L , n − 1
L
tn = 1
• Physical interpretation:
Suppose we are driving a car through a slalom course. We have to be
very careful at sharp turns so that the normal acceleration (i.e.,
centripetal force) should not be too large.
The normal force along the path should be proportional to the change
in angle. The centripetal method is an approximation to this model
The centripetal method is an extension to the chord length method
i =1
∑ D −D
α
i i −1
tk = i =1
for k = 1,2,L, n − 1
L
tn = 1
D1 − D0
1/ 2
D 2 − D`
1/ 2
= 2 2 = 1.682 t1 = = 0.2871
L
D3 − D 2 = 17 = 2.031
1/ 2
D1 − D0 + D2 − D1
1/ 2 1/ 2
t2 = = 0.6101
L
L= 5+ 2 2+ 17 = 5.208 t3 = 1
• The uniformly spaced method has a peak • The uniformly spaced method provides a
• The chord length method have two big bulges very tight interpolation.
• The centripetal method interpolates the two • The centripetal method is slightly off the
tight result using the uniformly spaced
very close adjacent points nicely
method.
• The chord length method wiggles
through the two longest chords too much
Simple
Irrelevant with the parameter {ti}
• Have 6 (n = 5) parameters
• The degree p = 3
• Find (n+p+1)+1 = (5+3+1)+1 = 10 knots (i.e.,
m=9) as
0, 0, 0, 0, u4, u5, 1, 1, 1, 1
um − p = um − p +1 = L = um = 1
The parameters
t0 t1 t2 t3 t4 t5
0 1/4 1/3 2/3 3/4 1
The average knot vector
• Example
4 data points (i.e., n=3)
degree p=2
number of knots is 7 (i.e., m = n + p + 1 = 6)
uniformly spaced knot vector
u0 = u1 = u2 u3 u4 = u5 = u6
0 0.5 1
• Problem Statement
• Solution for Global Curve Interpolation
• The Impact of Parameters and Knots
• The Impact of Degree
• Why “Global”
⎢ M M M O M ⎥
⎢ ⎥
⎢⎣ N 0, p (tn ) N1, p (tn ) N 2, p (tn ) L N n , p (tn ) ⎥⎦
The small red dots on the interpolating The data polygon and the
curve are points corresponding to the control polygon are very
knots computed using the chord length different
method
curve wiggle
passes
generates a through data
cusp points wildly
follows the
data polygon
performs closely but
better than produces a
chord length small loop
centripetal universal
Degree=2
Degree=3
Degree=4
Degree=5
Degree=2
Degree=3
Degree=4
Degree=5
• Problem statement
• The Meaning of Least Square
• Solution for Global Curve Approximation
• The Impact of Degree and Number of
Control Points
• Why “Global”
Given a set of n+1 data points, D0, D1, ..., Dn, a degree p, and a
number h, where n > h ≥ p ≥ 1, find a B-spline curve of degree p
defined by h+1 control points that satisfies the following
conditions:
1. This curve contains the first and last data points (i.e., D0 and Dn)
2. This curve approximates the data polygon in the sense of least
square.
where P0, P1, ..., Ph are the h+1 unknown control points
D0 = C(0) = P0 Dn = C(1) = Ph
h - 1 unknown control points P0, P1, ..., Ph
h −1
C(u ) = N 0, p (u )P0 + ∑ N i , p (u )Pi + N h , p (u )Ph
i =1
k =1
k =1
• Minimize f()
Function f() is an elliptic paraboloid in
variables P1, ..., Ph-1
We can differentiate f() with respect to each pg
and find the common zeros of these partial
derivatives
These zeros are the values at which function
f() attends its minimum
∑N
k =1
g, p (tk )∑ N i , p (tk )Pi = ∑ N g , p (tk )Q k
i =1 k =1
⎢ M ⎥
⎢ n −1 ⎥
Solving this system of linear equations for ⎢ N (t )Q ⎥
P gives us the desired control points! ⎢ ∑
⎣ k =1
h −1, p k k
⎥⎦
Deg=2
Deg=3
Deg=4
• Problem statement
• Solution for global surface interpolation
• Why “Global”
m ⎛ n ⎞
= ∑ N i , p ( sc ) ⎜ ∑ Pij N j , q (td ) ⎟
i =0 ⎝ j =0 ⎠
Knot curve
Surface
• Problem statement
• Solution for Global Surface Approximation
• A Simple Comparison
c =0 d =0
Interpolation
Knot curve
Interpolation
Surface
Approximation
Knot curve
Approximation
Surface
http://www.cad.zju.edu.cn/home/jqfeng/GM/GM05.zip
ftp://210.32.131.214/GeoMod (pending)