Content deleted Content added
No edit summary |
|||
Line 1:
In the [[mathematics|mathematical]] subfield of [[numerical analysis]] the '''de Boor's algorithm''' is a fast and [[numerically stable]] [[algorithm]] for evaluating [[spline curve]]s in [[B-spline]] form. It is a generalization of the [[de Casteljau's algorithm]] for [[
== Introduction ==
The general setting is as follows. We would like to construct a curve whose shape is described by a sequence of ''p'' points <math>\
\
One approach to solving this problem is by [[spline (mathematics)|spline]]s. A spline is a curve that is piecewise ''n<sup>th</sup>'' degree polynomial. This means that, on any interval ''<nowiki>[</nowiki>u<sub>i</sub>, u<sub>i+1</sub>)'', the curve must be equal to a polynomial of degree at most ''n''. It may be equal to a different polynomials on different intervals. The polynomials must be ''synchronized'': when the polynomials from intervals ''<nowiki>[</nowiki>u<sub>i-1</sub>, u<sub>i</sub>)'' and ''<nowiki>[</nowiki>u<sub>i</sub>, u<sub>i+1</sub>)'' meet at the point ''u<sub>i</sub>'', they must have the same value at this point and their derivatives must be equal (to ensure that the curve is smooth).
de Boor algorithm is an algorithm which, given ''u<sub>0</sub>, ..., u<sub>p-1</sub>'' and <math>\
== Outline of the algorithm==
Line 14:
We can express the curve as
:<math> \
where
<math>N_i^n(x)=\frac{x-u_i}{u_{i+n}-u_i}N_i^{n-1}(x) - \frac{x-u_{i+n+1}}{u_{i+n+1}-u_{i+1}}N_{i+1}^{n-1}(x) ,</math>
Line 22:
Due to the spline locality property,
:<math> \
So the value <math>\
== The algorithm ==
Suppose <math> x \in [u_{\ell},u_{\ell+1}] </math> and <math> \
Now calculate
:<math> \
with
:<math> \alpha_{k,i} = \frac{x-u_i}{u_{i+n+1-k}-u_i}. </math>
Then <math> \
== See also ==
*[[De Casteljau's algorithm]]
*[[
*[[NURBS]]
|