Bézier curve 2026-10-14
A Bézier curve is a parametric curve specified by control points in a Euclidean space and the Bernstein basis:
Here is a binomial coefficient. Each coordinate is a polynomial of polynomial degree at most ; special choices of control points can lower the polynomial degree. The ordered control points form the control polygon. A cubic Bézier curve uses four control points and has the explicit form
The curve passes through and ; the interior control points steer its shape and need not lie on it.[ref]
For a worked example, choose
Substituting these control points gives
Here , so neither interior control point, both at height , lies on the curve. De Casteljau's algorithm computes the same point using only successive linear interpolations.
The endpoint tangent vectors follow from the Bézier derivative control polygon:
Thus the curve leaves toward and arrives at from . These nonzero derivatives determine the endpoint tangent lines; if an endpoint derivative vanishes, that formula alone does not determine its tangent direction. Endpoint handles are useful when arranging a parametric first-derivative join of Bézier curves.
The parameter is usually not arc length. For this example,
Equal steps in therefore do not generally travel equal distances. Distance along the curve is instead the arc length, given by the integral ; its derivative is the norm of the tangent vector and measures the rate of travel.
Two geometric facts make Bézier curves especially convenient for design. First, the Bernstein basis weights are nonnegative and form a partition of unity, since the binomial theorem gives . Hence is a convex combination of the control points and lies in their convex hull.[ref] The convex hull is the smallest convex set containing the control points, not their axis-aligned bounding box. Here it is a trapezoid, strictly smaller than : the box corner is outside the convex hull. The curve need not fill or touch every edge of either enclosure. The convex hull guarantee concerns ; outside that interval weights can be negative.
Second, applying an affine map to every control point gives exactly the same result as applying it to the entire curve. For ,
This is affine equivariance of a geometric basis: a translation, rotation or shear mapping can be performed on a handful of control points. For example, transforms the four control points to and transforms the midpoint to , also obtained from the same weights .
These editable handles explain the usefulness of Bézier curves in computer aided geometric design, vector graphics paths and outline fonts: a small collection of points controls an entire smooth stroke, and resizing the design preserves its mathematical shape. Cambridge's computer-graphics notes describe their use in graphic design, typography and PostScript outlines. The industrial context includes Pierre Bézier's work at Renault and Paul de Casteljau's work at Citroën.[ref]
// 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.
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]
Control point Created 2026-10-14 Updated 2026-10-14
A control point is an editable geometric handle used to specify a curve or surface through a basis or refinement rule. The handle is part of the representation; it need not be a point on the resulting curve. In a Bézier curve, the control points are the geometric coefficients of the Bernstein basis. Joining them in order gives a control polygon, which makes the handles easy to manipulate without drawing the curve as a chain of line segments.[ref]
For example, use the cubic Bézier curve with control points
Its Bernstein basis representation gives
The greatest height is , so neither interior control point, both at height , lies on this curve. The endpoint control points do lie on it: and . This separates interpolation, which requires passage through prescribed data, from an approximating representation, which uses handles to shape a curve without requiring passage through every handle. If measured points must be interpolated, choose control points to satisfy those constraints; simply using the measured points as the handles of a Bézier curve does not enforce interpolation.
Figure 1.
Original cubic and the curve after moving only the interior control point P1 upward by one unit, with fixed endpoints and a smaller displacement at the same parameter
. Details.
Now move only by the vector , giving . With the Bernstein basis and parameter unchanged, the new curve is
At this gives , a displacement despite moving the handle by a full unit. Both endpoints stay fixed because the coefficient vanishes there. Thus dragging a control point shapes a whole range of the curve; it does not generally drag an arbitrary selected point on the curve by the same vector. The control-point influence on a curve tells us exactly how much each parameter value moves.
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.
Control polygon 2026-10-14
A control polygon joins successive control points by line segments. It gives an editable geometric skeleton, not usually the exact curve. An open control polygon has two ends; a closed control polygon also joins the last control point to the first. Store the first control point only once when using cyclic indices, so the closing edge is counted exactly once. Positive partition of unity basis functions place the curve inside the convex hull of its active control points; a convergent subdivision curve rule refines the control polygon toward its limit, with a certified error when an appropriate bound is available.
De Casteljau's algorithm 2026-10-14
De Casteljau's algorithm evaluates a Bézier curve by repeated linear interpolation between neighboring control points. Fix , start with , and compute
Each new row has one fewer point. The final point is . Use the same at every stage: it describes the fraction of each line segment traversed from its first endpoint toward its second. A cubic Bézier curve needs three levels containing , , and linear interpolations, respectively.[ref]
For the Bézier curve with control points , , , , evaluation at takes the midpoint of every neighboring pair. The first level gives
The second level gives
and the third level gives
The intermediate control polygons shrink toward the evaluated point. Each step is a convex combination, giving a geometric explanation of the convex hull property; every step also commutes with an affine map.
Figure 1.
Cubic Bézier curve, its convex hull and bounding box, and the three levels of De Casteljau's algorithm at t = 1/2
. Details.
The same construction splits the Bézier curve exactly, with no approximation. The outer edges of the triangular array give the new control points: for a cubic, specify the left piece and specify the right piece.[ref] At these two lists are
Write and for the Bézier curves defined by these lists, each with its own parameter . Then
Their images reproduce the original curve, while their derivatives account for the shorter parameter intervals. At the join,
The chain rule gives ; in the original parameter, both pieces have derivative . This is the interval scaling in the parametric first-derivative join of Bézier curves.
Figure 2.
Exact midpoint subdivision with two smaller control polygons, endpoint tangent directions, and equally spaced parameter samples
. Details.
Repeated midpoint splitting is useful for drawing vector graphics paths: each piece has a smaller control polygon and its own convex hull enclosure. A renderer can refine pieces until they are sufficiently close to line segments at the chosen display scale. Evaluating and splitting it are thus two results of the same short algorithm.
For a proof outline, expanding the recursion gives
Pascal's identity proves this by induction; at , it is precisely the Bernstein basis formula for the Bézier curve. The geometric construction remains useful even when expanding the polynomial by hand would be cumbersome.
// Target: analysis.bigb
For a fixed , De Casteljau's algorithm first takes the same fractional position along both adjacent sides of the control polygon:
It then applies another linear interpolation with that same :
This is the degree-two Bernstein basis representation of a quadratic Bézier curve. Its coordinate polynomials are
The degree is exactly two, since its second derivative is nonzero. As a check on the construction, at the two intermediate points are and and their midpoint is .
Three useful geometric properties, with their concrete consequences here, are:
These give the compact answer
The same sum-to-one calculation also explains affine equivariance of a geometric basis: applying an affine map to the handles applies that map to the curve.
Fix an explicit stationary-grid convention. For subdivision arity , write the univariate rule as
A column of the subdivision matrix is one translated subdivision mask; the next column is translated by fine-grid rows. Thus the column displacement is the arity. If is active from to , the subdivision mask width is fine-grid positions, after removing zero padding. Equivalently the mask span is fine intervals. This is different from counting old control points in a row stencil: that count measures how many controls influence one newly created point. Stating the convention avoids confusing these two widths.
For a convergent subdivision curve scheme, its support is the influence region of one original control point, equivalently the support of a function of the basic limit obtained from data . Translation gives the representation . Descendant indices of index zero have parameter positions
Thus the limiting support enclosure is , as in the support of a stationary subdivision scheme. Endpoint activity gives equality for the ordinary positive convergent masks under discussion.
The functional precision set of a subdivision scheme consists of functions exactly recovered from their uniformly sampled data using the scheme's consistent parameter placement. Polynomial precision records the exactly reproduced polynomial space. Sampling-grid spacing and origin must be specified; the usual arbitrary-grid precision requirement uses every spacing and shift, rather than merely membership in the fixed-grid reconstruction space.
Center the given mask at indices . Its binary linear interpolatory subdivision rule is
Each new control point is either an old point or an edge midpoint. Hence every refined control polygon is the same curve with extra vertices. Starting from scalar impulse data, the limit is explicitly
The mask width is three positions, its mask span is two, its largest row stencil uses two old control points, and its subdivision arity is two. Translating the mask indexing to translates the basic support to ; the support width remains two original grid intervals.
On , reconstruction is . Constant and affine samples are therefore recovered exactly. A non-affine polynomial cannot agree with a linear expression on a whole open interval. Thus its polynomial functional precision set of a subdivision scheme is
For continuous functions reproduced at every translated sampling grid, the same conclusion holds: agreement with all chord interpolants forces the affine interpolation identity, hence affinity. At one fixed grid, the larger exactly representable class is the space of linear splines with those spline knots; this is not a higher polynomial precision claim.
For arbitrary data, the one-sided derivatives at are and . They need not coincide. Therefore the generic limit is , not . Its first derivative is piecewise constant; exceptional affine data, or individual matching neighboring slopes, can be smoother. This conclusion follows directly from the limit formula, not just from a heuristic mask-width test.
An efficient parametric curve interrogation interface should provide the parameter domain and open/closed status, point evaluation, one-sided endpoint enquiries, first and second derivatives wherever defined, and information about knots or singular parameters. It should also restrict a curve to an interval and subdivide it without changing its limit, return a certified bounding volume for that restriction, and supply derivative or chord error bounds when supported. These enquiries allow cheap geometric rejection before expensive exact evaluation. For a subdivision curve, limit evaluation is distinct from returning a vertex of a finite refined control polygon; the latter is usually an approximation.
For a query point , minimize . At a differentiable interior minimizer,
At a regular curve point this says that the query displacement is perpendicular to the tangent vector. If a second derivative exists, the local second-order test is
a strictly positive value is sufficient for a strict local minimum. The stationarity equation alone also includes local maxima and is automatic at , so it cannot be used as the only global search criterion.
A reliable efficient closest-point search on a subdivision curve uses branch and bound. Cover the compact curve by restricted pieces with certified enclosures . For each piece set , a lower bound on its true distance. Distances to actually evaluated limit points give upper bounds; keep the best point and distance . For an axis-aligned bounding box , the squared lower bound is inexpensive:
For positive partition-of-unity refinement, a convex hull of the active control points is an enclosure. A negative-weight scheme requires a separate certified enclosure; its control hull need not contain the limit.
The algorithm is:
  • Initialize the pieces at representation breaks and evaluate endpoints and one or more interior limit points. Place pieces in a priority queue ordered by their .
  • Discard any piece with , since it cannot improve the best known point. If only one nearest point is required, equality may also be discarded; keep equality candidates when all ties matter.
  • Remove the smallest-bound piece. Evaluate new limit points to reduce , subdivide the piece, compute tighter child enclosures, and insert children that can still improve .
  • Use the best chord projection or current candidate to seed a safeguarded Newton root-finding iteration for . Its derivative is . Keep iterates inside the restricted interval, fall back to bisection method on an isolated sign-changing bracket, and accept an improvement only after evaluating its actual curve distance. This is an accelerator; rejection still depends on certified geometric bounds.
  • Terminate when , also regarding the best evaluated point as a retained candidate. If no pieces remain, the evaluated candidate is already optimal relative to the exhausted bounds. Return and with the global distance guarantee.
