1 Definition and basic formulation

1.1 Parametric form of Bézier curves

A Bézier curve is defined as a parametric polynomial curve. For control points \(P_0, P_1, \dots, P_n\) in a vector space (typically \(\mathbb{R}^2\) or \(\mathbb{R}^3\)), the curve is expressed in terms of a parameter \(t\) that ranges over an interval, conventionally \(t\in[0,1]\). The result is a smooth trajectory that depends continuously on both the parameter and the control points, making it suitable for interactive shaping in graphics and animation.

1.2 Control points and geometric intuition

The control points do not, in general, lie fully on the curve (except for the endpoints). Instead, they act as “handles” that influence the curve’s position and direction. Moving a control point locally affects the curve, with stronger influence near corresponding parameter regions, especially for low-degree curves. This intuitive behavior underlies the widespread use of Bézier curves in vector illustration and motion design.

1.3 Bernstein polynomial basis

The classical Bézier formulation uses Bernstein polynomials as blending functions. The \(i\)-th Bernstein basis polynomial of degree \(n\) is \[ B_i^n(t)=\binom{n}{i} t^i (1-t)^{n-i}. \] A degree-\(n\) Bézier curve is then \[ \mathbf{B}(t)=\sum_{i=0}^{n} B_i^n(t)\,P_i,\quad t\in[0,1]. \] Because the basis functions are nonnegative on \([0,1]\) and sum to 1, the curve can be interpreted as a weighted average of control points, leading to several useful geometric properties.

1.4 De Casteljau’s algorithm

De Casteljau’s algorithm provides a constructive method to evaluate Bézier curves and to derive intermediate points. It repeatedly linearly interpolates between control points using the parameter \(t\), producing a triangular array of points whose final value equals \(\mathbf{B}(t)\). Besides offering a numerically stable evaluation route, the same algorithm yields subdivisions, since the interpolation structure can be reused to compute curve pieces over sub-intervals.

1.5 Degree, order, and parameter domain

The degree \(n\) determines how many control points are used: a degree-\(n\) Bézier curve has \(n+1\) control points. The term “order” is sometimes used to mean the number of control points or one plus the degree, so conventions can vary between contexts; careful reading of a specification is important. The standard parameter domain is \(t\in[0,1]\), though affine reparameterizations can map other parameter ranges to the same curve geometry.

2 Common types of Bézier curves

2.1 Linear Bézier curves (degree 1)

A degree-1 Bézier curve uses two control points \(P_0\) and \(P_1\): \[ \mathbf{B}(t)=(1-t)P_0+tP_1. \] It is simply the straight line segment between the endpoints. The simplicity makes it useful as a building block in piecewise representations and for understanding baseline properties like endpoint interpolation.

2.2 Quadratic Bézier curves (degree 2)

With three control points \(P_0, P_1, P_2\), a degree-2 curve has the form \[ \mathbf{B}(t)=(1-t)^2P_0+2t(1-t)P_1+t^2P_2. \] The curve interpolates \(P_0\) at \(t=0\) and \(P_2\) at \(t=1\). The middle control point \(P_1\) governs the “bulge” and influences tangents at the endpoints, allowing smooth, single-arc shapes without needing higher degree.

2.3 Cubic Bézier curves (degree 3)

A degree-3 Bézier curve uses four control points \(P_0, P_1, P_2, P_3\). It is the most common choice in vector graphics because it balances expressiveness and computational practicality: \[ \mathbf{B}(t)=(1-t)^3P_0+3t(1-t)^2P_1+3t^2(1-t)P_2+t^3P_3. \] Cubic curves provide adjustable tangents at both endpoints using the two interior control points, making them well suited for smooth path segments in design tools.

2.4 Higher-degree Bézier curves

For degree \(n>3\), Bézier curves use more control points and can represent more complex shapes. While they offer additional flexibility, they may exhibit increased numerical sensitivity and can behave less predictably when control points are moved arbitrarily. For these reasons, many software systems prefer keeping degrees low and using segmentation or conversion strategies for complexity.

2.5 Rational Bézier curves (overview)

