For the partition-of-unity normalization, the derivative of a degree- B-spline is the displayed difference of two overlapping degree- B-splines. A zero denominator denotes a term with collapsed support, assigned zero. For simple knots the divided-difference representation has the required support, smoothness and integral normalization. Differentiate the truncated power and apply the last-step divided difference recursion to obtain the formula. Repeated-knot versions follow by confluent limits, with one-sided interpretation where necessary.
For unit-spaced order-three B-splines sampled at support midpoints , the B-spline collocation matrix has diagonal and neighboring entries . Conjugating by alternating diagonal signs reduces its inverse absolute values to the nonnegative inverse of . With , the absolute row sums are . This follows by solving with . The maximum occurs at the middle row or rows and tends to two as grows. Nonnegativity and subpartition of unity of the B-splines transfer this bound to the spline interpolation operator.
Chaikin subdivision 2026-10-14
Chaikin subdivision generates a rounded subdivision curve by repeatedly cutting the corners off a control polygon. Each edge contributes two new control points, one a quarter of the way along the edge and the other three quarters of the way along it. Connecting these new control points in edge order replaces the old corners by shorter line segments. This makes Chaikin subdivision a useful way to draw a smooth outline from a small, editable set of control points, without evaluating B-spline basis functions at each drawing step. Joy presents both the corner-cutting rule and its closed version.[ref]
For a closed control polygon with control points , set and interpret indices cyclically. One refinement gives
and the new control polygon is the ordered sequence
Close it by joining back to . Use the old control points for every average in the same refinement; updating them in place would define a different algorithm. One refinement produces stored control points, and refinements produce , counting entries even if some coordinates coincide. Open control polygons need an explicit endpoint convention: applying only the interior edge rule discards the original endpoints, whereas retaining endpoints changes the boundary rule. The closed analysis below uses cyclic indices throughout.
For a worked example, start with the rectangular control polygon
The first edge gives and . Applying Chaikin subdivision to all four edges, including the closing edge, gives exactly eight control points in this order:
Thus the rectangle becomes an octagonal control polygon. Two refinements have control points, and five have . The illustration shows finite control polygons at stages ; the last is already visually rounded but still consists of line segments.
Figure 1.
Chaikin corner cutting on a rectangle at iterations zero, one, two and five
. The dashed rectangle is the original control polygon and its convex hull. Blue line segments and dots show the current control polygon and control points; no panel claims to be the exact limiting curve. Details.
The convex hull property follows directly from the weights. Each new control point is a convex combination of the endpoints of one old edge, because the weights are nonnegative and sum to one. Consequently, if is the convex hull of the stage- control points, then . Every later line segment, and every limit point, stays in the original convex hull. This gives a useful geometric enclosure. It also explains why Chaikin subdivision is approximating rather than an interpolation rule: the rectangle's four original corners are outside the first octagon's convex hull, so the limiting curve cannot pass through them. A refinement control polygon generally lies off the limiting curve as well.
For the cyclic uniform rule, the closed limit is the periodic quadratic uniform B-spline curve determined by the original control points. Uniform refers to equal spacing in the spline knot sequence, not equal physical lengths of edges of the control polygon. An infinite uniform control sequence has the corresponding local description; arbitrary open endpoint conventions need separate treatment. Joy derives the quarter-point refinement by splitting quadratic uniform B-spline spans.[ref]
Here is an explicit description of that closed limit, with cyclic indices and a unit parameter span for each original control point:
Each coordinate is a quadratic polynomial, and the three coefficients form a nonnegative partition of unity. The span runs from to . Differentiating gives and , so adjacent spans have matching values and matching first derivatives. Their second derivatives generally differ. Thus the parameterized curve is , generally not ; degenerate control points can still make its tangent vector vanish. For the rectangle, the span around is
which rounds the original corner between edge midpoints and . For equally spaced abscissae, the centered Chaikin basis function gives the scalar graph version of this quadratic B-spline representation and has support of width three original grid intervals.
Another useful property is affine equivariance of a geometric basis: refining and applying an affine map commute. For ,
and the same calculation holds for . The sum-to-one weights account for the translation. Therefore at every refinement, and also for the limit. A designer can apply a shear mapping, translation, or other affine map to the original control polygon and obtain exactly the transformed outline.
For example, compose the shear mapping with the translation to obtain . The rectangle's control points become . On its right edge, cutting first gives and then . Transforming first and cutting instead gives , the same control point.
Figure 2.
Shearing and translating a control polygon commutes with one Chaikin refinement
. Left: the rectangle and its first refinement. Right: the transformed control polygon, with blue dots from cutting after the affine map and orange rings from applying the affine map after cutting. All eight pairs coincide. Details.
Historically, George M. Chaikin published “An algorithm for high-speed curve generation” in Computer Graphics and Image Processing 3(4), December 1974, pages 346–349. Its emphasis was practical curve generation through a recursive algorithm using simple arithmetic, with applications including machine control and three-dimensional curves. The lasting appeal of Chaikin subdivision is how an elementary local average creates an entire smooth B-spline curve.[ref]
For a nonnegative partition-normalized B-spline basis, the synthesis linear map has operator norm one. Its condition number is consequently , with the supremum norm on the spline space and the maximum norm on its coefficients. The uniform-norm stability of a B-spline basis bounds this number independently of the spline knot sequence when the order is fixed. This is different from the condition number of a particular sampled B-spline collocation matrix.
For a parametric curve represented by fixed scalar functions and control points in Euclidean space, write
The influence function of this handle is : the resulting displacement vector is , and its norm is . These are exact finite changes, not only a first-order estimate. Where is negative the displacement points opposite to . Where , the curve is unchanged at that parameter.
Figure 1.
The influence coefficient 3t(1-t)^2 equals the vertical displacement for a unit upward move of P1, reaches 4/9 at t=1/3, and vanishes at both endpoints
. Details.
For the cubic Bézier curve above, the Bernstein basis influence function is . Its derivative is
It increases up to and decreases thereafter on . Consequently the largest displacement at corresponding parameters is
For it is . This is a comparison at the same parameter. A geometric closest-distance comparison, as in a closest-point search on a subdivision curve, instead minimizes over another parameter:
The closest parameter can differ from , so is not automatically a maximum closest-distance separation of the two curves. Neither parameter is assumed to be arc length.
The support of a function is the closure of the parameter values where . It bounds where a nonzero handle move can act, but may include boundary points where the actual displacement is zero. Here the support of a function is all of relative to the parameter domain, while the endpoints are unaffected. In contrast, a B-spline of order has support within in its spline knot sequence, so its handle affects only that parameter range; the support and Gram bandwidth of B-splines describes the same locality in another application. Changing the spline knots or the basis along with the handle requires a different comparison.
When the basis functions form a partition of unity, , each evaluation is an affine combination of the control points. Applying an affine map to all handles gives
This is affine equivariance of a geometric basis, also called affine covariance: affine maps preserve affine combinations. In particular, translating every handle by translates the whole curve by , whereas moving just one handle produces . The Bernstein basis has this partition of unity property.[ref] Nonnegative weights further make evaluations convex combinations, giving the convex hull bound illustrated by the control polygon; nonnegativity is not needed for affine covariance.
For a proof outline of the influence formula, subtract the two basis representations: every unchanged coefficient cancels, leaving . The same subtraction with several moved handles gives . No claim about interpolation, closest-point search on a subdivision curve or endpoint motion follows until the actual basis values are examined.
For the unit-spaced cubic cardinal B-spline on , the four scalar cubic Bernstein basis coefficient rows are , , and . Each row applies on its interval with local parameter in . They result from the compactly supported truncated-cube combination . Each graph piece is a cubic Bézier curve with abscissa controls .
This linear functional extracts one coefficient of a B-spline expansion using local polynomial data. With and a point inside a knot cell in the support, it is . The local polynomial identity for the Marsden dual functional gives the desired coefficient. Its bounded restriction to the local spline space can be extended to continuous data on by the Hahn-Banach theorem, with the same bound. Such extensions supply spline quasi-interpolation coefficients without requiring derivatives of the data.
De Boor's algorithm 2026-10-14
For degree , knots and span , initialize for . At level , update by , where . The point is . This evaluates a B-spline by local affine combinations.
// Target: analysis.bigb
Greville abscissa 2026-10-06
For an order- B-spline with , its Greville abscissa is the arithmetic mean of its interior knots. These are precisely the coefficients reproducing the linear function in the monomial B-spline coefficients formula. The irregular plural is Greville abscissae.
Knot insertion 2026-10-14
Knot insertion refines the spline knot sequence and changes the control points without changing the represented B-spline. Repeated insertion exposes local Bézier curves and provides subdivision-based evaluation.
// Target: analysis.bigb
Lee interpolation identity Created 2026-10-06 Updated 2026-10-14
For distinct increasing knots, let interpolate on and let . Adjacent interpolants share values; their difference is a multiple of . Its leading coefficient, by the divided difference recurrence, is the order- B-spline . Thus . Telescoping proves the Marsden identity. Repeated knots require the well-defined confluent or limiting convention.
For the distinct-knot linear B-spline hats, let . The mixed-normalization spline Gram matrix has entries
Only indices in the finite basis are retained. This matrix has a row strict diagonal dominance margin at least , so the inverse infinity-norm bound from diagonal dominance gives . Equidistant spline knots give off-diagonal entries . Both pieces of every hat are retained; repeated endpoint spline knots require different boundary formulas.
The order- B-splines active on a simple-knot cell form a basis of its degree- polynomials. To see this from Marsden's identity, use the dual polynomials . On the identity is . Evaluation of the dual polynomials at gives a triangular coefficient matrix with nonzero diagonal. They are independent, and comparison of coefficients of in the identity gives independence of the active splines. Consequently a spline vanishes on a whole open cell exactly when all its active coefficients vanish.
For nonnegative partition-normalized order- B-splines, let with each sample point inside . If is nonzero, both and lie in an interval of length at most . Their function values differ by at most the modulus of continuity at that length. Summing with nonnegative weights of total one proves the displayed bound. With fixed order and vanishing maximum knot gap, uniform continuity gives uniform convergence. The same argument works for bounded piecewise-continuous outputs if full interior knot multiplicities are allowed; their individual continuity should not then be asserted.