1 Knot vector basics
1.1 Definition and notation
A knot vector is an ordered list of real parameter values used to construct spline spaces. In B-spline theory, a knot vector is typically denoted \[ U=(u_0,u_1,\dots,u_m), \] where the degree of the spline is commonly written as \(p\) and the number of basis functions is determined by the length of \(U\). In B-splines and NURBS, the knot vector partitions the parameter domain and prescribes where polynomial pieces meet, thereby shaping both the basis functions and the resulting spline curves or surfaces.
1.2 Nondecreasing sequence and parametric domain
By definition, a knot vector is nondecreasing: \[ u_0 \le u_1 \le \cdots \le u_m. \] The parameter values \(u\) live on a one-dimensional parametric domain, usually taken as the interval from the first knot with nontrivial span to the last. Repeated values are allowed and have special meaning: they create effectively shorter spans and can reduce smoothness at those parameter locations.
1.3 Relationship to spline degree and number of control points
For a B-spline of degree \(p\), the knot vector length \(m+1\) determines the number of control points \(n+1\) (or basis functions). A common relationship is \[ m = n+p+1, \] so once \(p\) and the knot vector are fixed, the control point count follows. This linkage is practical: designers often choose a degree first, then pick a knot vector structure that yields the intended number of degrees of freedom.
1.4 Knot multiplicity and segment interpretation
Knot multiplicity refers to how many times a particular parameter value appears in the knot vector. If a knot value \(u_k\) is repeated \(r\) times, the local behavior changes: polynomial pieces still span the relevant parameter intervals, but continuity at that knot generally decreases as multiplicity increases. In many geometric modeling workflows, this is interpreted as creating more “handles” or flexibility concentrated near the knot location, while also allowing less smooth joins when multiplicity is high.
2 Knot insertion and refinement
2.1 Concept of knot insertion
Knot insertion increases the number of knots without changing the geometric shape when control points are updated appropriately. Conceptually, it refines the spline representation by introducing additional parameter breaks while preserving the curve (or surface) as a function of the parameter. This is a fundamental operation for mesh refinement, multi-resolution modeling, and error control in numerical methods.
2.2 Algorithmic effect on control points
Given a B-spline curve and a knot value to insert, the standard knot insertion procedure computes new control points through linear combinations of existing ones. The updates distribute influence locally: only a subset of control points changes, typically those whose associated basis functions have support overlapping the inserted knot. This locality property enables refinement without global recalculation.
2.3 Local support and locality of refinement
Because B-spline basis functions have compact support determined by the knot vector, refining by inserting knots affects only nearby control points. The span of influence is controlled by the degree \(p\): basis functions cover intervals spanning \(p+1\) knot steps (with length measured in parameter space). As a result, adding knots refines resolution locally rather than uniformly across the entire curve.
2.4 Knot refinement and preserving the geometry
Refinement can be performed repeatedly to increase approximation power or to align spline parameterizations with analysis grids. When implemented with the established knot insertion formulas, the refinement preserves the spline exactly as a function in the original parameter domain. In practice, the refinement is therefore used to change representational granularity while maintaining fidelity to the intended geometry.
3 Spline basis functions derived from knot vectors
3.1 B-spline basis functions
B-spline basis functions form a set of nonnegative, partition-of-unity functions indexed by control point positions. Each basis function is determined by the degree \(p\) and the knot vector \(U\). For an index \(i\), the basis function \(N_{i,p}(u)\) is defined to be nonzero only over a limited interval of \(u\), which is governed by knots \(u_i,\dots,u_{i+p+1}\). This compact support is a major reason B-splines are efficient for computation.
3.2 Cox–de Boor recursion
The standard construction of B-spline basis functions uses the Cox–de Boor recursion. In the base case (degree 0), the basis functions are piecewise constants over knot spans; for higher degrees, each basis function is expressed as a weighted combination of lower-degree basis functions. The weights depend on ratios involving knot differences, so the knot vector directly controls how each basis function blends across neighboring spans.
3.3 Support, span, and evaluation over parameter intervals
Each basis function occupies a contiguous region of the parameter domain. Its effective interval is often described as the span \([u_i, u_{i+p+1})\) (with endpoint conventions depending on the definition). For evaluation, one first identifies which knot span contains the query parameter \(u\), then computes only the basis functions with support covering that span. This reduces complexity from global to local evaluation.
3.4 Continuity of basis functions and spline curves
Continuity properties of the basis functions transfer to the spline curve built from them. The differentiability order at a knot location depends on both the degree and the multiplicity. As knots become repeated more times, basis functions can lose smoothness at that location, and the assembled spline reflects the same continuity limitations. Thus, knot vectors serve as the mechanism for prescribing where and how smooth the final curve is.
4 Continuity and smoothness properties
4.1 Continuity order vs. knot multiplicity
For a spline of degree \(p\), the continuity class at a knot with multiplicity \(r\) is often characterized by \[ C^{p-r} \] when \(r \le p\). If \(r=p+1\), the continuity at that point drops to \(C^{-1}\), meaning the curve is generally only piecewise defined with no guaranteed smooth joining. This relationship provides direct control: increasing multiplicity locally decreases smoothness in a predictable way.
4.2 Derivative continuity across knots
Beyond function values, the continuity level determines how derivatives match across knot locations. If a spline is \(C^k\) at a knot, then derivatives up to order \(k\) agree from left and right, while higher-order derivatives may be discontinuous. This matters in applications requiring curvature continuity (for example, avoiding visual artifacts from sharp transitions) or for ensuring consistent derivatives in simulation and optimization.
4.3 Special cases: simple vs repeated knots
A “simple” knot refers to a knot value appearing once (multiplicity 1). For interior simple knots and typical constructions, smoothness is relatively high: the spline maintains most derivative continuity allowed by its degree. In contrast, repeated knots can deliberately introduce features such as corners, cusps, or reduced curvature continuity—depending on how many times the value is repeated and how the remaining knots are arranged.
4.4 End conditions and clamping
End conditions are commonly managed using clamped (open) knot vectors, where the first and last knot values are repeated \(p+1\) times. This arrangement forces the curve to interpolate the first and last control points and ensures a well-defined parameter domain where the basis functions behave consistently at the ends. Unclamped or other knot choices can yield different endpoint behavior, such as curves that do not pass through the end control points.
5 Construction of standard knot vectors
5.1 Uniform knot vectors
Uniform knot vectors use a constant step size between successive interior knots. In such cases, knot spans are equal in parameter length, and basis functions exhibit regular, repeating structure. Uniformity simplifies setup and can be suitable for evenly parameterized problems, but it may not reflect geometric or physical variation across the curve if the parameterization is poorly matched to the actual shape.
5.2 Clamped (open) knot vectors
Clamped knot vectors repeat the end knots so that the curve starts and ends with controllable interpolation behavior. The interior knots may be uniform or follow another spacing rule. This structure is widely used in CAD and modeling pipelines because it provides predictable endpoint interpolation and reduces surprises when adjusting control points near boundaries.
5.3 Periodic knot vectors
Periodic knot vectors are designed for closed or seamlessly wrapping curves, where the spline and its derivatives should match at the join point. Achieving periodic behavior involves aligning control points and knot repetition so that the basis functions wrap around consistently. Periodicity is useful in designing closed trajectories or ring-like shapes without discontinuities at the seam.
5.4 Chord-length and centripetal parameterization links
When knot vectors are created from sampled data points, parameter values can be assigned using chord-length or centripetal rules. These methods aim to distribute parameter spacing in a way correlated with geometry: chord-length uses distances along the polyline, while centripetal uses a square-root scaling to reduce clustering in regions of high curvature. Once a parameter sequence is created, it is converted into knots (often with interpolation or averaging procedures) to form the B-spline or NURBS representation.
6 NURBS and rational splines
6.1 Role of knot vectors in NURBS
In NURBS, the knot vector retains the same central role as in B-splines: it defines the non-rational B-spline basis functions that are later blended with weights. The geometry of the curve or surface is influenced both by these basis functions (through knot locations and multiplicities) and by rational weights that modify how those basis functions contribute to the final result.
6.2 Rational basis weights and parameter mapping
NURBS represent points as weighted combinations of control points in homogeneous coordinates. For a curve, the rational form typically produces a numerator as a sum of weighted control points times basis functions and a denominator as a sum of weights times basis functions. While the weights affect the shape, the knot vector determines where the influence of each control point is active via the basis function supports, and therefore governs how local changes and continuity behave.
6.3 Continuity considerations for NURBS surfaces
For surfaces, knot multiplicity influences continuity along parameter directions in the same broad way as for curves, but the rational formulation introduces additional coupling between weights and geometry. In general, continuity across a knot line is still governed by the knot vector structure and the degree, although curvature and visual smoothness can be affected by the distribution of weights. As a result, designers often adjust knots (for smoothness placement) and weights (for shape control) together.
6.4 Compatibility with trimming and representation workflows
Many modeling systems represent NURBS patches that are later trimmed by trimming curves. Since trimming may subdivide parameter domains, knot vector structure becomes relevant for ensuring consistent evaluation and refinement near boundaries. Knot insertion is commonly used to align knot lines with trimming edges or to improve numerical robustness when computing intersections, evaluating fields, or exporting to different formats.
7 Numerical and computational considerations
7.1 Efficient basis evaluation strategies
Efficient evaluation relies on restricting computations to the knot span that contains the parameter value and the few basis functions with nonzero support there. Algorithms often use span-finding (searching for the relevant interval) followed by recurrence evaluation restricted to a window of indices. For repeated evaluations (such as in rendering or simulation), preprocessing can further reduce cost.
7.2 Handling degenerate spans and repeated values
Repeated knots can create zero-length knot spans, which must be treated carefully in recursion formulas that involve knot differences. Robust implementations explicitly detect these cases to avoid division by zero and to ensure that the resulting basis functions behave correctly. This is particularly important in adaptive refinement, where many knots may be inserted and multiplicities can grow.
7.3 Stability when inserting many knots
Repeated refinement increases the size of the knot vector and can lead to numerical growth in intermediate quantities. Stable implementations manage floating-point errors by using well-conditioned recurrence forms, appropriate scaling, and careful ordering of operations. In high-refinement scenarios, maintaining geometry exactly after insertion (within numerical tolerance) is typically a validation target.
7.4 Data structures for storing knot vectors
Practical computations require storing knot values and supporting fast span queries. Common approaches include arrays of knot values with binary search for span identification, along with auxiliary indexing for repeated queries. For large-scale models, more advanced structures can cache span results or maintain hierarchical representations that reduce search time and memory pressure.
8 Common applications
8.1 CAD and geometric modeling
In CAD, knot vectors provide a way to control where a surface or curve is smooth and where it can form edges or features. By selecting knot multiplicities and distributions, designers can manage curvature continuity, ensure endpoint interpolation, and tune local behavior without affecting distant parts of the geometry. Knot insertion and refinement also support operations like degree elevation alignment, trimming preparation, and reparameterization.
8.2 Isogeometric analysis workflows
Isogeometric analysis uses NURBS and related splines as both geometry representation and approximation space for partial differential equations. Knot vectors are central because they define the basis functions used to build system matrices and to refine the solution space. Refinement via knot insertion enables adaptive strategies and systematic h-/p- convergence studies while keeping geometry exact under refinement.
8.3 Motion paths and parametric curve design
In motion planning and animation, spline curves provide smooth trajectories parameterized over time or another progression variable. Knot vectors influence how quickly a path changes direction and how smooth transitions appear. By adjusting knot placement and multiplicities, designers can create dwell-like behavior near certain regions (with reduced smoothness) or enforce high derivative continuity for physically plausible motion.
8.4 Interpolation vs approximation using splines
Knot vectors can be used in both interpolation-oriented and approximation-oriented spline construction. In interpolation contexts, knot placement and multiplicity may be selected to satisfy endpoint or data constraints, while approximation approaches typically choose knot distributions to achieve a desired smoothness and fit quality. In both cases, the chosen knot vector structure shapes the balance between fidelity to data and smoothness of the resulting curve.