Rational Bézier curves extend the polynomial Bézier form by introducing weights \(w_i\) for each control point \(P_i\). The curve becomes \[ \mathbf{R}(t)=\frac{\sum_{i=0}^{n} B_i^n(t) w_i P_i}{\sum_{i=0}^{n} B_i^n(t) w_i}. \] By choosing weights appropriately, rational Bézier curves can represent conic sections exactly (such as circles and ellipses) and are the conceptual bridge toward NURBS. The parameter \(t\) still ranges over \([0,1]\), but the geometry is governed by the weighted blending.

3 Key geometric and analytic properties

3.1 Endpoint interpolation and boundary behavior

A fundamental feature is endpoint interpolation: \(\mathbf{B}(0)=P_0\) and \(\mathbf{B}(1)=P_n\). This follows directly from the Bernstein basis values at the boundaries. Additionally, the curve’s local behavior near the endpoints is controlled by the adjacent control points, making endpoint constraints easy to impose in modeling workflows.

3.2 Tangent and curvature control

For a degree-\(n\) Bézier curve, the first derivative at the ends is determined by \(P_1-P_0\) and \(P_n-P_{n-1}\). Consequently, the directions of tangents at \(t=0\) and \(t=1\) can be set by choosing the first interior control point and the last interior control point. Higher-order derivatives are similarly expressible in terms of control point differences, enabling nuanced control of “bending” and curvature without solving separate differential constraints.

3.3 Convex-hull property

For \(t\in[0,1]\), each Bernstein basis polynomial is nonnegative and the basis sums to 1. Therefore \(\mathbf{B}(t)\) lies within the convex hull of the control points \(\{P_0,\dots,P_n\}\). This property is especially valuable for reasoning about bounds, collision-like tests, and rendering optimizations: the curve cannot wander outside the region spanned by its handles.

3.4 Variation diminishing property

The variation diminishing property states that, under certain conditions and in particular coordinate directions, the number of times the curve can cross a line is no greater than that of the control polygon. Intuitively, Bézier curves do not “oscillate” more than their control structure suggests. This behavior is tied to the shape-preserving nature of Bernstein bases and supports stable geometric processing.

3.5 Self-intersection and shape constraints

Bézier curves can self-intersect, especially at higher degrees or with certain control point configurations. Unlike curves constrained to be simple (non-self-intersecting), a general Bézier curve does not guarantee simplicity. Shape constraints typically require additional techniques, such as limiting degree, using monotonicity checks, or adopting specialized curve classes and construction rules.

4 Evaluation and computation

4.1 Direct Bernstein evaluation

The most direct way to compute \(\mathbf{B}(t)\) is to evaluate the Bernstein basis polynomials and form the weighted sum of control points. This approach is straightforward and easy to implement, but in finite-precision arithmetic it may accumulate rounding errors, particularly for high degrees or when \(t\) is near the ends of the interval.

4.2 De Casteljau numerical stability

De Casteljau’s algorithm tends to be numerically robust because it relies on repeated linear interpolation rather than high-degree polynomial expressions. Each interpolation step combines nearby values in a controlled manner. As a result, it is frequently used in practical libraries for both evaluation and geometric operations such as subdivision.

4.3 Computational complexity considerations

The computational cost of evaluating a degree-\(n\) Bézier curve grows with degree. Direct Bernstein evaluation uses \(O(n)\) basis evaluations and weighted sums, while De Casteljau’s triangular interpolation structure uses about \(O(n^2)\) linear interpolations. In many real-time scenarios, optimizations and caching strategies mitigate the difference, especially when multiple evaluations are required.

4.4 Floating-point and error behavior

Because calculations are performed with floating-point numbers, rounding errors are unavoidable. Potential issues include cancellation when terms nearly balance, or loss of significance when subtracting similar values in derivative computations. Libraries often address these concerns by using numerically stable evaluation paths (commonly De Casteljau), selecting tolerances for convergence in iterative methods, and avoiding excessively large degrees.

4.5 Implementation patterns in software

Common implementation patterns include:

  • Using De Casteljau for evaluation when stability is prioritized.
  • Representing control points as vectors and performing interpolation with small helper routines.
  • Providing functions for common operations (evaluation, derivatives, splitting) that share intermediate computations.

In vector design software and rendering engines, Bézier primitives are typically managed in piecewise form, with adaptive tessellation or sampling based on curvature and display requirements.

5 Subdivision and refinement

5.1 Splitting a Bézier curve into two

