Transcript PPT
Interpolation and
elevation
zhu ping
07.10.10
Problem
T0,T1,T2,…,Tn∈R2 , Ti≠Ti+1
Find a curve P(t):
P:[0,1]—> R2 ,
satisfying P(ti)=Ti i=0,1,…,n
Paper
1. <<Constructing Iterative Non-Uniform B-spline Curve and Surface
to Fit Data Points>> Lin Hongwei Science in China 04
2.<<Totally Positive Bases and Progressive Iteration Approximation>>
Lin Hongwei Computers and Mathematics with Application 05
3.<<Progressive iterative approximation and bases with the fastest
convergence rates>> J.Delgado CAGD 07
4.<<Geometric interpolation by planar cubic polynomial curves>>
Jernej Kozak CAGD 07
5.<<An alternative method of curve interpolation>> Les A.Piegl
The Visual Computer 05
6.<<On the degree elevation of B-spline curve and corner cutting>>
Wang Guozhao CAGD07
7.<<Interpolation by geometric algorithm>> Takashi Maekawa
CAD 07
Constructing Iterative Non-Unifrom B-spline Curve
and Surface to Fit Data Points
Problem:Progressive iterative approximation
Proposed by Prof.Qi Dongxu and de Boor
In 1991, cubic uniform B-spline and convergence
Shortage:NURBS,convexity-preserving,explict
expression
Iterative algorithm
(1) parameter
(2)normal
{Pi }(i 1, , n) R3
i 2
ti || Pj Pj 1 ||
{ti }(i 1, , n 4)
i 4,5,
j 2
t1 t2 t3 0, tn2 tn3 tn4
, n2
Parameter
Normal
Deduce:
Pi0 Pi , i 1, 2,
n1
r (t ) Ni,4 (t ) Pi0
0
i 0
, n; P00 P10 , Pn01 Pn0
t [t3 , tn2 ]
P1j Pj0 ?0j , j 1, 2,
?kj Pj r k (t j 2 )
n1
r (t ) Ni,4 (t ) Pik 1
i 0
, n, P01 P11, Pn11 Pn1
j 1,2,..., n
Pjk 1 Pjk ?kj , j 1,2,..., n;
k 1
?0j Pj r 0 (t j 2 )
P0k 1 P1k 1, Pnk11 Pnk 1
Iterative error:
?kj Pj r k (t j 2 ) j 1,2,..., n
[?k21,?3k 1, ,?kn11]T C [?k2 ,?3k , ,?kn1]T
C I B; k 0,1,
N 24 (t4 ) N 34 (t4 ) 0 ... ... ... ... ... ... ... ... ... 0
4
4
4
N 2 (t5 ) N 3 (t5 ) N 4 (t5 ) ... ... ... ... ... ... ... . 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
B 0
0 ... ... ... .... ... ...
0 ... ... .... 0
........................................
4
4
4
0
0 ..................N n -3 (tn ) N n 2 (tn ) N n 1 (tn )
0 .......................... N n4-2 (tn 1 ) N n41 (tn1 )
0
Iterative convergence
0 i (B) 1, i 1,2,..., n 2
0 i (C ) 1 i (B) 1
4 times
(C)<1
15 times
Convexity-preserving algorithm
i
Polyline L is convexity and if
sgn(αi)=sgn(βi)
polyline L’is also convexity
Iterative formulae
Pjk 1 Pjk k ?kj , j 1,2,..., n;
P0k 1 P1k 1, Pnk11 Pnk 1
[?k21,?3k 1, ,?kn11]T Ck [?2k ,?3k , ,?kn1]T
Ck I k B, 0 k 1; k 0,1,...
X -1 BX diag (1( B), 2 ( B),..., n2 ( B))
X -1Ck X diag (1 k 1(B),1 k 2 (B),...,1 k n2 (B))
Ck 0
k 0
Surface iterative
?khl1
m 1 n 1
Phl ( Pijk ?ijk ) Ni,4 (uh 2 ) N j ,4 (vl 2 )
i 0 j 0
j T
? j [?11j ,?12j , ,?1jn ,?21j , ,?mj 1, ,?mm
],
?k 1 C ?k , C I B,
k 0,1,
j k, k 1
Example:
30 times
convexity-preserving property of
non-uniform B-spline curve
Totally Positive Bases and Progressive
Iteration Approximation
Totally Positive Bases Definition:
Given a basis {Bi(t) ≥0|i=0,1,…,n} , an
increasing sequence 0 1 m
the collocation matrix is
B0 ( 0 )
B0 ( m )
B0 , , Bn
M
:
(
B
(
))
.............................
j i i 0,...,m; j 0,...,n
,
,
m
0
B ( )
B
(
)
n
n
m
0
Basis {Bi} is totally positive basis if
the matrix is a totally positive matrix
Theorem. If the basis is totally positive
and its collocation matrix B at {t0,t1,…,tn}
is non-singular,the curve has
progressive iteration appromation.
Proof. i (B) 0 , i 0,1, , n
i0 Bi 1
n
|| B || 1
0 i (B) 1, i 0,1, , n
(C ) 1
Example:
Bezier,B-spline and NUBRS curve and
surface
Bezier
20 times
60 times
Progressive iterative approximation and
bases with the fastest convergence rates
Outline:
The normalized B-basis has optimal shape
preserving properties and we prove that it
satisfies the progressive iterative
approximation property with the fastest
convergence rates.
A similar result for tensor product surfaces is
also derived.
Theorem: Given a space U with an TP
basis,the normalized B-basis of U provided a
progressive iterative approximation with the
fastest convergence rates among all TP
bases of U.
Proof.
(I B) will be minimum when the smallest
eigenvalue of B is maximum.
U:unique normalized B-basis (b0,…,bn),TP basis
(v0,…,vn)
.
(v0,…,vn)=(b0,…,bn)K .
K is a stochastic TP matrix.
prove that the smallest eigenvalue of B is greater
than the smallest eigenvalue of V
Consider matrix
J : diag(1, 1,1,...,(1)n )
1
1
since J J JV J is similar to V 1, JB1J is similar
to B1 .We should prove (JV 1J ) (JB1J )
(JB1J ) (JV 1J ) ((JK 1J )(JB1J ))
K Fn1Fn2
FG
1 1
Gn2Gn1
1 0 0 ... ... ... ... ... ... ... ... ... .......0
0 1 ... ... ... ... ... ... ... . ............ 0
... ... ... ... ... ... ... ... ... ... ... ... ... ...
Fi 0 0 0 ... 0 1... ... .... ... ... 0 0
..........................
i+1,1 1- i+1,1 ...........
0 0 0 ...........................................
0 0 .............................. i+1,1 1- i+1,1
1 0 0 ... ... ... ... ... ... ... ... ...
0
1
...
...
...
...
...
...
...
.
........
... ... ... ... ... ... ... ... ... ... ... ..
Gi 0 0 0 ... 1 0... ... .... ... ...
..........................1-
1,1+i 1,1+i
0 0 0 ....................................
0 0 ...................................0 1
1 0 0 ... ... ... ... ... ... ... ... ... .......0
0 1 ... ... ... ... ... ... ... . ............ 0
... ... ... ... ... ... ... ... ... ... ... ... ... ...
U (i ) 0 0 0 ... 0 1 i i ... ...
0 0
.......................... ...........................
0 0 0 .......................................1 0
0 0 .............................. .............. 1
Fi L(i1,1)
JEi1J
L(n,ni )
1 0 0 ... ... ... ... ... ... ... ... ... .......0
0 1 ... ... ... ... ... ... ... . ............ 0
... ... ... ... ... ... ... ... ... ... ... ... ... ...
L(i ) 0 0 0 ... 0 i 1 i ... ...
0 0
.......................... ...........................
0 0 0 .......................................1 0
0 0 .............................. .............. 1
Gi U (ni,n ) U (1,i1)
1 0 0 ... ... ... ... ... ... ... ... ... .......0 1 0 0 ... ... ... ... ... ... ... ... ... .......0
0 1 ... ... ... ... ... ... ... . ............ 0 0 1 ... ... ... ... ... ... ... . ............ 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
i
1
0 0 0 ... 0 1
i
... . 0 0 or 0 0 0 ... 0
... . 0 0
1 i 1- i
1- i 1 i
.......................... ........................... .......................... ...........................
0 0 0 .......................................1 0
0 0 0 .......................................1 0
0 0 .............................. .............. 1 0 0 .............................. .............. 1
K i 1 Ei
r
r
JK J ( JEi1J )
1
i 1
Tensor product surfaces:
m
n
S (u, v) Pijui (u)u j (v)
i 0 j 0
m
n
S (u, v) Pij k 1ui ( x)u j ( y)
k 1
i 0 j 0
m
S (u, v) Pij 0ui ( x)u j ( y)
i 0 j 0
ijk Pij S k ( xi , y j )
Kronecker product:
a11B
A B
a B
m1
n
0
a1n B
amn B
Pijk 1 Pijk ijk
Numerical test:
Bernstein Basis VS Said-Ball Basis
Definition:
m
m
m 1
i t i (1 t ) 2 1 ,
0i
2
2
i
m m
m
2
m
Si (t ) m t (1 t ) 2 ,
i m/2
2
m
m
2 m i t 2 1 (1 t ) m i , m 1 i m
2
m
i
Comparion:
Error compare:
Geometric Method for Hermite Iterpolation by a
class of PH Quintics
Outline:
Geometric relationship among Bezier
control points of PH Quintics is
developed.And choose the best curve
in the resulant PH quintics.
1 2
2
P1 P0 5 (u0 v0 , 2u0v0 )
1
P
P
(u u v0v1, u0v1 u1v0 )
1
2
5 0 1
2
1
(u12 v12 , 2u1v1 )
(u0u2 v0v2 , u0v2 u2v0 )
P3 P2
15
15
1
P
P
(u1u2 v1v2 , u1v2 u2v1 )
4
3
5
1 2
2
P
P
(
u
v
, 2u2v2 )
5
4
2
2
5
k (ui2 vi2 ,2uivi )
k(uiu j viv j , uiv j u jvi )
1 2 2
(u1 v1 ,2u1v1 )
15
1
B A (u0u2 v0v2 , u0v2 u2v0 )
15
A P2
P3 B
1 2 2
(u1 v1 , 2u1v1 )
15
L1 || P0 P1 || L2 || P1P2 ||
L3 ' || P2 A || L3 '' || AB ||
L4 || P3 P4 || L5 || P4 P5 ||
Theorem 1: A Bezier curve is PH curve when
two points A,B exist making
3L L' L2
2
1 3
3L5 L'3 L24
L1L5 9 L ''32
P0 P1P2 P1P2 A
P3 P4 P5 BP3 P4
P CD CDP
5
0
Hermite Method:
Pj ( x j , y j )
P0 , P5 , , , L1, L5
P0 , P1, P4 , P5
L''3
1
L1 L5 ,3 k
, k 0,1
3
2
On the degree elevation of B-spline curves
and corner cutting
Outline:
Our idea is making bi-degree B-spline to
elevate B-spline.
Old Method:splite into pieces of Bezier curves
m
P (t ) Ni ,k (t ) Pi
i 1
0
m
P (t ) Ni ,k (t ) Pi
U {u0 , u1, , umk 1}
i 0
T {t1 ,
, t1 ,
, tn ,
z1
, tn }
zn
m
P (t ) P (t ) N i,k 1(t ) P i
i 0
T {t1,
, t1 ,
z1 1
, tn ,
, tn }
zn 1
T j { t1, , t1 , , t j , , t j , t j 1, , t j 1 , , tn , , tn } {t0j , t1j , , tmj j }
z11
mj z1
z j 1
zn 1
z j1
zn j 1
l j z1 z2 z j j 1
t ti j
j
j
,
if
t
t
t
j
i
i 1 and 0 i l j
j
ti 1 ti
j
t t
j
if ti j1 t ti j2and 0 i l j 1
Ni,0 (t ) ji 2 j
ti 2 ti 1
j
j
1,
if
t
t
t
i
i
1 and i l j
0,
otherwise
Ni,jk (t )
t
[
Ni,jk 1 (s)
j
i ,k 1
Ni j 1,k 1 (s)
j
i 1,k 1
]ds
j
i ,k
Ni,jk (t )dt
Theorem 1: {Ni,k (t)} , {N i,k 1(t)} are defined T and T
T 0 T , T n1 T
Ni,k (t ) Ni0,k (t )
N i,k 1(t ) Nin,k1(t )
N j (t )
i l j k 1
i ,k
j 1
Ni,k (t ) (1 aij,k ) Ni,jk (t ) aij1,k Ni j 1,k (t ) l j k i l j 1
j
i l j 1
Ni 1,k (t )
Theorem 2:
aljj h1,h 0, aljj ,h 1 (h 0,1,..., k 1)
aij,h1
aij1,h
ij1,h
i,jh1
(0 h k 1, l j h 1 i l j 1)
Property:positivity,partition of unity,linear
independence globally
Theorem 3:
Pi j 1
i l j k 1
j
Pi (1 aij,k ) Pi j 1 aij,k Pi j11 l j k i l j
j 1
i lj
Pi 1
An alternative method of curve
interpolation
Author:
Les A.Piegl, South Florida University,
research in CAD/CAM,geometric
modeling,computer graphics
Wayne Tiller,in GeomWare,
The NURBS Book
Outline:given a point data set that contains
several fairly unevently distributed random
points,this paper presents a new paradigm
of curve interpolation to fit a curve to the data
with end tangent vector constraints.
Major components:
1. Base curve
2. Localization
3. Constrained shape manipulation
4. Parametrization adjustment
Definition:a B-spline curve of degree p
n
C (u) Ni, p (u) Pi
i 0
U {u0
u p , u p1, , un , un1
p1
un p1}
p1
Constrained shaping:
Qk C(tk ) Vk
k 0,
NP V
,r
n
Ni, p (tk )( Pi Pi ) C (tk ) Vk
i 0
P N 1V NT ( NNT )1V
Parametrization:
1.Obtain a polygonal aproximation of the base
curve
2.Project all points onto the polygon and
find the closest vertex or polygon leg
3.Obtain an approximation parameter from the
parameters of the closest leg or vertex
Geometric decomposition:
1.Decompose the NURBS curve into
piecewise Bezier segments
2.Bezier curve decomposition
Location:
Greville abscissae:
1 i p
i uj
p j i1
i 0, , n
degree p
1 i+ p-1
ηi =
uj
p -1 j=i+1
i = 1,
,n
degree p-1
Procedure:
1.Go through the brackets (ηi,ηi+1)
i=1,…,n-1 to see how many parameters
fall within the brackets
2.If there are two or more parameters,insert
a knot and recomputer the brackets
3.Repeat the process until each bracket
contains no more than one parameter
Let w∈ (ηi,ηi+1) be the new abscissa
w i or i1
i
1
(ui 1 ui 2
p
ui p1)
1
i1
(ui2 ui3 ui p1 ui p )
p 1
u w( p 1) ui 2
ui p1
The algorithm:
1.Computer the Grevile brackets
2.Check end conditions and insert
knots if necessary
3.While there are brakets with more
than one parameter
3.1 Find first offending span
3.2 Average parameters lying inside the
span.The average is to become the
new Greville abscissa
3.3 Get the knot to be inserted
3.4 If the knot falls on an existing knot,select another
parameter representative
3.5 Insert the knot and recompute Greville brackets
Base curve:two methods
(1)1.Obtain a local cubic C interpolation
to the points.
2.Sample the interpolant
3.Approximate the smple points by
least-squares.
1
(2)using Hermite curves.
C (u) h00 (u)Qs h01(u)Qe h10 (u)Ts h11(u)Te
h00 (u ) 1 3u 2 2u 3
h10 (u) u 2u 2 u 3
h01 (u) 3u 2 2u 3
h11 (u) u 2 u 3
C (u ) V (u ) q(u )T (u )
V (u ) (1 h01(u ))Qs h01(u )Qe
T (u ) (1 u )Ts uTe
q(u ) (1 u )u
The algorithm:
1.Computer an initial parameter t0 , , tr
2.For each point Q1,..., Qr 1
| Q V (t ) |
| q(t )T (t ) |
2.1 Computer
r 1
1
2.2 Get
r 1 k 1 k
3.Computer Ts Ts and Te Te
4.Repeat
4.1 Recomputer parameters by projecting
the points onto the Hermite curve
4.2 Recomputer λ
Untill no significant change in λis obtained
i
i
i
i
i
The updated parameters t0 ,
1 i 1
ui t j
3 j i 1
i 1,..., r 1
, tr
The whole algorithm:
1.If there is no internal points,generate
a Hermite curve defined by Q0 , Q1,Ts ,Te
2.Get a base curve:
2.1 If the data is simple:
2.1.1 Computer a Hetmite curve to Q0 , Qr ,Ts ,Te
2.1.2 Scale tangents to approximate
internal points
2.1.3 Iteratively improve parameters and the base
curve
2.2 Otherwise:
2.2.1 Interpolate data with a local method
2.2.2 Sample interpolating curve
2.2.3 Approximate sampling points
to eliminate multiple knots
3. Perform constrained shape manipulation to obtain interpolation.
4. While not all points have been interpolated:
4.1 Get/update parameter by projecting points onto the current
curve
4.2 If necessary,eliminate point clustering and add
additional knots
4.3 Set up vectors Vi by pulling curve points towards Qi by the
computered increment
4.4 Perform shape operation
4.5 Mark data points that have been reached,and exclude them
from further operations
5.Output shaped base curve and postprocess
The End !