Fact-checked by Grok 2 weeks ago

De Boor's algorithm

De Boor's algorithm is a recursive for evaluating univariate basis functions and the associated spline curves at a given parameter value, providing an efficient and stable alternative to direct computation via the defining recurrence relations. Introduced by mathematician Carl R. de Boor in 1972, it generalizes the de Casteljau algorithm used for Bézier curves, extending its triangular evaluation scheme to the knot-based structure of B-splines while maintaining similar of O(k^2) operations, where k is the polynomial degree. The algorithm proceeds by constructing a triangular of intermediate values, starting from the control points and knot sequence, iteratively refining them toward the desired evaluation point through barycentric combinations adjusted for knot multiplicities. This process not only yields the curve point but also supports extensions for computation, knot insertion, and curve manipulation without global recomputation, leveraging the local property of B-splines. De Boor's original emphasized practical for approximation theory, including stable handling of multiple knots and avoidance of ill-conditioned divided difference tables. In computer-aided geometric design (CAGD) and , De Boor's algorithm underpins the widespread use of B-splines for modeling smooth, flexible curves and surfaces in applications such as CAD software, , and scientific visualization. Its numerical robustness has made it a standard in spline libraries and toolkits, influencing subsequent developments in multivariate splines and tensor-product surfaces. Detailed expositions appear in de Boor's comprehensive text A Practical Guide to Splines, which elaborates on its role in spline computation packages.

Introduction

Purpose and Overview

De Boor's algorithm is a for evaluating curves at a specified parameter value u using a given knot vector and control points. Developed by Carl de Boor, it computes the curve point through an iterative process that assembles the spline value from relevant basis functions and coefficients. , as piecewise polynomial functions, form the basis for representing smooth, flexible curves in fields such as computer-aided geometric design (CAGD) and . The core purpose of the algorithm lies in enabling efficient and numerically stable spline evaluation, which is crucial for tasks like curve interpolation, , and in and graphics applications. One of the algorithm's primary advantages is its polynomial-time execution, requiring O(p^2) operations for a of degree p, which scales well for practical computations without excessive overhead. It also exploits the local support inherent to s, limiting the evaluation to only p+1 control points near the parameter u, thereby isolating computations and minimizing global impacts during design iterations. This locality, combined with inherent from the B-spline basis's well-conditioned properties, ensures reliable results even for ill-conditioned knot distributions or higher degrees. Compared to direct summation of basis functions—which becomes inefficient and prone to rounding errors for high degrees due to repeated evaluations of individual bases—de Boor's algorithm employs a recursive that reuses intermediate results, achieving superior efficiency and robustness. This approach avoids the in operations associated with naive methods, making it the standard for spline evaluation in modern software libraries.

Historical Development

De Boor's algorithm originated from de Boor's early work on splines starting in the during his time at the General Motors Research Laboratories in , where he joined in 1960 after a brief stint at Harvard and began exploring spline functions for numerical applications. De Boor, who earned his PhD from the in 1966 under Robert C. F. Bartels, focused his dissertation on projection methods utilizing B-splines, laying foundational work for efficient spline computations amid the era's expanding interest in approximation theory. He continued this research at from 1966. The algorithm emerged to address the need for numerically stable evaluation of B-splines in numerical analysis, providing a recursive method that avoided ill-conditioned direct computations and supported the growing demand for reliable spline approximations in scientific computing. De Boor formalized the approach in his seminal 1972 paper "On Calculating with B-Splines," published in the Journal of Approximation Theory, which detailed the recursive evaluation procedure and its stability properties. This work built on related efforts, including a contemporaneous paper by M. G. Cox on B-spline evaluation, leading to the algorithm's alternative designation as the de Boor-Cox algorithm. He further elaborated on practical implementations in his 1977 SIAM Journal on Numerical Analysis paper "Package for Calculating with B-Splines" and comprehensively documented it in his 1978 book A Practical Guide to Splines, revised in 2001 to incorporate subsequent advancements. By the 1970s, de Boor's algorithm gained prominence in computer-aided geometric design (CAGD), integrating seamlessly with representations for curve and surface modeling, as recognized in early works by researchers like Eric Barnhill and Richard Riesenfeld who adapted it for geometric applications. The method, named after de Boor, generalized Paul de Casteljau's 1959 recursive algorithm for , extending its efficiency to more flexible spline structures. De Boor's contributions to splines, including this algorithm, earned him election to the in 1993 for advancements in , particularly the of spline approximations.