Subdivision expresses a Bézier curve segment as two Bézier curves defined on \([0,t_0]\) and \([t_0,1]\). Both sub-curves share the same point at \(t=t_0\), ensuring geometric continuity. This capability is central to many algorithms that rely on recursive refinement, such as intersection finding and adaptive curve-to-polyline conversion.

5.2 Subdivision via De Casteljau

De Casteljau’s algorithm naturally supports splitting. During its interpolation cascade, the intermediate points at each level correspond to control polygons for the left and right pieces. Reusing these computed intermediates avoids redundant work and ensures that the resulting sub-curves are mathematically consistent with the original.

5.3 Degree elevation and its effects

Degree elevation rewrites a degree-\(n\) Bézier curve as an equivalent degree-\((n+1)\) curve, increasing the number of control points while preserving the exact geometry. Elevated curves can be helpful when aligning curves of different degrees or when combining pieces in algorithms that assume uniform degree. The operation modifies control points in a systematic way derived from Bernstein basis identities.

5.4 Adaptive refinement strategies

Adaptive refinement selects where and how much to subdivide based on an error metric, such as deviation from a straight line or agreement with a target tolerance in screen space. Because curve complexity varies along the parameter domain, uniform sampling can waste computations in nearly straight regions. Adaptive strategies concentrate work where curvature or shape changes are more pronounced.

5.5 Piecewise Bézier representations

Many practical path systems represent complex shapes as sequences of Bézier segments, often with continuity constraints (such as \(C^0\) or \(C^1\)) at joins. Piecewise representation allows large drawings to be edited and rendered efficiently, while ensuring that each segment stays within a manageable degree range for stable computation.

6 Derivatives and motion along the curve

6.1 First derivative and velocity interpretation

The first derivative \(\mathbf{B}'(t)\) is a polynomial vector that describes how the curve changes with respect to parameter. In motion contexts, \(\mathbf{B}'(t)\) is often interpreted as velocity direction, though its magnitude depends on the parameterization rather than physical time. Since \(\mathbf{B}'(t)\) can be expressed using differences of control points, endpoint tangents can be computed directly from the control polygon.

6.2 Second derivative and acceleration interpretation

The second derivative \(\mathbf{B}''(t)\) relates to how the tangent direction changes along the curve. In kinematic interpretations, it corresponds to acceleration under parameterized time. Again, \(\mathbf{B}''(t)\) can be derived from control point differences of the first derivative’s control polygon, which enables efficient computation for animation and for curvature estimation.

6.3 Tangent direction and normal concepts

From \(\mathbf{B}'(t)\), a unit tangent direction can be formed by normalization (when \(\mathbf{B}'(t)\neq 0\)). The normal direction is derived from the tangent in a chosen geometric setting, such as planar curves where a perpendicular vector provides a consistent normal candidate. These directions are central for tasks like orienting objects along a path or generating offset curves.

6.4 Curvature basics for Bézier curves

