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, tn2  tn3  tn4
, n2

Parameter

Normal

Deduce:
Pi0  Pi , i  1, 2,
n1
r (t )   Ni,4 (t ) Pi0
0
i 0
, n; P00  P10 , Pn01  Pn0
t [t3 , tn2 ]
P1j  Pj0  ?0j , j  1, 2,
?kj  Pj  r k (t j  2 )
n1
r (t )   Ni,4 (t ) Pik 1
i 0
, n, P01  P11, Pn11  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, Pnk11  Pnk 1

Iterative error:
?kj  Pj  r k (t j 2 ) j  1,2,..., n
[?k21,?3k 1, ,?kn11]T  C [?k2 ,?3k , ,?kn1]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 n41 (tn1 ) 
 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, Pnk11  Pnk 1
[?k21,?3k 1, ,?kn11]T  Ck [?2k ,?3k , ,?kn1]T
Ck  I  k B, 0  k 1; k  0,1,...
X -1 BX  diag (1( B), 2 ( B),..., n2 ( B))
X -1Ck X  diag (1  k 1(B),1  k 2 (B),...,1  k n2 (B))

Ck  0

k 0

Surface iterative
?khl1
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
 i0 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, JB1J is similar
to B1 .We should prove (JV 1J )  (JB1J )
(JB1J )  (JV 1J )  ((JK 1J )(JB1J ))
K  Fn1Fn2
FG
1 1
Gn2Gn1
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(i1,1)
JEi1J

L(n,ni )
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 (ni,n ) U (1,i1)
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   ( JEi1J )
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 ,
0i
  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, , umk 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 }
z11
mj  z1 
z j 1
zn 1
z j1
 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 j1  t  ti j2and 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 n1  T
Ni,k (t )  Ni0,k (t )
N i,k 1(t )  Nin,k1(t )
 N j (t )
i  l j  k 1
i ,k

j 1
Ni,k (t )  (1  aij,k ) Ni,jk (t )  aij1,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 h1,h  0, aljj ,h  1 (h  0,1,..., k 1)
aij,h1
 aij1,h
 ij1,h
 i,jh1
(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 j11 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 p1, , un , un1 
p1
 un p1}
p1

Constrained shaping:
Qk  C(tk ) Vk
k  0,
NP  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 i1
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  i1
i 
1
(ui 1  ui 2 
p
 ui  p1)
1
 i1 
(ui2  ui3   ui p1  ui p )
p 1
u  w( p 1)  ui  2 
 ui  p1

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 !