B-spline Fundamentals

Definition and Key Properties

B-splines, or basis splines, form the foundational elements for representing smooth and surfaces in computer-aided . A B-spline curve of degree p is defined as a of control points P_i weighted by normalized B-spline basis functions N_{i,p}(u), expressed as C(u) = \sum_{i=0}^{n} N_{i,p}(u) P_i, where u is the parameter in the interval [u_p, u_{m-p}], n+1 is the number of control points, and the basis functions ensure the curve's smoothness and approximation properties. The basis functions are constructed using a knot vector U = \{u_0, u_1, \dots, u_m\}, a non-decreasing sequence of m+1 real numbers called knots, which partition the parameter domain and determine the curve's continuity at knot values; higher knot multiplicity reduces smoothness at those points. The B-spline basis functions of degree p are defined recursively, starting with the degree-zero case: N_{i,0}(u) = \begin{cases} 1 & \text{if } u_i \leq u < u_{i+1}, \\ 0 & \text{otherwise}. \end{cases} For k = 1, 2, \dots, p, N_{i,k}(u) = \frac{u - u_i}{u_{i+k} - u_i} N_{i,k-1}(u) + \frac{u_{i+k+1} - u}{u_{i+k+1} - u_{i+1}} N_{i+1,k-1}(u), with the understanding that the fraction is zero if the denominator is zero. B-spline basis functions exhibit several key properties that make them suitable for curve design. They satisfy the partition of unity, meaning \sum_{i=0}^{n} N_{i,p}(u) = 1 for all u in the domain, ensuring the curve lies within the convex hull of the control points. Additionally, the basis functions are non-negative, N_{i,p}(u) \geq 0, which preserves the convex hull property: C(u) is always a convex combination of the P_i. This local support arises as a direct consequence of the knot structure, limiting each basis function's influence to a small interval. B-splines can be uniform or non-uniform depending on the knot spacing. Uniform B-splines have equally spaced interior knots, simplifying computations but offering less flexibility for local adjustments, while non-uniform B-splines allow variable knot spacing for greater control over the curve shape. To achieve endpoint interpolation—where the curve passes through the first and last control points—an open knot vector is used, with knots repeated p+1 times at both ends (e.g., U = \{0, \dots, 0, u_p, \dots, u_{m-p}, 1, \dots, 1\} with p+1 zeros and ones), ensuring C(u_p) = P_0 and C(u_{m-p}) = P_n.

Local Support

The local support property of B-spline basis functions is a fundamental characteristic that ensures each basis function N_{i,p}(u) is nonzero only over a finite interval determined by the knot sequence. Specifically, N_{i,p}(u) > 0 if and only if u_i \leq u < u_{i+p+1}, where p is the of the B-spline and \{u_i\} denotes the knot vector. This confines the influence of each basis function to exactly p+1 consecutive knot spans. This locality implies that the evaluation of a curve C(u) = \sum_i N_{i,p}(u) P_i at a value u in a particular knot span [u_j, u_{j+1}) depends solely on p+1 control points, namely P_{j-p} through P_j. Consequently, only these local control points contribute to the curve segment within that span, enabling efficient computation in De Boor's algorithm by restricting operations to a small of the full control polygon. To visualize the support intervals, consider the parameter domain divided by the knots \{u_i\}; each N_{i,p}(u) forms a "bump" nonzero across p+1 intervals, with adjacent basis functions overlapping to maintain smoothness. For instance, the supports of N_{i-1,p}, N_{i,p}, and N_{i+1,p} overlap in the span [u_i, u_{i+1}), ensuring that exactly p+1 functions are active there. The local support also enhances during evaluation, as it limits the number of arithmetic operations and thereby reduces the propagation of rounding errors in floating-point computations compared to global representations like polynomials. For example, with cubic B-splines (p=3), a point u in the span [u_4, u_5) is influenced only by control points P_1 through P_4, isolating any potential numerical perturbations to this local region.