Curvature measures how quickly the curve’s direction changes with arc length. For planar curves, curvature can be expressed using \(\mathbf{B}'(t)\) and \(\mathbf{B}''(t)\), often as a ratio involving their magnitudes and the 2D cross-product analogue. High curvature regions typically indicate where Bézier curves bend sharply, which guides adaptive tessellation and motion planning.

6.5 Arc-length approximation approaches (overview)

Exact arc length of a general Bézier curve lacks a closed form for most degrees. Approximations often compute cumulative distances by sampling \(\mathbf{B}(t)\) at discrete parameter values, using recursive subdivision, or employing numerical integration of \(\|\mathbf{B}'(t)\|\). For applications needing uniform motion in space, arc-length parameterization is approximated so that steps in \(t\) correspond more closely to steps along the curve.

7.1 Intersections of Bézier curves (overview)

Finding intersection points between Bézier curves generally reduces to solving for parameter pairs \((t,u)\) such that \(\mathbf{B}(t)=\mathbf{C}(u)\). Since this equality leads to polynomial systems, direct algebraic solutions are feasible only in limited cases. In practice, geometric methods based on subdivision and bounding regions are more common.

7.2 Bounding boxes and pruning (conceptual)

A typical strategy encloses curve pieces in simple shapes, such as axis-aligned bounding boxes, and prunes branches that cannot contain intersections. While bounding boxes may be loose, they are cheap to compute. Tighter bounds can reduce recursion depth, but at added computational cost. The goal is to eliminate non-intersecting regions efficiently.

7.3 Recursive subdivision for intersection finding

Recursive subdivision repeatedly splits both curves into smaller segments and checks bounding regions at each recursion level. When bounding volumes overlap, the algorithm descends further; when they do not, it discards the branch. Eventually, segments become small enough that intersection locations can be approximated, or they can be refined further by local root finding.

7.4 Containment and overlap testing (conceptual)

Beyond intersections, algorithms often need to test whether one curve segment lies within or overlaps a region. Conceptual methods use convex-hull containment and bounds derived from control polygons. Since Bézier curves lie in the convex hull of their control points, hull-based reasoning can support overlap tests, although it may be conservative depending on hull tightness.

7.5 Robustness considerations

Robustness requires careful handling of numerical tolerances, especially near tangencies where intersection multiplicity can make bounding tests ambiguous. Implementations typically:

  • Use adaptive termination criteria based on segment size or error bounds.
  • Apply tolerances when deciding whether two segments “meet.”
  • Avoid infinite recursion through maximum depth limits.

These choices improve reliability across a wide range of curve configurations.

8 Bézier curves in design and graphics pipelines

8.1 Segments in vector graphics (e.g., paths)

In vector graphics, a path is commonly a sequence of Bézier segments forming a closed or open outline. Artists and tools specify endpoints and control handles, and the software computes the curve geometry for rendering and hit-testing. The ability to edit control points interactively makes Bézier curves a standard primitive in many design formats.

8.2 Compatibility with spline-based workflows

Bézier segments can serve as intermediates within spline workflows. Some systems build higher-level spline objects by composing Bézier pieces, while others convert between curve types to meet the needs of editing, rendering, or animation. Compatibility is aided by operations like degree elevation and subdivision, which allow consistent segment handling.

8.3 Converting between representations (overview)

Conversion may include:

  • Bézier to polyline for rendering or stroking.
  • Bézier degree elevation to match degrees across segments.
  • Bézier to spline forms for certain editing tools.

Because different representations store different information, conversions often involve approximations (for polygonal forms) or exact algebraic transformations (for degree changes).

8.4 Rendering considerations and tessellation

Rendering typically converts Bézier curves into primitives supported by the graphics pipeline, commonly line segments or triangles. Tessellation quality depends on tolerance settings related to screen resolution and curvature. For strokes, additional steps handle offsetting and join styles, and for fills, tessellators must generate non-overlapping geometry while tracking curve winding.

8.5 Practical authoring tools and controls

Authoring tools usually expose control points, handle types, and constraints. Common features include snapping, smoothing, and automatic handle adjustments to maintain certain continuity at joins. Toolchains also provide conveniences like editing in local coordinate systems and maintaining consistent curve behavior across zoom levels through adaptive sampling.

9 Relationship to other curve models

9.1 Connection to B-splines and NURBS (overview)

B-splines generalize Bézier curves by using piecewise polynomial segments with a knot vector, often improving local control and reducing the need for high-degree single segments. NURBS extend B-splines by adding rational weights, generalizing rational Bézier curves. Bézier curves can be viewed as a special case of these broader frameworks under particular knot and basis choices.

9.2 Curve degree and control point transformations

Transformations between curve models often involve mapping control points across different basis functions. For example, converting a spline segment into Bézier form yields control points that differ from the original control net but preserve the same geometric path over a parameter interval. These transformations are typically exact when the segments represent the same polynomial space.

9.3 Affine invariance and coordinate changes

Bézier curve geometry is preserved under affine transformations. If all control points are transformed by an affine map, the resulting curve is the affine image of the original curve. This invariance is useful in graphics pipelines, where coordinate system changes, scaling, and shearing are frequent, and it supports consistent behavior across different rendering contexts.

9.4 Bézier curves vs. Hermite splines (overview)

Hermite splines specify not only positions but also derivatives at endpoints (tangent vectors), rather than blending control points directly. Both Bézier and Hermite formulations can represent similar polynomial curves over a segment. Conversion between them is possible by relating the tangent constraints to the interior control points in the Bézier representation, allowing toolchains to choose whichever form best matches the user interface or algorithmic needs.