Because , the reported point is at most farther from than a true nearest point. Include endpoints, nondifferentiable joins, and singular parameters in the candidate bookkeeping, or split them into separate pieces. With enclosures converging in diameter under subdivision on a compact continuous curve, the bounds converge to arbitrary prescribed positive distance tolerance. Interval bounds or outward-rounded arithmetic are needed if the guarantee is intended to be certified in floating-point computation. A single Newton root-finding iteration from a single seed supplies no such global guarantee.
The degree- Bernstein basis on is
The associated Bézier curve is . The basis is nonnegative and has partition of unity, since . Thus the curve is a convex combination of its control points, giving the convex hull enclosure useful for geometric bounds. The same identity makes the construction invariant under application of affine functions.
It interpolates its endpoint controls, , , and its endpoint tangent vectors are and . These follow from
The control polygon therefore gives direct geometric editing and tangent control. Repeated interpolation by the De Casteljau algorithm evaluates and subdivides the curve without converting to a monomial representation. Together, positive geometric weights, simple endpoint behavior and stable subdivision make this basis useful in computer aided geometric design.
Applying the preceding derivative identity repeatedly yields the Bézier derivative control polygon for every order:
where the forward finite difference is and
The induction step multiplies by the remaining degree and takes one more finite difference. Derivatives above order vanish. In particular,
If the actual parameter interval has length and is its normalized coordinate, derivatives in the original parameter acquire the additional factor . These formulas allow derivative evaluation and join tests using only the control polygon.
A useful subdivision curve interrogation supplies the following connected capabilities. It describes the parameter interval, open or closed topology, endpoints and break points; it evaluates the limit point and, where the scheme guarantees them, and ; and it refines or restricts an interval while retaining the mapping to the original parameter. It also provides enclosing bounds and a certified curve-to-chord error on each restricted piece. These are enough to build clipping, intersections, closest-point searches, tangents, curvature and adaptive sampling.
The enquiries concern the subdivision limit, not just a finite refined control polygon. For a stationary local refinement matrix , a limit vertex can be obtained from a normalized left eigenvector , , as . Derivatives use the appropriately scaled difference schemes or equivalent spline evaluation on regular intervals. The convergence and derivative hypotheses must actually hold for the scheme; no second derivative can be requested at an intrinsic crease.
If the subdivision mask is nonnegative and preserves constants, descendants and limit points lie in the relevant control-point convex hull, giving a useful enclosing volume. For subdivision masks with negative weights, that hull need not be an enclosure: the interface must supply another valid bound, for example from a proven refinement-error estimate. This distinction is important for safe spatial rejection in an algorithm.
A subdivision curve should support subdivision curve interrogation rather than merely supply successively larger control polygons. Its interface should provide the parameter interval, orientation and open/closed status; endpoint and limit-point evaluation to a prescribed accuracy; and tangent vector or derivative evaluation where defined. It should be possible to split a parameter interval, commonly at its midpoint, into equivalent restricted curve definitions while retaining all neighboring controls needed by the refinement rule.
For geometric algorithms, request a certified bounding volume for each restricted curve, such as a convex hull or an axis-aligned bounding box, and the minimum and maximum of a plane's linear function over that bound. Request also a certified flatness bound: the maximum distance of the restricted limit curve from its endpoint chord, together with its spatial extent. These allow safe rejection, adaptive drawing and accuracy control. A positive, constant-reproducing subdivision mask often makes a control-point convex hull a valid bound. With negative mask coefficients this must be proved separately or replaced by a padded bound; it cannot simply be assumed.
Further useful enquiries include roots of a scalar function along the curve, closest-point searches, arc length, and inversion of an arc-length parametrization. They can be implemented through evaluation, differentiation, certified bounds and recursive subdivision. Evaluation, restriction, enclosure and error bounds are the essential primitives needed for reliable clipping and rendering; an unqualified control-polygon approximation is insufficient.
Subdivision curve 2026-10-14
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
Vector graphics 2026-10-13
Vector graphics represent a picture by geometric objects and instructions for drawing them: positions, shapes, fills, boundary strokes and transformations. A circle can be stored as a centre and radius; a rectangle as a corner, width and height; a polygon as an ordered list of vertices. These geometric primitives describe whole objects rather than assigning a colour to every pixel. SVG provides elements for such basic shapes and for paths assembled from line segments and curves.[ref]
The useful separation is between the stored geometry and the finite output. A circle of radius 2 remains the same geometric description whether rendered across twenty or two thousand output pixels. This is the sense in which vector graphics are resolution independent: increasing the output grid can evaluate the original geometry again. The resulting raster image still has finite spatial resolution, and numerical coordinates have finite precision. Enlarging a previously rendered raster image through interpolation instead works with its existing samples. Neither operation guarantees that arbitrarily thin details remain visible at every size.
An SVG path uses a current point and drawing commands. For example, M 1 4 L 5 4 L 3 1 Z moves to , draws two line segments, then closes back to the starting point, giving a triangle. Uppercase commands use absolute coordinates; the corresponding lowercase commands use offsets from the current point. Thus M 1 4 l 4 0 l -2 -3 z describes the same triangle. The coordinates belong to the current user Cartesian coordinate system, not necessarily to output pixels.[ref]
For a curved example, the path M 1 4 Q 3 0 5 4 Z uses one quadratic Bézier curve followed by a closing line segment. With control points , and , its curved boundary is
The endpoints are , and ; the interior control point is not a point on the curve. A fill paints the enclosed region, while a stroke paints a band around its boundary with a chosen width. One can use either or both: geometry and paint instructions are distinct.[ref][ref]
Figure 1.
Analytical path illustration: a quadratic Bézier boundary and its affine image
. Details.
The first illustration uses increasing downward, following the initial SVG coordinate convention. Its dashed control polygon guides the eye; it is not part of the filled path. Apply the affine map
This combines horizontal scaling, a shear mapping and a translation. The transformed control points are , and , giving the path M 4.5 5 Q 5.5 1 10.5 5 Z. Its curved midpoint is . The affine equivariance of a geometric basis explains why transforming only the control points transforms the entire Bézier curve: its weights sum to one, so the translation is added exactly once. The enclosed area is before transformation and afterwards. These checks concern the filled region, excluding the width of any stroke.
An SVG viewBox specifies a rectangle in user coordinates to map into a display region. For example, viewBox="0 0 6 6" in a square viewport of 120 by 120 display units gives a scale of 20 display units per user unit; in a square viewport of 600 by 600 it gives 100. The path's control points need not change. For unequal proportions, preserveAspectRatio controls whether the mapping preserves proportions or stretches the axes separately. These display units need not correspond one for one to physical display pixels.[ref][ref]
Rasterization converts the geometric drawing into a raster image on a chosen grid. Deciding whether each pixel centre lies inside a filled region is a simple rule, but a moving diagonal boundary can make entire pixels switch abruptly. Antialiasing reduces these sampling artifacts by accounting for a footprint around each sample, rather than treating every pixel as a single inside-or-outside decision. This connects vector graphics to raster sampling and reconstruction and aliasing; a finer grid and a better sampling rule solve different parts of the problem.
For an exact analytical model, fill the region . For a square pixel footprint , let
Here is geometric coverage, and is relative luminance for ideal opaque neutral shades, with and . The intersection and area determine how much of the footprint is covered. This is a specified area-average model, not a claim that every SVG renderer uses exact coverage. The SVG shape-rendering property supplies rendering hints and permits implementation tradeoffs, including disabling antialiasing for some choices.[ref]
Figure 2.
Analytical rasterization model: pixel-centre decisions versus exact coverage on two grids
. Details.
On the grid of unit squares, has coverage , whereas the pixel centre lies inside and gives coverage 1 under the centre rule. The adjacent square has coverage but its centre lies outside. The entire filled area is . Summing exact coverage times cell area gives this value on both the and grids; the coarse centre rule instead gives 10. Coverage values are displayed after sRGB encoding of the modeled relative luminance. The thin coloured line is a geometry overlay, not an extra sampled stroke. Enlarging the middle panel by nearest-neighbor interpolation would repeat its sixteen values; re-rendering the geometry produces the 256 independently evaluated footprints in the right panel. Antialiasing reduces abrupt edges but cannot make a finite grid preserve every geometric detail.
The attractive feature of vector graphics is editability at the level of intent: move one control point to bend a boundary, change a circle's radius, or transform a whole diagram while keeping its parts aligned. Logos, technical diagrams and outline fonts benefit because their structure can be expressed with relatively few shapes and curves. A complicated photograph may require enormous geometric detail, so vector graphics do not imply a smaller file than raster graphics. Nor does an SVG container guarantee that every object is vector geometry: its image element can embed or reference a PNG raster image. Transforming that embedded raster image changes its placement and reconstruction, but does not recover missing original detail.[ref]