Algorithm Mechanics

Step-by-Step Procedure

De Boor's algorithm evaluates a at a given value u through an efficient iterative process that leverages the local support property of B-splines, limiting computations to a small of points. The algorithm takes as inputs the knot vector U = (u_0, u_1, \dots, u_m), which is a non-decreasing sequence defining the spline's domain; the P_0, P_1, \dots, P_n, which influence the curve's shape; the degree p of the spline; and the evaluation u within the spline's domain. This setup ensures that only p+1 contribute significantly to the value at u, due to the local support of B-spline basis functions. The procedure begins by identifying the knot span containing u. Specifically, find the index i such that u_i \leq u < u_{i+1}, which localizes the computation to the relevant interval. The affected points are then selected: these are P_{i-p}, P_{i-p+1}, \dots, P_i, a total of p+1 points that span the support of the basis functions active at u. This step exploits the compact , ensuring computational by ignoring distant control points. Next, the parameter u is inserted into a local copy of the vector with multiplicity p, creating a temporary sequence that facilitates the iterative blending. This insertion simulates refinement locally, preparing the structure for the reduction process without altering the global spline definition. The core of the then proceeds iteratively over p stages, computing successive columns of points. The initial column consists of the selected control points arranged diagonally. For each subsequent column j = 1 to p, new points are computed as linear combinations of adjacent points from the previous column, using blending factors (often denoted as \alpha) derived from the differences between u and the temporary knots. Each reduces the number of points by one, progressively refining the control polygon toward the point. The final output after p iterations is the point C(u), which lies on the curve. Geometrically, this process can be interpreted as successive corner-cutting of the control polygon, where each step clips corners by interpolating between points on the existing polygon edges, yielding a refined polygon that converges to the curve in a manner analogous to for Bézier curves. The following outline illustrates the high-level flow:
function DeBoorEvaluate(U, P, p, u):
    # Step 1: Find knot span i
    i = find_span(U, p, u)  # such that U[i] <= u < U[i+1]
    
    # Step 2: Select affected points
    temp_points = [P[i-p + k] for k in 0 to p]  # P_{i-p} to P_i
    
    # Step 3: Create local knot vector with u inserted p times
    local_U = insert_knot(U[i-p:i+p+1], u, p)  # Local insertion
    
    # Step 4: Iterative computation
    for j = 1 to p:
        for r = p downto j:  # Work backwards to maintain diagonal
            alpha = (u - local_U[r]) / (local_U[r + p - j + 1] - local_U[r])
            temp_points[r] = (1 - alpha) * temp_points[r-1] + alpha * temp_points[r]
    
    # Step 5: Output
    return temp_points[p]  # C(u)
This outline captures the essential reduction without full implementation details, emphasizing the backward iteration for .

Relation to de Casteljau's Algorithm

, introduced in 1959, employs iterative barycentric combinations to evaluate Bézier curves, which are defined using a fixed basis over a single parameter interval. De Boor's algorithm shares fundamental principles with de Casteljau's, as both rely on recursive —often visualized as a corner-cutting process—to compute points at a parameter value u, ensuring and locality of computation. Key differences arise from the underlying representations: de Boor's algorithm accommodates varying knot-dependent factors \alpha in each , reflecting the non-uniform vectors of B-splines, whereas de Casteljau's uses constant blending ratios based on u and $1-u; consequently, de Boor's evaluation influences only p+1 control points locally (where p is the degree), in contrast to de Casteljau's involvement of all n+1 points for a degree-n , unlike de Casteljau's algorithm, which directly provides points for subdivision; however, de Boor's algorithm supports subdivision via insertion using its intermediate points. B-splines can be converted to equivalent Bézier segments within each knot span through repeated knot insertion, which refines the control polygon without altering the curve geometry, allowing de Casteljau's algorithm to evaluate those segments directly. Historically, de Boor's algorithm, formalized in 1972, serves as a generalization of de Casteljau's approach to handle non-uniform B-splines, extending its applicability to piecewise curves with controlled continuity across knot spans.

