kmmcs, jan. 2006, spline methods in cagd, [email protected] spline methods in cagd byung-gook lee...
TRANSCRIPT
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Spline Methods in CAGD
byung-gook leeDongseo Univ.
[email protected] http://kowon.dongseo.ac.kr/~lbg/
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Contents
• Affine combination• Lagrange• Bezier• Spline• B-spline• E-spline
• Box-spline• Refinement relation• Cross-sectional volumes • Subdivision schemes
Reference“Spline Methods Draft”
Tom Lyche and Knut Morken“Subdivision Methods for
Geometric Design:A Constructive Approach”
Joe Warren and Henrik Weimer
Reference“Spline Methods Draft”
Tom Lyche and Knut Morken“Subdivision Methods for
Geometric Design:A Constructive Approach”
Joe Warren and Henrik Weimer
http://www.uio.no/studier/emner/matnat/ifi/INF-MAT5340/v04/litteratur.xmlhttp://www.subdivision.org/subdivision/index.jsp
http://www.microsoft.com/typography/ClearTypeInfo.mspxhttp://www.cgal.org/
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Affine combination
• Linear combinations
• Affine(Barycentric) combinations
• Convex combinations
• Barycentric coordinates
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Affine combination
Euclidean coordinate system
Coordinate-free system
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Polynomial interpolation
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Polynomial interpolation
• Lagrange polynomials
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Examples of cubic interpolation
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Bezier
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Representation Bezier
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Bezier
• Paul de Faget de Casteljau, Citroen, 1959• Pierre Bezier, Renault, UNISUF system, 1962• A.R. Forrest, Cambridge, 1968
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Properties of Bezier
• Affine invariance• Convex hull property• Endpoint interpolation• Symmetry• Linear precision• Pseudo-local control• Variation Diminishing Property
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Spline curves
• J. Ferguson , Boeing Co., 1963• C. de Boor, W. Gordon, General Motors, 1963
• to interpolate given data • piecewise polynomial curves with certain
differentiability constraints • not to design free form curves
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Piecewise cubic hermite interpolation
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Cubic spline interpolation
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Linear B-spline
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Quadratic B-spline
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Quadratic B-spline
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
B-spline
• Recurrence Relation
• Bernstein polynomial
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
B-spline
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
B-spline
• Smoothness=Degree-Multiplicity
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Representation B-spline
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Cubic B-spline
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
B-spline space
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
B-spline
• C. de Boor, 1972• W. Gordon, Richard F. Riesenfeld, 1974
• Larry L. Schumaker• Tom Lyche• Nira Dyn
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
B-spline basis functions
B0(x) =
(1; 0 · x < 1;0; otherwise
B1(x) =
8><
>:
x; 0 · x < 1;2¡ x; 1 · x < 2;0; otherwise
B2(x) =
8>>><
>>>:
12x2; 0 · x < 1;¡ 3
2 + 3x ¡ x2; 1 · x < 2;12(¡ 3+x)2; 2 · x < 3;0; otherwise
B(x : 0;1)
B(x : 0;1;2)
B(x : 0;1;2;3)
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Refinement relation for B-splineB0(x) = B0(2x) +B0(2x ¡ 1)
B1(x) =12B1(2x) + B1(2x ¡ 1) +
12B1(2x ¡ 2)
B2(x) =14B2(2x) +
34B2(2x ¡ 1) +
34B2(2x ¡ 2) +
14B2(2x ¡ 3)
Bn(x) =12n
n+1X
i=0
µn +1
i
¶Bn(2x ¡ i)
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Repeated integration for B-spline
B0(x) =
(1; 0 · x < 1;0; otherwise
Bn(x) =
Z 1
0Bn¡ 1(x ¡ t)dt
= B0(x) Bn¡ 1(x) p(x) q(x) =
Z 1
¡ 1p(t)q(x ¡ t)dt
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
E-splines
½®(t) = 1+(t)e®t
½¡!®(t) =P N d
m=1
P n( m )n=1 cm;n
tn ¡ 1+
(n¡ 1)!e®(m ) (t)
½¡!®(t) = (½®1 ½®2
¢¢¢ ½®n)(t) where ¡!®= (®1; : : :;®N ¡ 1;®N )
¡!®= (®n(1)
(1) ;®n( 2)
(2) ; : : : ;®n(N d )
(N d ) ) whereP N d
m=1 n(m) = N
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
E-splines
¯®(t) = ½®(t) ¡ e®½®(t ¡ 1) =
(e®t; 0 · t < 1;0; otherwise
¯¡!®(t) = (¯®1 ¯®2
¢¢¢ ¯®n)(t)
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Truncated powers for B-spline
B1(x) = c1(x) ¡ 2c1(x ¡ 1) +c1(x ¡ 2)
cn(x) =
(1n!x
n; x ¸ 0;0; otherwise
B2(x) = c2(x) ¡ 3c2(x ¡ 1) +3c2(x ¡ 2) ¡ c2(x ¡ 3)
Bn(x) =n+1X
i=0
(¡ 1)i
µn +1
i
¶cn(x ¡ i)
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Cross-sectional Volumes
cn(x) =1
pn + 1
voln
"(
f t0;t1; :: : ;tng2 (R +)n+1jnX
i=0
ti = x
) #
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
B-spline basis as Cross-sectional Volumes
Bn(x) =1
pn + 1
voln
"(
f t0;t1; : : : ;tng2 Hn+1jnX
i=0
ti = x
) #
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Cross-sectional Volumes for subcubes
Bn(x) =1
pn + 1
voln
"(
f t0;t1; : : : ;tng2 Hn+1jnX
i=0
ti = x
) #
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Bivariate Tensor Product B-spline
Bo.wrl
B1.wrl
B2.wrl
B12.wrl
B01.wrl
Bn;m(x;y) = Bn(x)Bm(y)
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Box-spline as Cross-sectional Volumes
X= f fai ;bi g2 z2ji = 0;1;:: : ;ng
Bn(x) =1
pn + 1
voln
"(
f t0;t1; : : : ;tng2 Hn+1jnX
i=0
ti = x
) #
BP
n (x;y) = voln
"(
f t0;t1; : : :; tng2 Hn+1jnX
i=0
fai ;bi gti = fx;yg
) #
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Bivariate Box spline over triangular grid
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Refinement Relation for B-spline
Sn(x) =
1
2(1+x)S
n¡ 1(x)
S0(x) = 1+x
S1(x) =
1
2(1+ 2x +x2
)
S2(x) =
1
4(1+3x + 3x2 +x3
)
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Refinement Relation for Box-spline
BP
(x;y) =
(1; 0 · x;y < 1;0; otherwise
X= f (1;0);(0;1)g
S ~P (x;y) =12(1+xayb)S
P(x;y)
~X=
X[ f (a;b)g
SP
(x;y) =12(1+x)(1+ y)
BP
(x;y) =
BP
(2x;2y) + BP
(2x ¡ 1;2y) + BP
(2x;2y ¡ 1) +BP
(2x ¡ 1;2y ¡ 1)
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Refinement Relation for Box-spline
~X= f (1;0);(0;1);(1;1)g
S ~P (x;y) =12(1+x)(1+y)(1+xy)
=£
1 x x2¤1
2
2
41 1 01 2 10 1 1
3
5
2
41yy2
3
5
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Subdivision for Box-spline
·12 00 1
2
¸
£12
12
¤
£1
¤
·1212
¸
~X= f (1;0);(0;1);(1;1)g
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Refinement Relation for Box-spline
~X= f(1;0);(0;1);(1;1);(¡ 1;1)g
S ~P (x;y) =14(1+x)(1+ y)(1+xy)(1+x¡ 1y)
=£
x¡ 1 1 x x2¤1
4
2
664
0 1 1 01 2 2 11 2 2 10 1 1 0
3
775
2
664
1yy2
y3
3
775
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Subdivision for Box-spline
~X= f(1;0);(0;1);(1;1);(¡ 1;1)g
·14 012
14
¸
·0 1
414
12
¸
·14
12
0 14
¸
·12
14
14 0
¸
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Refinement Relation for Box-spline
~X= f(1;0);(1;0);(0;1);(0;1)g
=£
1 x x2¤1
4
2
41 2 12 4 21 2 1
3
5
2
41yy2
3
5
S ~P (x;y) =14(1+ x)2(1+ y)2
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Refinement Relation for Box-spline
~X= f (1;0);(1;0);(1;0);(0;1);(0;1);(0;1)g
=£
1 x x2 x3¤ 1
16
2
664
1 3 3 13 9 9 13 9 9 11 3 3 1
3
775
2
664
1yy2
y3
3
775
S ~P (x;y) =116
(1+x)3(1+ y)3
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Refinement Relation for Box-spline
~X= f (1;0);(1;0);(0;1);(0;1);(1;1);(1;1)g
S ~P (x;y) =116
(1+x)2(1+y)2(1+xy)2
=£
1 x x2 x3 x4¤ 1
16
2
66664
1 2 1 0 02 6 6 2 01 6 10 6 10 2 6 6 20 0 1 2 1
3
77775
2
66664
1yy2
y3
y4
3
77775
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Condition number
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Condition number of B-spline basis
Tom Lyche and Karl Scherer, On the p-norm condition number of the multivariate triangular Bernstein basis, Journal of Computational and Applied Mathematics 119(2000) 259-273
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Stability
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Blossom
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Blossom
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
B-spline problems
• Degree Elevation• Degree Reduction• Knot Insertion• Knot Deletion
Gerald Farin, Curves and Surfaces for Computer Aided Geometric Design, 4 th ed, Academic Press (1996)Ronald N. Goldman, Tom Lyche, editors, Knot Insertion and Deletion Algorithms for B-Spline Curves and Surfaces, SIAM (1993)
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Bezier Degree Reduction
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Bezier Degree Reduction
• Least square method• Legendre-Bernstein basis transformations
Rida T. Farouki, Legendre-Bernstein basis transformations, Journal of Computational and Applied Mathematics 119(2000) 145-160.Byung-Gook Lee, Yunbeom Park and Jaechil Yoo, Application of Legendre-Bernstein basis transformations to degree elevation and degree reduction, Computer Aided Geometric Design 19(2002) 709-718.
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Bezier Degree Reduction with constrained
KMMCS, Jan. 2006, Spline Methods in CAGD, [email protected]
Contents
• Affine combination• Bezier curves• Spline curves• B-spline curves• Condition number• L1-norm spline• Quasi-interpolant• Box-spline• Cross-sectional volumes• Refinement relation• Subdivision
Reference“Spline Methods Draft”
Tom Lyche and Knut Morken“Subdivision Methods for
Geometric Design:A Constructive Approach”
Joe Warren and Henrik Weimer
Reference“Spline Methods Draft”
Tom Lyche and Knut Morken“Subdivision Methods for
Geometric Design:A Constructive Approach”
Joe Warren and Henrik Weimer