B-spline

  • 格式:pdf
  • 大小:121.24 KB
  • 文档页数:6

B-spline - Wikipedia, the free encyclopedia

http://en.wikipedia.org/w/index.php?title=B-spline&printable=yes[2011-4-12 9:29:42]B-splineFrom Wikipedia, the free encyclopediaIn the mathematical subfield of numerical analysis, a B-spline is a spline function that has minimal supportwith respect to a given degree, smoothness, and domain partition. B-splines were investigated as early as thenineteenth century by Nikolai Lobachevsky from Kazan State University, Russia. A fundamental theorem statesthat every spline function of a given degree, smoothness, and domain partition, can be represented as alinear combination of B-splines of that same degree and smoothness, and over that same partition.[1] Theterm B-spline was coined by Isaac Jacob Schoenberg and is short for basis spline.[2] B-splines can beevaluated in a numerically stable way by the de Boor algorithm. Simplified, potentially faster variants of thede Boor algorithm have been created but they suffer from comparatively lower stability.[3][4]In the computer science subfields of computer-aided design and computer graphics, the term B-splinefrequently refers to a spline curve parametrized by spline functions that are expressed as linear combinationsof B-splines (in the mathematical sense above). A B-spline is simply a generalisation of a Bézier curve, and itcan avoid the Runge phenomenon without increasing the degree of the B-spline.Contents1 Definition1.1 Uniform B-spline1.2 Cardinal B-spline2 Notes3 Examples3.1 Constant B-spline3.2 Linear B-spline3.3 Uniform quadratic B-spline3.4 Cubic B-Spline3.5 Uniform cubic B-splines4 See also5 References6 External linksDefinitionGiven m real values ti, called knots, witha B-spline of degree n is a parametric curvecomposed of a linear combination of basis B-splines bi,n of degree n.B-spline - Wikipedia, the free encyclopediahttp://en.wikipedia.org/w/index.php?title=B-spline&printable=yes[2011-4-12 9:29:42]The Pi are called control points or de Boor points. There are m−n-1 control points, and they form aconvex hull.The m-n-1 basis B-splines of degree n can be defined, for n=0,1,...,m-2, using the Cox-de Boor recursionformulaNote that j+n+1 can not exceed m-1, which limits both j and n.When the knots are equidistant the B-spline is said to be uniform, otherwise non-uniform. If two knots tjare identical, any resulting indeterminate forms 0/0 are deemed to be 0.Note that when one sums a run of adjacent n-degree basis B-splines one obtains, from this recursionfor any sum with When here, then this sum is, by this recursion, identically equal to 1, within the limitedsubrange , (since this interval excludes the supports of the two basis B-splines in theseparate terms at the ends of this sum).Uniform B-splineWhen the B-spline is uniform, the basis B-splines for a given degree n are just shifted copies of each other.An alternative non-recursive definition for the m−n-1 basis B-splines iswithandwhereB-spline - Wikipedia, the free encyclopediahttp://en.wikipedia.org/w/index.php?title=B-spline&printable=yes[2011-4-12 9:29:42]is the truncated power function.Cardinal B-splineDefine B0 as the characteristic function of , and Bk recursively as the convolution productthen Bk are called (centered) cardinal B-splines. This definition goes back to Schoenberg.Bk has compact support and is an even function. As the normalized cardinal B-splinestend to the Gaussian function.[5]NotesWhen the number of de Boor control points is one more than the degree and and (thus ), the B-Spline degenerates into a Bézier curve. In particular, the B-Spline basis function bi,n(t) coincides with the n-th degree univariate Bernstein polynomial.[6] The shape ofthe basis functions is determined by the position of the knots. Scaling or translating the knot vector does notalter the basis functions.The spline is contained in the convex hull of its control points.A basis B-spline of degree nis non-zero only in the interval [ti, ti+n+1] that isIn other words if we manipulate one control point we only change the local behaviour of the curve and notthe global behaviour as with Bézier curves.Also see Bernstein polynomial for further details.ExamplesConstant B-splineThe constant B-spline is the simplest spline. It is defined on only one knot span and is not even continuous onthe knots. It is just the indicator function for the different knot spans.B-spline - Wikipedia, the free encyclopediahttp://en.wikipedia.org/w/index.php?title=B-spline&printable=yes[2011-4-12 9:29:42]Linear B-splineThe linear B-spline is defined on two consecutive knot spans and is continuous on the knots, but notdifferentiable.Uniform quadratic B-splineQuadratic B-splines with uniform knot-vector is a commonly used form of B-spline. The blending function caneasily be precalculated, and is equal for each segment in this case.Put in matrix-form, it is:[7] for Cubic B-SplineA B-spline formulation for a single segment can be written as:where Si is the ith B-spline segment and P is the set of control points, segment i and k is the local controlpoint index. A set of control points would be where the wi is weight, pullingthe curve towards control point Pi as it increases or moving the curve away as it decreases.An entire set of segments, m-2 curves (S3,S4,...,Sm) defined by m+1 control points (), as one B-spline in t would be defined as:where i is the control point number and t is a global parameter giving knot values. This formulation expresses