Mathematical Formulation

Core Equations

The core of De Boor's algorithm lies in its iterative computation of the spline value through a triangular array of points derived from the control points and knot vector, analogous to the de Casteljau algorithm for Bézier curves but adapted for the local support of B-splines. To evaluate a B-spline curve \mathbf{C}(u) = \sum_{i=0}^n N_{i,p}(u) \mathbf{P}_i of degree p at parameter u in knot span k (determined such that u_k \leq u < u_{k+1}), the algorithm initializes a base row with control points and applies convex combinations upward through the triangle. The alpha coefficients, which drive the linear interpolations, are defined as \alpha_{i,j} = \frac{u - u_i}{u_{i+p-j+1} - u_i}, \quad i = k-p+1, \dots, k, \quad j=1, \dots, p, provided the denominator is nonzero; these coefficients measure the relative position of u within subintervals of the knot vector. The initial row of the triangular array is set to the relevant control points: c_{i,0} = \mathbf{P}_i, \quad i = k-p, \dots, k. Subsequent rows are computed iteratively via c_{i,j} = (1 - \alpha_{i,j}) \, c_{i-1,j-1} + \alpha_{i,j} \, c_{i,j-1}, \quad j=1, \dots, p, \quad i = k-p+j, \dots, k, yielding the spline value at the apex of the triangle: \mathbf{C}(u) = c_{k,p}. When knots are repeated, leading to zero denominators in the alpha coefficients (e.g., at points of reduced ), the algorithm sets \alpha_{i,j} = 0 if u \leq u_i or \alpha_{i,j} = 1 if u \geq u_{i+p-j+1}, or discards the zero-denominator term entirely, ensuring the computation respects the continuity order and avoids while maintaining . For multivariate B-splines, such as those defining tensor-product surfaces, the algorithm extends naturally by applying the univariate procedure separately along each parametric direction; for a surface \mathbf{S}(u,v) = \sum_{i,j} N_{i,p}(u) M_{j,q}(v) \mathbf{P}_{i,j}, one first evaluates along u for fixed v (or vice versa) using the above scheme on rows or columns of control points, then iterates on the resulting curve.

Numerical Stability Analysis

De Boor's algorithm exhibits strong due to its reliance on local linear combinations that avoid the subtraction of closely valued terms, which is a common source of cancellation errors in alternative evaluation methods. Instead, it employs successive affine combinations with coefficients derived from knot differences, ensuring that the forward error in the computed spline value is bounded by O(p \epsilon), where p is the polynomial degree and \epsilon is the . This bound arises because each of the p iterative steps introduces a proportional to \epsilon times the local scale, without amplification from negative coefficients or ill-conditioned operations. In comparison, the direct recursive computation of individual basis functions via the Cox-de Boor formula often amplifies rounding errors exponentially with increasing p, as the involves subtractions that can lead to severe loss of significant digits, especially when the parameter u lies near values or for nonuniform distributions. De Boor's algorithm mitigates this by evaluating the spline directly on the control points through a triangular scheme analogous to de Casteljau's for Bézier curves, bypassing explicit calculation and maintaining accuracy independent of such recursive instabilities. The can be sketched through the observation that every operation in forms an affine combination of prior points with barycentric coordinates (coefficients \alpha_i in [0,1] summing to 1), thereby preserving the of the input control points at each level of the pyramid. Any floating-point at an intermediate step is thus bounded by \epsilon times the diameter of the current hull, and propagation over p levels yields a total forward error of at most p \epsilon times the initial hull diameter, without catastrophic growth even for elevated degrees. This affine invariance ensures robustness in , as verified in the original analysis of the method. Empirical studies demonstrate that the for spline evaluation via De Boor's algorithm remains low—typically on the order of $2^p or better—for well-spaced , with relative errors aligning closely to machine precision in uniform or quasi-uniform configurations up to 20. Problems emerge primarily with near-degenerate , such as high multiplicities or extreme clustering, where the effective rises, but these cases affect all spline evaluation methods similarly and can be detected via knot inspection. Given its superior error control, De Boor's algorithm is the preferred approach for high-degree evaluation in scenarios where direct basis recursion fails, such as in software and high-precision numerical simulations requiring degrees beyond 5.

