B-Spline Representation
Spline of degree
n
n
n as a spline of order
n
+
1
n+1
n + 1 .
Let
a
i
a_{i}
a i be a biinfinite and strictly increasing sequence of knots, which means
a
i
<
a
i
+
1
a_{i} \lt a_{i+1}
a i < a i + 1 , for all
i
i
i . We define the B-Splines
N
i
n
N_{i}^{n}
N i n with these knots by the recursion formula
N
i
n
=
{
1
f
o
r
u
∈
[
a
i
,
a
i
+
1
)
0
o
t
h
e
r
w
i
s
e
N_{i}^{n} = \begin{cases} 1 \hspace{1cm} for \ u \in [a_{i}, a_{i+1}) \\ 0 \hspace{1cm} otherwise \end{cases}
N i n = { 1 f o r u ∈ [ a i , a i + 1 ) 0 o t h e r w i s e
and
N
i
n
(
u
)
=
α
i
n
−
1
N
i
n
−
1
(
u
)
+
(
1
−
α
i
n
−
1
)
N
i
+
1
n
−
1
(
u
)
N_{i}^{n}(u) = \alpha_{i}^{n-1}N_{i}^{n-1}(u) + (1-\alpha_{i}^{n-1})N_{i+1}^{n-1}(u)
N i n ( u ) = α i n − 1 N i n − 1 ( u ) + ( 1 − α i n − 1 ) N i + 1 n − 1 ( u )
where
α
i
n
−
1
=
u
−
a
i
a
i
+
n
−
a
i
\alpha_{i}^{n-1} = \frac{u-a_{i}}{a_{i+n}-a_{i}}
α i n − 1 = a i + n − a i u − a i
Graphical Representation of B-Splines
N
0
0
(
u
)
N_{0}^{0}(u)
N 0 0 ( u ) :
N
1
0
(
u
)
N_{1}^{0}(u)
N 1 0 ( u ) :
N
1
0
(
u
)
=
N
0
0
(
u
−
1
)
N_{1}^{0}(u) = N_{0}^{0}(u-1)
N 1 0 ( u ) = N 0 0 ( u − 1 )
N
0
1
(
u
)
N_{0}^{1}(u)
N 0 1 ( u ) :
N
0
1
(
u
)
=
α
0
0
N
0
0
(
u
)
+
(
1
−
α
1
0
)
N
1
0
(
u
)
=
u
−
a
0
a
1
−
a
0
N
0
0
(
u
)
+
a
2
−
a
1
−
u
+
a
1
a
2
−
a
1
N
0
0
(
u
−
1
)
=
u
−
a
0
a
1
−
a
0
N
0
0
(
u
)
+
a
2
−
u
a
2
−
a
1
N
0
0
(
u
−
1
)
\begin{aligned} N_{0}^{1}(u) &= \alpha_{0}^{0}N_{0}^{0}(u) + (1-\alpha_{1}^{0})N_{1}^{0}(u) \\ &= \frac{u-a_{0}}{a_{1}-a_{0}}N_{0}^{0}(u) + \frac{a_{2}-a_{1}-u+a_{1}}{a_{2}-a_{1}}N_{0}^{0}(u-1) \\ &= \frac{u-a_{0}}{a_{1}-a_{0}}N_{0}^{0}(u) + \frac{a_{2}-u}{a_{2}-a_{1}}N_{0}^{0}(u-1) \end{aligned}
N 0 1 ( u ) = α 0 0 N 0 0 ( u ) + ( 1 − α 1 0 ) N 1 0 ( u ) = a 1 − a 0 u − a 0 N 0 0 ( u ) + a 2 − a 1 a 2 − a 1 − u + a 1 N 0 0 ( u − 1 ) = a 1 − a 0 u − a 0 N 0 0 ( u ) + a 2 − a 1 a 2 − u N 0 0 ( u − 1 )
N
0
2
(
u
)
N_{0}^{2}(u)
N 0 2 ( u ) :
N
0
2
(
u
)
=
α
0
1
N
0
1
(
u
)
+
(
1
−
α
1
1
)
N
1
1
(
u
)
=
u
−
a
0
a
2
−
a
0
N
0
1
(
u
)
+
a
3
−
a
1
−
u
+
a
1
a
3
−
a
1
N
0
1
(
u
−
1
)
=
u
−
a
0
a
2
−
a
0
N
0
1
(
u
)
+
a
3
−
u
a
3
−
a
1
N
0
1
(
u
−
1
)
\begin{aligned} N_{0}^{2}(u) &= \alpha_{0}^{1}N_{0}^{1}(u) + (1-\alpha_{1}^{1})N_{1}^{1}(u) \\ &= \frac{u-a_{0}}{a_{2}-a_{0}}N_{0}^{1}(u) + \frac{a_{3}-a_{1}-u+a_{1}}{a_{3}-a_{1}}N_{0}^{1}(u-1) \\ &= \frac{u-a_{0}}{a_{2}-a_{0}}N_{0}^{1}(u) + \frac{a_{3}-u}{a_{3}-a_{1}}N_{0}^{1}(u-1) \end{aligned}
N 0 2 ( u ) = α 0 1 N 0 1 ( u ) + ( 1 − α 1 1 ) N 1 1 ( u ) = a 2 − a 0 u − a 0 N 0 1 ( u ) + a 3 − a 1 a 3 − a 1 − u + a 1 N 0 1 ( u − 1 ) = a 2 − a 0 u − a 0 N 0 1 ( u ) + a 3 − a 1 a 3 − u N 0 1 ( u − 1 )
Properties of B-Splines
N
i
n
N_{i}^{n}
N i n is piecewise polynomial of degree n.
N
i
n
(
u
)
N_{i}^{n}(u)
N i n ( u ) is piecewise polynomial of degree n.
N
i
n
(
u
)
N_{i}^{n}(u)
N i n ( u ) is positive in
(
a
i
,
a
i
+
n
+
1
)
(a_{i}, a_{i+n+1})
( a i , a i + n + 1 ) .
N
i
n
(
u
)
N_{i}^{n}(u)
N i n ( u ) is zero outside of
(
a
i
,
a
i
+
n
+
1
)
(a_{i}, a_{i+n+1})
( a i , a i + n + 1 ) .
N
i
n
(
u
)
N_{i}^{n}(u)
N i n ( u ) is right side continuous.
N
i
n
(
u
)
N_{i}^{n}(u)
N i n ( u ) 就是
u
∈
(
a
i
,
a
i
+
n
+
1
)
u \in (a_{i},a_{i+n+1})
u ∈ ( a i , a i + n + 1 ) 区间内,值大于
0
0
0 的
n
n
n 次曲线;
u
∉
(
a
i
,
a
i
+
n
+
1
)
u \notin (a_{i},a_{i+n+1})
u ∈ / ( a i , a i + n + 1 ) 时,
N
i
n
(
u
)
=
0
N_{i}^{n}(u) = 0
N i n ( u ) = 0 。
The De Boor algorithm
For
u
∈
[
a
n
,
a
n
+
1
)
u \in [a_{n},a_{n+1})
u ∈ [ a n , a n + 1 ) :
s
(
u
)
=
∑
i
=
0
n
c
i
0
N
i
n
(
u
)
=
∑
i
=
0
n
c
i
0
[
α
i
n
−
1
N
i
n
−
1
(
u
)
+
(
1
−
α
i
+
1
n
−
1
)
N
i
+
1
n
−
1
(
u
)
]
=
c
0
0
α
0
n
−
1
N
0
n
−
1
(
u
)
+
c
0
0
(
1
−
α
1
n
−
1
)
N
1
n
−
1
(
u
)
+
c
1
0
α
1
n
−
1
N
1
n
−
1
(
u
)
+
c
1
0
(
1
−
α
2
n
−
1
)
N
2
n
−
1
(
u
)
+
…
+
c
n
−
1
0
α
n
−
1
n
−
1
N
n
−
1
n
−
1
(
u
)
+
c
n
−
1
0
(
1
−
α
n
n
−
1
)
N
n
n
−
1
(
u
)
+
c
n
0
α
n
n
−
1
N
n
n
−
1
(
u
)
+
c
n
0
(
1
−
α
n
+
1
n
−
1
)
N
n
+
1
n
−
1
(
u
)
\begin{aligned} s(u) &= \sum_{i=0}^{n}c_{i}^{0}N_{i}^{n}(u) = \sum_{i=0}^{n}c_{i}^{0}[\alpha_{i}^{n-1}N_{i}{n-1}(u) + (1-\alpha_{i+1}^{n-1})N_{i+1}^{n-1}(u)] \\ &=c_{0}^{0}\alpha_{0}^{n-1}N_{0}^{n-1}(u) + c_{0}^{0}(1-\alpha_{1}^{n-1})N_{1}^{n-1}(u) + c_{1}^{0}\alpha_{1}^{n-1}N_{1}^{n-1}(u) + c_{1}^{0}(1-\alpha_{2}^{n-1})N_{2}^{n-1}(u) \\ &+ \dots \\ &+ c_{n-1}^{0}\alpha_{n-1}^{n-1}N_{n-1}^{n-1}(u) + c_{n-1}^{0}(1-\alpha_{n}^{n-1})N_{n}^{n-1}(u) + c_{n}^{0}\alpha_{n}^{n-1}N_{n}^{n-1}(u) + c_{n}^{0}(1-\alpha_{n+1}^{n-1})N_{n+1}^{n-1}(u) \end{aligned}
s ( u ) = i = 0 ∑ n c i 0 N i n ( u ) = i = 0 ∑ n c i 0 [ α i n − 1 N i n − 1 ( u ) + ( 1 − α i + 1 n − 1 ) N i + 1 n − 1 ( u ) ] = c 0 0 α 0 n − 1 N 0 n − 1 ( u ) + c 0 0 ( 1 − α 1 n − 1 ) N 1 n − 1 ( u ) + c 1 0 α 1 n − 1 N 1 n − 1 ( u ) + c 1 0 ( 1 − α 2 n − 1 ) N 2 n − 1 ( u ) + … + c n − 1 0 α n − 1 n − 1 N n − 1 n − 1 ( u ) + c n − 1 0 ( 1 − α n n − 1 ) N n n − 1 ( u ) + c n 0 α n n − 1 N n n − 1 ( u ) + c n 0 ( 1 − α n + 1 n − 1 ) N n + 1 n − 1 ( u )
Since
N
0
n
−
1
(
u
)
=
0
N_{0}^{n-1}(u) = 0
N 0 n − 1 ( u ) = 0 and
N
n
+
1
n
−
1
(
u
)
=
0
N_{n+1}^{n-1}(u) = 0
N n + 1 n − 1 ( u ) = 0 , for
u
∈
[
a
n
,
a
n
+
1
)
u \in [a_{n},a_{n+1})
u ∈ [ a n , a n + 1 ) . Thus:
s
(
u
)
=
∑
i
=
1
n
[
c
i
−
1
0
(
1
−
α
i
n
−
1
)
+
c
i
0
α
i
n
−
1
]
N
i
n
−
1
(
u
)
s(u) = \sum_{i=1}^{n}[c_{i-1}^{0}(1-\alpha_{i}^{n-1}) +c_{i}^{0}\alpha_{i}^{n-1}]N_{i}^{n-1}(u)
s ( u ) = i = 1 ∑ n [ c i − 1 0 ( 1 − α i n − 1 ) + c i 0 α i n − 1 ] N i n − 1 ( u )
Let
c
i
−
1
0
(
1
−
α
i
n
−
1
)
+
c
i
0
α
i
n
−
1
=
c
i
1
c_{i-1}^{0}(1-\alpha_{i}^{n-1}) +c_{i}^{0}\alpha_{i}^{n-1} = c_{i}^{1}
c i − 1 0 ( 1 − α i n − 1 ) + c i 0 α i n − 1 = c i 1 , then:
s
(
u
)
=
∑
i
=
1
n
c
i
1
N
i
n
−
1
(
u
)
=
∑
i
=
2
n
c
i
2
N
i
n
−
2
(
u
)
…
=
∑
i
=
n
−
1
n
c
i
n
−
1
N
i
1
(
u
)
=
∑
i
=
n
n
c
i
n
N
i
0
(
u
)
=
c
n
n
\begin{aligned} s(u) &= \sum_{i=1}^{n}c_{i}^{1}N_{i}^{n-1}(u) \\ &= \sum_{i=2}^{n}c_{i}^{2}N_{i}^{n-2}(u) \\ &\dots \\ &= \sum_{i=n-1}^{n}c_{i}^{n-1}N_{i}^{1}(u) \\ &= \sum_{i=n}^{n}c_{i}^{n}N_{i}^{0}(u) \\ &= c_{n}^{n} \end{aligned}
s ( u ) = i = 1 ∑ n c i 1 N i n − 1 ( u ) = i = 2 ∑ n c i 2 N i n − 2 ( u ) … = i = n − 1 ∑ n c i n − 1 N i 1 ( u ) = i = n ∑ n c i n N i 0 ( u ) = c n n 即(参考De Casteljau Algorithm):
f
o
r
i
∈
{
1
,
…
,
n
}
c
i
1
=
c
i
−
1
0
(
1
−
α
i
n
−
1
)
+
c
i
0
α
i
n
−
1
f
o
r
i
∈
{
2
,
…
,
n
}
c
i
2
=
c
i
−
1
1
(
1
−
α
i
n
−
2
)
+
c
i
1
α
i
n
−
2
…
f
o
r
i
∈
{
n
−
1
,
n
}
c
i
n
−
1
=
c
i
−
1
n
−
2
(
1
−
α
i
1
)
+
c
i
n
−
2
α
i
1
f
o
r
i
∈
{
n
}
c
i
n
=
c
i
−
1
n
−
1
(
1
−
α
i
0
)
+
c
i
n
−
1
α
i
0
\begin{aligned} for \ i \in \{1,\dots,n\} \hspace{1cm} &c_{i}^{1} = c_{i-1}^{0}(1-\alpha_{i}^{n-1}) + c_{i}^{0}\alpha_{i}^{n-1} \\ for \ i \in \{2,\dots,n\} \hspace{1cm} &c_{i}^{2} = c_{i-1}^{1}(1-\alpha_{i}^{n-2}) + c_{i}^{1}\alpha_{i}^{n-2} \hspace{1cm} \\ &\dots \\ for \ i \in \{n-1,n\} \hspace{1cm} &c_{i}^{n-1} = c_{i-1}^{n-2}(1-\alpha_{i}^{1}) + c_{i}^{n-2}\alpha_{i}^{1} \\ for \ i \in \{n\} \hspace{1cm} &c_{i}^{n} = c_{i-1}^{n-1}(1-\alpha_{i}^{0}) + c_{i}^{n-1}\alpha_{i}^{0} \\ \end{aligned}
f o r i ∈ { 1 , … , n } f o r i ∈ { 2 , … , n } f o r i ∈ { n − 1 , n } f o r i ∈ { n } c i 1 = c i − 1 0 ( 1 − α i n − 1 ) + c i 0 α i n − 1 c i 2 = c i − 1 1 ( 1 − α i n − 2 ) + c i 1 α i n − 2 … c i n − 1 = c i − 1 n − 2 ( 1 − α i 1 ) + c i n − 2 α i 1 c i n = c i − 1 n − 1 ( 1 − α i 0 ) + c i n − 1 α i 0
对于
u
∈
[
a
n
,
a
n
+
1
)
u \in [a_{n},a_{n+1})
u ∈ [ a n , a n + 1 ) ,如果Control Points
c
i
0
=
1
c_{i}^{0} = 1
c i 0 = 1 ,且每层
α
i
\alpha_{i}
α i 均等于
α
\alpha
α ,则:
s
(
u
)
=
∑
i
=
0
n
c
i
0
N
i
n
(
u
)
=
c
n
n
=
∑
i
=
0
0
⟮
i
0
⟯
c
n
−
i
n
(
1
−
α
)
i
α
0
−
i
=
c
n
−
1
n
−
1
(
1
−
α
)
+
c
n
n
−
1
α
=
∑
i
=
0
1
⟮
i
1
⟯
c
n
−
i
n
−
1
(
1
−
α
)
i
α
1
−
i
=
c
n
−
2
n
−
2
(
1
−
α
)
2
+
2
c
n
−
1
n
−
2
(
1
−
α
)
α
+
c
n
n
−
2
α
2
=
∑
i
=
0
2
⟮
i
2
⟯
c
n
−
i
n
−
2
(
1
−
α
)
i
α
2
−
i
=
c
n
−
3
n
−
3
(
1
−
α
)
3
+
3
c
n
−
2
n
−
3
(
1
−
α
)
2
α
+
3
c
n
−
1
n
−
3
(
1
−
α
)
α
2
+
c
n
n
−
3
α
3
=
∑
i
=
0
3
⟮
i
3
⟯
c
n
−
i
n
−
3
(
1
−
α
)
i
α
3
−
i
…
=
∑
i
=
0
n
⟮
i
n
c
n
−
i
0
(
1
−
α
)
i
α
n
−
i
=
[
(
1
−
α
)
+
α
]
n
=
1
\begin{aligned} s(u) &= \sum_{i=0}^{n}c_{i}^{0}N_{i}^{n}(u) \\ &= c_{n}^{n} = \sum_{i=0}^{0}\lgroup_{i}^{0} \rgroup c_{n-i}^{n}(1-\alpha)^{i} \alpha^{0-i} \\ &= c_{n-1}^{n-1}(1-\alpha) + c_{n}^{n-1}\alpha = \sum_{i=0}^{1}\lgroup_{i}^{1} \rgroup c_{n-i}^{n-1}(1-\alpha)^{i} \alpha^{1-i} \\ &= c_{n-2}^{n-2}(1-\alpha)^{2} + 2c_{n-1}^{n-2}(1-\alpha)\alpha + c_{n}^{n-2}\alpha^{2} = \sum_{i=0}^{2}\lgroup_{i}^{2} \rgroup c_{n-i}^{n-2}(1-\alpha)^{i} \alpha^{2-i} \\ &= c_{n-3}^{n-3}(1-\alpha)^{3} + 3c_{n-2}^{n-3}(1-\alpha)^{2}\alpha + 3c_{n-1}^{n-3}(1-\alpha)\alpha^{2} + c_{n}^{n-3}\alpha^{3} = \sum_{i=0}^{3}\lgroup_{i}^{3} \rgroup c_{n-i}^{n-3}(1-\alpha)^{i} \alpha^{3-i} \\ &\dots \\ &= \sum_{i=0}^{n} \lgroup_{i}^{n}c_{n-i}^{0}(1-\alpha)^{i}\alpha^{n-i} = [(1-\alpha) + \alpha]^{n} = 1 \end{aligned}
s ( u ) = i = 0 ∑ n c i 0 N i n ( u ) = c n n = i = 0 ∑ 0 ⟮ i 0 ⟯ c n − i n ( 1 − α ) i α 0 − i = c n − 1 n − 1 ( 1 − α ) + c n n − 1 α = i = 0 ∑ 1 ⟮ i 1 ⟯ c n − i n − 1 ( 1 − α ) i α 1 − i = c n − 2 n − 2 ( 1 − α ) 2 + 2 c n − 1 n − 2 ( 1 − α ) α + c n n − 2 α 2 = i = 0 ∑ 2 ⟮ i 2 ⟯ c n − i n − 2 ( 1 − α ) i α 2 − i = c n − 3 n − 3 ( 1 − α ) 3 + 3 c n − 2 n − 3 ( 1 − α ) 2 α + 3 c n − 1 n − 3 ( 1 − α ) α 2 + c n n − 3 α 3 = i = 0 ∑ 3 ⟮ i 3 ⟯ c n − i n − 3 ( 1 − α ) i α 3 − i … = i = 0 ∑ n ⟮ i n c n − i 0 ( 1 − α ) i α n − i = [ ( 1 − α ) + α ] n = 1
Thus, B-Splines
N
i
n
(
u
)
N_{i}^{n}(u)
N i n ( u ) form the partition of unity, for
u
∈
[
a
n
,
a
n
+
1
)
u \in [a_{n},a_{n+1})
u ∈ [ a n , a n + 1 ) .
对于
s
(
u
)
,
n
=
3
s(u), n=3
s ( u ) , n = 3 :
s
(
u
)
s(u)
s ( u ) 在
u
∈
[
a
n
,
a
n
+
1
)
u \in [a_{n},a_{n+1})
u ∈ [ a n , a n + 1 ) 区间内就是一个Bezier Curve(以
c
0
0
c_{0}^{0}
c 0 0 ,
c
1
0
c_{1}^{0}
c 1 0 ,
c
2
0
c_{2}^{0}
c 2 0 和
c
3
0
c_{3}^{0}
c 3 0 为Control Points)。
B-Spline Properpties
The B-Splines of degree
n
n
n with a given knot sequence that do not varnish over some knot interval are linearly independent over this interval.
Adimension count shows that the B-Splines
N
0
n
,
…
,
N
m
n
N_{0}^{n}, \dots, N_{m}^{n}
N 0 n , … , N m n with the knots
a
0
,
…
,
a
m
+
n
+
1
a_{0}, \dots, a_{m+n+1}
a 0 , … , a m + n + 1 form a basis for all splines of degree
n
n
n with support
[
a
0
,
a
m
+
n
+
1
]
[a_{0}, a_{m+n+1}]
[ a 0 , a m + n + 1 ] and the same knots.
Similarly, the B-Splines
N
0
n
,
…
,
N
m
n
N_{0}^{n}, \dots, N_{m}{n}
N 0 n , … , N m n over the knots
a
0
,
…
,
a
m
+
n
+
1
a_{0}, \dots, a_{m+n+1}
a 0 , … , a m + n + 1 restricted to the interval
[
a
0
,
a
m
+
n
+
1
]
[a_{0}, a_{m+n+1}]
[ a 0 , a m + n + 1 ] form a basis for all splines of degree
n
n
n restricted to the same interval.
The B-Splines of degree
n
n
n form a partition of unity , i.e.,
∑
i
=
0
m
=
N
i
n
(
u
)
=
1
f
o
r
u
∈
[
a
n
,
a
m
+
1
)
\sum_{i=0}^{m} = N_{i}^{n}(u) = 1 \hspace{1cm} for \ u \in [a_{n}, a_{m+1})
i = 0 ∑ m = N i n ( u ) = 1 f o r u ∈ [ a n , a m + 1 )
A spline
s
[
a
n
,
a
m
+
1
)
s[a_{n}, a_{m+1})
s [ a n , a m + 1 ) of degree
n
n
n with n-fold end knots ,
(
a
0
=
)
a
1
=
⋯
=
a
n
a
n
d
a
m
+
1
=
⋯
=
a
m
+
n
(
=
a
m
+
n
+
1
)
(a_{0} =) a_{1} = \dots = a_{n} \hspace{1cm} and \hspace{1cm} a_{m+1} = \dots = a_{m+n} (= a_{m+n+1})
( a 0 = ) a 1 = ⋯ = a n a n d a m + 1 = ⋯ = a m + n ( = a m + n + 1 )
have the same end points and end tangents as its control polygon.
The end knots
a
0
a_{0}
a 0 and
a
m
+
n
+
1
a_{m+n+1}
a m + n + 1 have no influences on
N
0
n
N_{0}^{n}
N 0 n and
N
m
n
N_{m}^{n}
N m n over the interval
[
a
n
,
a
m
+
1
)
[a_{n}, a_{m+1})
[ a n , a m + 1 ) .
The B-Splines are postive over the interior of the support,
N
i
n
(
u
)
>
0
f
o
r
u
∈
(
a
i
,
a
i
+
n
+
1
)
N_{i}^{n}(u) \gt 0 \hspace{1cm} for \ u \in(a_{i}, a_{i+n+1})
N i n ( u ) > 0 f o r u ∈ ( a i , a i + n + 1 )
The B-Splines have compact support ,
S
u
p
p
N
i
n
=
[
a
i
,
a
i
+
n
+
1
]
Supp\ N_{i}^{n} = [a_{i}, a_{i+n+1}]
S u p p N i n = [ a i , a i + n + 1 ]
The B-Splines satisfy the de Boor, Mansfield, Cox recursion formula
N
i
n
(
u
)
=
α
i
n
−
1
N
i
n
−
1
(
u
)
+
(
1
−
α
i
+
1
n
−
1
)
N
i
+
1
n
−
1
(
u
)
N_{i}^{n}(u) = \alpha_{i}^{n-1}N_{i}^{n-1}(u) + (1-\alpha_{i+1}^{n-1})N_{i+1}^{n-1}(u)
N i n ( u ) = α i n − 1 N i n − 1 ( u ) + ( 1 − α i + 1 n − 1 ) N i + 1 n − 1 ( u )
where
α
i
n
−
1
=
u
−
a
i
a
n
+
1
−
a
i
\alpha_{i}^{n-1} = \frac{u-a_{i}}{a_{n+1}-a_{i}}
α i n − 1 = a n + 1 − a i u − a i represents the local parameter over the support of
N
i
n
−
1
N_{i}^{n-1}
N i n − 1 .
The derivative of a single B-Spline is given by
d
d
u
N
i
n
(
u
)
=
n
u
i
+
n
−
u
i
N
i
n
−
1
(
u
)
−
n
u
i
+
n
+
1
−
u
i
+
1
N
i
+
1
n
−
1
(
u
)
\frac{d}{du}N_{i}^{n}(u) = \frac{n}{u_{i+n}-u_{i}}N_{i}^{n-1}(u) - \frac{n}{u_{i+n+1}-u_{i+1}}N_{i+1}^{n-1}(u)
d u d N i n ( u ) = u i + n − u i n N i n − 1 ( u ) − u i + n + 1 − u i + 1 n N i + 1 n − 1 ( u )
The B-Spline representation of a spline curve is invariant under affine maps .
Any segment
s
j
[
a
j
,
a
j
+
1
]
s_{j}[a_{j},a_{j+1}]
s j [ a j , a j + 1 ] of an n-th degree spline lines in the convex hull of its
n
+
1
n+1
n + 1 control point
c
j
−
n
,
…
,
c
j
c_{j-n}, \dots, c_{j}
c j − n , … , c j .
Conversion to B-Spline form
Since any polynomial of degree
n
n
n can be viewed as spline of degree
n
n
n or high with an arbitrary sequence of knots, one can express the monomials as linear combinations of B-Splines over any knot sequence (
a
i
a_{i}
a i ).