A subdivision curve is the limit of repeated refinement of a control polygon, when that limit exists. Each finite stage still consists of line segments; the limiting curve can have a continuous derivative. Linear stationary rules, which use the same fixed weighted averages at every stage, can be studied through their subdivision masks and often represent splines. An interpolation rule retains the old control points, as in binary linear interpolatory subdivision; an approximating rule such as Chaikin subdivision generally moves away from them. Increasing the number of control points alone does not prove convergence or smoothness.
// Target: analysis.bigb
The centered subdivision mask retains old control points and inserts edge midpoints. Its control polygon is unchanged as a geometric curve by refinement. Its basic limit is the hat , with support . This linear spline representation reproduces constants and linear functions, and is but generally not at its spline knots.
The functional precision set of a subdivision scheme consists of functions exactly reproduced by refining their uniform samples with the scheme's consistent parameter placement. Polynomial precision usually specifies the reproduced polynomial space. If exactness is required for every grid spacing and shift, the binary midpoint-interpolation scheme has precision exactly the affine functions. At one fixed grid, its entire reconstruction range is the space of continuous piecewise linear functions on that grid; this larger range should not be confused with polynomial precision or arbitrary-grid reproduction.
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]
This centered quadratic cardinal B-spline weights each original control ordinate at its uniformly spaced abscissa. Its translates sum to one. It and its first derivative match at half-integer knots, while the second derivative can jump. The limit graph is ; one ordinate influences exactly three original intervals. Refinement of a quadratic adds in the limit, yielding this basis by extending each three-point neighborhood quadratically.
For uniformly spaced abscissae, quarter and three-quarter averages applied to constant or affine samples leave the same polynomial. For on spacing , both new subgrids lie on . For degree , their candidate polynomial formulas differ with leading term , which has a nonzero highest-degree coefficient. Thus preservation of polynomial degree for arbitrary sufficiently long data sequences holds exactly for degrees zero, one and two, despite quadratic values changing.
Under , the descendants of control index zero lie at , where each is in the mask support. Dividing by the refined parameter scale gives a limiting influence enclosure with the displayed endpoints. For a mask supported on its width is when the endpoints are active and a nonzero compactly supported basic limit exists. To prove exactness, the largest active mask term is the only surviving term near the right endpoint of the refinement equation, forcing ; the analogous left-end argument completes the result. Mask padding should be removed, and a nonconvergent rule has no limit support.
A useful subdivision curve interface provides parameter ranges, endpoint and limit evaluation, derivatives, subdivision into equivalent restricted pieces, a certified bounding volume, and a certified error relative to a chord. Positive subdivision masks often give a convex hull bound. Masks with negative coefficients need a separate enclosing bound; their control-point hull need not enclose the limit curve.
At a regular differentiable interior nearest point of a parametric curve, the displacement from the query point is perpendicular to the tangent vector. A branch and bound search uses distances to certified enclosing bounding volumes as lower bounds, and evaluated limit points as upper bounds. Refine the most promising restricted pieces until the upper bound differs from the global lower bound by the chosen distance tolerance. Safeguarded Newton root-finding iteration accelerates local candidates, but endpoints, nonregular points, ties and other stationary branches must not be omitted.
For a point light at , the shadow of a curve point is the first surface intersection on its ray beyond that point. Certified patch bounds and subdivision isolate intersections; regular hits are corrected with a three-variable Newton method solve. Differentiating the displayed equation gives , a predictor for continuation along the shadow. Surface boundaries and grazing rays require clipping and reseeding; every visible component must be isolated, rather than assumed detectable from a fixed sample of the casting curve.
For an oriented plane function , certified extrema over a bounding volume allow a subdivision curve piece to be rejected when , or wholly retained when . Otherwise subdivide. At an explicitly chosen rendering tolerance, a sufficiently flat, sufficiently short piece can be replaced by its clipped chord. This is an approximation, not a proof of exact crossing topology. Exact treatment of tangent contacts and small excursions requires root isolation of and splitting into sign-constant intervals, when the curve representation supports such isolation.

Articles by others on the same topic (0)

There are currently no matching articles.