Optimizations and Applications

Efficiency Improvements

De Boor's algorithm exhibits a baseline computational complexity of O(p^2) operations per evaluation point, where p is the degree of the B-spline, due to the iterative triangular scheme that computes intermediate points across p levels. This quadratic scaling arises from the need to perform scalar multiplications and additions proportional to p at each of the p diagonal steps in the algorithm's pyramid structure. For evaluations at a fixed parameter u within the same knot span, precomputation of the blending factors (alphas) \alpha_{i,r} = \frac{u - t_i}{t_{i+p-r+1} - t_i} reduces the per-evaluation cost to O(p) after an initial O(p^2) setup, as subsequent points can leverage cached intermediate values without recomputing the factors. This optimization is particularly beneficial for repeated evaluations, such as in rendering or numerical integration over a localized interval, where the knot span remains unchanged. Knot insertion techniques, such as Boehm's algorithm, enable efficient reuse of prior computations when evaluating at nearby parameters by incrementally refining the knot vector without altering the geometry. In Boehm's method, inserting a single knot requires O(p) operations and updates only a local of control points, allowing subsequent De Boor evaluations at adjusted u values to reuse the inserted knots and avoid full recomputation from the original representation. This incremental approach outperforms global refinement strategies for sequential parameter changes, as demonstrated by comparisons showing fewer arithmetic operations per inserted knot compared to alternatives like the Oslo algorithm. Vectorized implementations parallelize the of columns in the Boor pyramid, making it suitable for through matrix-based reformulations that decompose B-spline evaluation into tensor operations. Such optimizations, including memory coalescing and task scheduling on modern GPUs, leverage hardware tensor cores while maintaining . For uniform knot vectors, the become constant across levels within a , enabling further simplification where repetitive factors are pre-stored, reducing evaluation time by up to 32% compared to non-uniform cases via exploitation in the iterative scheme. The Oslo algorithm serves as an alternative for computing basis functions in such settings, offering a recursive knot insertion framework that computes control points in a triangular with comparable O(p^2) but optimized for batch basis evaluations through shared intermediate results. In practical implementations, dynamic for local control points enhance ; for instance, the optimized can be structured as follows:
for r = 1 to p
    for i = k - p + r to k
        alpha = (u - t[i]) / (t[i + p - r + 1] - t[i])
        points[i, r] = (1 - alpha) * points[i - 1, r - 1] + alpha * points[i, r - 1]
    end
end
result = points[k, p]
This caches alphas where possible and limits sizes to O(p), minimizing overhead for repeated calls. A 2023 advancement integrates De Boor's algorithm into arc-length-based subdivision for NURBS curves, using recursive splitting with a dedicated to store subdivided control points and knot vectors, achieving efficient parametrization for applications like by targeting uniform arc-length segments without excessive knot insertions.

Modern Uses and Extensions

