Download PDF

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Gene prediction wikipedia , lookup

Generalized linear model wikipedia , lookup

Linear algebra wikipedia , lookup

Dirac delta function wikipedia , lookup

Corecursion wikipedia , lookup

Transcript
B-spline∗
CWoo†
2013-03-21 23:26:31
B-spline basis functions
Let s := {si | i ∈ Z} be a sequence of nondecreasing real numbers (si ≤ si+1 ).
For each i, we recursively define a set of real-valued functions Ni,j (for j =
0, 1, . . .) as follows:
1 if si ≤ t < si+1
Ni,0 (t) :=
0 otherwise
Ni,j+1 (t)
:= αi,j+1 (t)Ni,j (t) + [1 − αi+1,j+1 (t)]Ni+1,j (t)
where
αi,j (t)
:=
t − si
si+j − si
 0


if si+j 6= si
otherwise.
Definitions. Using the notations above:
1. the sequence s is known as a knot sequence, and the individual term in
the sequence is a knot;
2. the functions Ni,j are called the i-th B-spline basis functions of order j,
and the recurrence relation is called the de Boor recurrence relation, after
its discoverer Carl de Boor;
3. given any non-negative integer j, the vector space Vj (s) over R, generated
by the set of all B-spline basis functions of order j is called the B-spline of
order j. In other words, the B-spline Vj (s) := span{Ni,j (t) | i = 0, 1, . . .}
over R.
4. Any element of Vj (s) is a B-spline function of order j.
∗ hBsplinei
created: h2013-03-21i by: hCWooi version: h39721i Privacy setting: h1i
hDefinitioni h51N05i h65D10i h65D07i
† This text is available under the Creative Commons Attribution/Share-Alike License 3.0.
You can reuse this document or portions thereof only if you do so under terms that are
compatible with the CC-BY-SA license.
1
The 0th order B-spline basis functions are nothing more than characteristic
functions on half-open intervals (or the zero function if si = si+1 ). When
j = 1, 2, 3, the B-spline basis functions are said to be linear, quadratic, or cubic.
The calculations of the higher order B-spline basis functions can be easily
understood by use of triangular difference tables. For example, to calculate N53 ,
one would use
@R = 1pt@C = 1.5cms5N5,0 @− >[rd]N5,1 @− >[rd]s6N6,0 @− >[rd]@− >[ru]N5,2 @− >[rd]N6,1 @− >[rd]@− >[r
Remarks.
• Each B-spline basis function Ni,j is completely defined by the finite set
{si , . . . , si+j+1 } of knots. Furthermore, it is
1. non-zero in the open interval (si , si+j+1 ),
2. Ni,j restricted to each subinterval [sk , sk+1 ) is a polynomial function
of degree j for k = i, . . . , i + j, and
3. identically 0 outside the interval [si , si+j+1 ).
• In Vj (s), the non-zero B-spline basis functions of order j are linearly independent. In other words, the set of all non-zero Ni,j forms a basis for
Vj (s) and hence the name B-spline basis functions.
• Given a knot sequence s, a knot si is said to be knotted if si = si+1 . It is
a double knot if si−1 < si = si+1 < si+2 . Triple knots and more generally
n-multi knots are defined analogously. A knot sequence is knotted if it
contains a knotted knot.
• If a knot sequence is not knotted, then it can be shown that the B-spline
basis function Ni,j is C j−1 but not of C j . For example, Ni,1 is continuous
but not differentiable.
• If a knot sequence s is finite and not knotted, then Vj (s) is finite dimensional. If s has n knots, then Vj (s) has dimension n − j for j < n, and 0
otherwise.
B-spline curves
In most applications of B-splines, finite knot sequences are considered. A finite
knot sequence {s0 , . . . , sn } is also known as a knot vector.
Let s = {s0 , . . . , sn } be a knot vector. Let P0 , . . . , Pm be m + 1 points in Rk
(usually k = 2 or 3). Then we may form a linear combination
P (t) =
m
X
Pi Ni,j (t),
i=0
where Pi Ni,j (t) is the scalar multiplication of the scalar Ni,j (t) by the vector Pi .
This is possible only when there are at least as many Ni,j (there are n + 1 − j
2
of them) as there are Pi (there are m of them). In other words, m ≤ n + 1 − j.
Set p = n + 1 − m. Then the function defined by
P (t) =
m
X
Pi Ni,p (t)
i=0
is called a B-spline curve with control points P1 , . . . , Pm . Note that P (t) is
completely determined by the control points and the knot vector s, and each
coordinate of P (t) is a B-spline function in Vp (s).
More to come...
3