390 likes | 765 Views
On the degree elevation of B-spline curves and corner cutting. 2007-10-31. 1.Degree elevation of B-spline curves. A B-spline curve of degree k is a piecewise polynomial curve defined as follows:. where P i are control points, and N i,k ( t ) are B-spline basis functions defined on
E N D
On the degree elevation of B-spline curves and corner cutting 2007-10-31
1.Degree elevation of B-spline curves • A B-spline curve of degree k is a piecewise polynomial curve defined as follows: where Piare control points, and Ni,k(t) are B-spline basis functions defined on a non-decreasing knot vector T={t0,t1,…,tm+k+1}.
1.Degree elevation of B-spline curves • To elevate the degree of P(t) to k+1, we should find control points and a knot vector such that where are B-spline basis functions defined on .
1.Degree elevation of B-spline curves • Assume that has the form where denote the multiplicities of the interior knots. Since the curve have the same continuity at the interior knots, must take the form
1.Degree elevation of B-spline curves • The computation of can be done in a number of different ways, including recursive formulas, combining some techniques of box splines with knot insertion, and so on.
2.Some degree elevation algorithms of B-spline curves • (1) Prautzsch, 1984; Prautzsch and Piper, 1991. is the B-spline basis function defined on
2.Some degree elevation algorithms of B-spline curves • (2) Pigel and Tiller(1994) (a) decompose the B-spline curve into piecewise Bezier curves by knot insertion; (b) perform degree elevation on each Bezier segment; (c) remove unnecessary knots.
2.Some degree elevation algorithms of B-spline curves • (3) Liu (1997) The new control points of the degree-raised spline are obtained simply by a series of knot insertions followed by a series of knot deletions.
2.Some degree elevation algorithms of B-spline curves • (a) Create F’ by inserting knot into F to increase the multiplicity of each break point by one; (b) For each j, Create Fj by deleting knot sj from F’; (c) Set
2.Some degree elevation algorithms of B-spline curves • (4) Huang et al (2005) The algorithm is based on the simple approach of computing derivatives using the control points, resampling the knot vector, and then computing the new control points from the derivatives.
3.Corner cutting • Many algorithms used in CAGD can be interpreted as corner cutting algorithms, i.e. as generating a sequence of broken lines each of which is obtained from its predecessor by the cutting off of one or more corners (de Boor,1987).
3.Corner cutting • Examples (a) Degree raising for the Bernstein-Beizer form; (b) Knot insertion of B-spline curve; (c) Chaikin’s algorithm and its generalization.
3.Corner cutting • Moreover, the auxiliary control points during the corner cutting usually have specific geometric meaning. For example, the subdivision of Bezier curve.
3.Corner cutting Two problems for the degree elevation of B-spline curve: (a) Can the degree elevation of B-spline curve be interpreted as corner cutting? (b) Do the auxiliary control points during the corner cutting have geometry meaning?
4.Analysis • For Bezier curve:
4.Analysis • For B-spline curve: If the multiplicity of the interior knots are increased simultaneously Ni,3(t) Nj,4(t) Nj+2,4(t) Nj+1,4(t) Ni,3(t)= ajNj,4(t)+aj+1Nj+1,4(t)+aj+2Nj+2,4(t) = bmPm+bm+1Pm+1 +bm+2Pm+2
= bmPm+bm+1Pm+1 4.Analysis • Our new method: In each step we only increase the multiplicity of one interior knot Ni,3(t) Nj,4(t) Nj+1,4(t) Ni,3(t)= ajNj,4(t)+aj+1Nj+1,4(t)
4.Analysis • By our new method: In each step the new control points are obtained from the old control points by corner cutting. Repeating this process until the multiplicity of all interior knots are increased, we obtain the control points of the degree-elevated curve by corner cutting.
4.Analysis • New problem emerge: The degree of the new basis functions in some intervals is lager than that in other intervals by one. We call they bi-degree B-spline basis functions. It is difficult to construct bi-degree B-spline basis functions using the traditional definitions of B-spline.
4.Analysis • Integral definition of spline (a) A class of Bezier-like curves (chen and wang, 2003); (b) NUAT B-spline curves (Wang et al., 2004); (c) More …
4.Analysis • Using the integral definition of spline, we can define various spline basis functions by selecting various initial basis functions, so we define the bi-degree B-spline basis functions via selecting bi-degree initial basis functions.
5.Bi-degree B-spline • The initial basis functions: For usual B-spline: For bi-degree B-spline: Ni,0(t) Ni+1,0(t) Ni+2,0(t)
5.Bi-degree B-spline • Definition of bi-degree B-spline basis functions
5.Bi-degree B-spline • For is defined recursively by where , and
5.Bi-degree B-spline • The relations between bi-degree B-spline and usual B-spline • Theorem 1 Assume that are usual B-spline basis functions defined on and are bi-degree B-spline basis function, then
5.Bi-degree B-spline • Transformation formulas of bi-degree B-spline basis function (a) Noting that and from the definitions of , we have
5.Bi-degree B-spline • Transformation formulas of bi-degree B-spline basis function (b) Theorem 2 For the bi-degree B-spline basis functions defined by (1)(2)(3)(4), we have
5.Bi-degree B-spline is defined as follows:
5.Bi-degree B-spline • Properties of the bi-degree B-spline basis functions (a) Positivity (b) Partition of unity (c) Linear independence globally
6.Degree elevation of B-spline curve is corner cutting • A bi-degree B-spline curve is defined as It acts as the bridges of , and has properties like usual B-spline curve.
6.Degree elevation of B-spline curve is corner cutting • Theorem 3 If are bi-degree B-spline curves defined on , and they are the same curves, then their control points satisfy
6.Degree elevation of B-spline curve is corner cutting • Theorem 4 The degree elevation of B-spline curve is corner cutting.
6.Degree elevation of B-spline curve is corner cutting • Geometry meaning of the auxiliary control points appeared in the process of corner cutting: the auxiliary control points { Pij } are the control points of the bi-degree B-spline curve defined on knot vector Tj.
References • de Boor, C., 1987. Cutting corners always works. Computer Aided Geometric Design 4, 125-131. • Cohen, E., Lyche, T., Schumaker, L., 1985. Algorithms for degree raising of splines. ACM Transactions on Graphics 4, 171-181. • Huang, Q., Hu, S., Martin, R., 2005. Fast degree elevation and knot insertion for B-spline curves. Computer Aided Geometric Design 22, 183-197. • Liu, W., 1997. A simple, efficient degree raising algorithm for B-spline curve. Computer Aided Geometric Design 14, 693-698. • Piegl, L.,Tiller, W., 1994. Software-engineering approach to degree elevation of B-spline curves. Computer Aided Design 26, 17-28. • Prautzsch, H., 1984. Degree elevation of B-spline curves. Computer Aided Geometric Design 1, 193-198. • Prautzsch, H., Piper, B., 1991. A fast algorithm to raise the degree of B-spline curves. Computer Aided Geometric Design 8, 253-266. • Wang, G., Deng, C., 2007. On the degree elevation of B-spline curves and corner cutting. Computer Aided Geoemetric Design 24, 90-98.
The end. Thank you.