De Boor's algorithm remains to computer-aided design (CAD) systems, where it facilitates the rendering of (NURBS) curves in software like by enabling efficient evaluation of curve points during data processing and conversion tasks. In computer graphics, it underpins advanced rigging techniques in , as demonstrated in 2024 educational tutorials that apply the algorithm to procedural curve and surface generation for and blend manipulation. The algorithm's also supports in physics simulations, particularly for evaluating spline-based representations in and functional approximations. Extensions of De Boor's algorithm to NURBS involve treating weighted control points in as a 4D , allowing direct application of the procedure to rational curves while preserving local support properties. This approach is implemented in libraries like OpenNURBS, which uses De Boor's method for NURBS curve and surface in modeling tools such as Rhino. A notable variant adapts the algorithm for s in 2019, developing a de Boor-like procedure for analysis-suitable T-spline surfaces that handles T-junctions efficiently by operating directly on the control polygon, reducing computational overhead compared to traditional tensor-product methods. Recent developments include a 2023 method leveraging De Boor's algorithm for arc-length-based subdivision of NURBS curves, which parameterizes knots to achieve uniform sampling along the curve length, improving applications in path planning and manufacturing. In software implementations, the Julia package CompactBases.jl, released in 2020, incorporates De Boor's algorithm for efficient B-spline basis evaluation, supporting quasi-array representations suitable for high-performance scientific computing.

References

  1. [1]
  2. [2]
    1.4.3 Algorithms for B-spline curves - MIT
    A B-spline curve can be evaluated at a specific parameter value $ \bar t$ using the de Boor algorithm, which is a generalization of the de Casteljau algorithm.
  3. [3]
    [PDF] B(asic)-Spline Basics Carl de Boor∗ 1. Introduction This essay ...
    Apr 21, 2009 · This essay reviews those basic facts about (univariate) B-splines that are of interest in CAGD. The intent is to give a self-contained and ...
  4. [4]
    On calculating with B-splines - ScienceDirect.com
    On calculating with B-splines☆. Dedicated to Professor J. L. Walsh on the occasion of his 75th birthday. Author links open overlay panelCarl de Boor. Show ...
  5. [5]
    Carl R. de Boor - National Science and Technology Medals ...
    There he began his work with splines, developing effective methods for using the flexible functions to make drastic improvements to the design of everything ...
  6. [6]
    [PDF] A History of Curves and Surfaces in CAGD - FarinHansford.com
    In 1960, C. de Boor started to work for the General. Motors Research labs and began using B-splines as a tool for geometry representation. He later became ...
  7. [7]
    Carl de Boor's papers at ftp.cs.wisc.edu/Approx
    Carl de Boor's papers at ftp.cs.wisc.edu/Approx. These files can be obtained by anonymous from ftp.cs.wisc.edu/Approx. The files are postscript, ...Missing: original | Show results with:original
  8. [8]
    B-Splines and Geometric Design - WPI
    De Boor left GM to complete his PhD at the University of Michigan; for his dissertation he used B-splines for what are now known as projection methods--- ...
  9. [9]
    Package for Calculating with B-Splines - SIAM Publications Library
    1. Carl de Boor, On calculating with B-splines, J. Approximation Theory, 6 (1972), 50–62. Crossref · 2. C. de Boor, Subroutine package for calculating with B- ...
  10. [10]
    A tour d'horizon of de Casteljau's work - ScienceDirect.com
    Insight into de Casteljau's contributions to geometry, algebra, and number theory. •. Algebraic smoothing with polar forms using Aitken, de Boor, de Casteljau.
  11. [11]
    NAE Website - Dr. Carl R. de Boor
    Dr. Carl R. de Boor, Member Professor Emeritus, University of Wisconsin-Madison, Election Year 1993, Primary Section Computer Science and Engineering.
  12. [12]
    [PDF] 13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY
    B-splines (Uniform and Non-uniform). 6.1 Introduction. The formulation of uniform B-splines can be generalized to accomplish certain objectives. These include.Missing: endpoint | Show results with:endpoint
  13. [13]
    [PDF] MA 323 Geometric Modelling Course Notes: Day 22 B-Splines and ...
    This property is called the local support property. • In any given interval of the form uj ≤ t ≤ uj+1 at most k + 1 of the basis functions. Ni,k are ...
  14. [14]
    [PDF] The Essentials of CAGD - Chapter 10: B-Spline Curves
    The de Boor Algorithm. B-spline curves evaluated using the de Boor algorithm. – Named after Carl de Boor who did pioneering work on B-splines. – Algorithm uses ...
  15. [15]
  16. [16]
    De Casteljau's geometric approach to geometric design still alive
    His comments in the document de Faget de Casteljau (1959) partially shown in Boehm and Müller (1999) are certainly the first written records of the control ...
  17. [17]
    None
    Below is a merged summary of De Boor's Algorithm for B-Spline Evaluation, consolidating all information from the provided segments into a single, comprehensive response. To maximize detail and clarity, I will use a structured format with tables where appropriate, followed by a narrative summary. This ensures all inputs, steps, interpretations, and references are retained while avoiding redundancy.
  18. [18]
    [PDF] B-Splines and the de Boor Algorithm - Rice University
    Moreover the B-spline curve and the piecewise Bezier curve are identical. • Hence the entire B-spline curve must be variation diminishing with respect to the ...
  19. [19]
    [PDF] Stable numerical evaluation of multi-degree B-splines - arXiv
    Feb 5, 2021 · can be carried out via an efficient and numerically stable algorithm, the well-known Cox-de Boor recurrence scheme ... de Boor's method.
  20. [20]
    De Boor's Algorithm
    De Boor's algorithm is a generalization of de Casteljau's algorithm. It provides a fast and numerically stable way for finding a point on a B-spline curve ...
  21. [21]
  22. [22]
    [PDF] TIME-EFFICIENT NURBS CURVE EVALUATION ALGORITHMS
    Test results showed that the recursive Cox-de Boor formula is highly ineffective especially in the evaluation of higher degree splines. Although de Boor's knot ...<|separator|>
  23. [23]
    CNC Processing of Nurbs Curve Based on AutoCAD - ResearchGate
    Mar 19, 2025 · ... De Boor-Cox algorithm was presented. Then, dedicated data-processing ... generally used for data format conversion between AutoCAD and other CAD ...
  24. [24]
    Advanced Rigging with De Boors Algorithm in Maya - CGCircuit
    Nov 15, 2024 · This course will introduce you to De Boor's algorithm, which is the foundation of the curves and surfaces that we see in 3D applications.
  25. [25]
    [PDF] arXiv:1301.2184v1 [physics.data-an] 10 Jan 2013
    Jan 10, 2013 · only evaluate the de Boor algorithm [11] m+1 times. This vastly improves computation time for lookups compared to functional representations ...
  26. [26]
    [PDF] If You Know B-Splines Well, You Also Know NURBS! ∗
    De Boor's algorithm is one of the most important algo- rithms in B-splines study [1]. It takes a u ∈ [0,1] and com- putes the corresponding point on a B-spline ...
  27. [27]
    3 Parametric Curves and Surfaces - Rhino developer
    Aug 14, 2019 · Named after its inventor, Carl de Boor, the de Boor's algorithmi is a generalization of the de Casteljau algorithm for Bézier curves. It is ...
  28. [28]
    de Boor-like evaluation algorithm for Analysis-suitable T-splines ...
    We proposes a new evaluation algorithm for analysis-suitable T-splines. •. The algorithm is based on the control polygon directly and it reduces both time and ...
  29. [29]
    De Boor Algorithm Based NURBS Subdivision in Terms of Arc Length
    Jul 13, 2023 · This paper presents an approach to subdivide a Non-Uniform Rational B-Splines (NURBS) curve into several small parts in terms of a given arc ...
  30. [30]
    Theory · CompactBases.jl
    Jul 25, 2020 · de Boor's algorithm. An efficient way of evaluating the B-splines is given by de Boor's algorithm. The algorithm described in the Wikipedia ...Definitions · Knot sets · de Boor's algorithm · Integrals