AML710 CAD
LECTURE 14
SPACE CURVES
Curves and their applications in
design
B spline curves
The B-Spline
Two Major Limitations of the Bezier Curves
1. Dependence on the number of defining
polygon vertices
– Hence the degree of the basis function is fixed by
this
– To increase or decrease the order we need to
increase or decrease the no. of polygon vertices
2. No local control – only global control
P (t ) = (1 − t ) 3 B0 + 3t (1 − t ) 2 B1 + (1 − t ) B2 + t 3 B3
1
B-Spline
• How it is like the bezier
– Approximates control points
– Possesses Convex Hull Property
• How it differs
– Degree of polynomial is for the most part
independent of the control points
– Local control over spline shape
• Local contorl acheieved by defining blending functions
over subintervals of the total range of t
– Stronger Convex Hull Property
• More complex than Bezier
• Generally non-global
Description of B-Spline
P(t ) =
n +1
i =1
•
•
•
Bi N i ,k (t )
t min ≤ t ≤ t max
2 ≤ k ≤ n +1
– k=degree
• Can be 2 to the number of
control points
– If k set to 1, then only a
plot of the control points
Bi is the input set of n+1 control points
(polygon vertices)
Parameter t now depends on how we
choose the other parameters (no
longer locked to 0-1)
N i,k blending functions
Polynomials of degree k-1at each
interval xi≤ t≤xi+1
2
B-Spline blending functions
defined by Cox-deBoor recursion formula
N i ,1 (t ) =
1
if xi ≤ t ≤ xi +1
0
otherwise
and
N i ,k (t ) =
(t − xi ) N i ,k −1 (t )
xi + k −1 − xi
+
( xi + k − t ) N i +1,k −1 (t )
xi + k − xi +1
Dependence of basis function in
Cox-deBoor recursion formula
A basis function of given order k depends on lower
order functions down to order 1.
N i ,k
N i ,k −1
N i +1,k −1
N i ,k − 2
N i +1,k −2
N i + 2 ,k − 2
.... ... ...
N i ,1
N i +1,1
N i + 2 ,1
N i +3,1 ... N i + k −1,1
The inverse dependence I.e the influence of a first order basis
function Ni,1 on higher order basis functions is given by
N i −k +1,k
.. N i −1,k
.... ... ...
N i −1, 2 N i , 2
N i ,k
N i +1,k .. N i + k −1,k
N i +1, 2
N i ,1
3
Knots and Knot vectors of B-splines
• Knot
– Each subinterval endpoint xi
– Knot Vector
• Entire set of selected subinterval endpoints
• Choose any values for subinterval endpoints
– Only condition is xi ≤ xi +1
• It is possible to choose a knot vector such that
the Cox-deBoor denominator is 0
– Then assume 0/0 = 0
Cubic B-Spline
4
B-Spline properties
• Degree k-1 and Ck-2 continuity over range of n+1
control points
– Described with n+1 blending functions
• Each blending function Ni,k defined over k
subintervals of the total range of x, starting at knot
value xk
• Range of x divided into n+k subintervals by the
n+k+1 values specified in the knot vector
– Knot values labeled as {x0, x1, …, xn+k}
– B-spline curve defined only in the interval from knot value
xk-1 up to knot value xn+1
• Each section of B-spline curve between 2
successive knot values is influenced by k control
points
• Any control point can affect the shape of at most k sections
B-Spline properties (Contd.)
• Local control
• Varying the number of control points without varying
the degree of the polynomial
• Increase number of values in knot vector to aid in
curve design
• Adding knots to knot vector
– Must add control points
• Size of knot vector is n+k+1
– n depends on the number of control points
n +1
i =1
N i ,k (t ) ≡ 1
5
Classes of knot vectors
• Uniform
– Spacing between knot values is constant
• Eg (0,1,2,3,4,5,6,7)
• (0 0.25 0.5 0.75 1.0) (Normalized)
• Open Uniform
– Have repeating values in knot vector
• Eg (0,0,0,0,1,1,1,1)
• Non-uniform
– Spacing between knot values is non-constant
• Eg (01,3,4,7,8,22)
Uniform Periodic B-spline curve
• Spacing between knot values is constant
• Periodic
– has periodic blending functions
• Given values n&k, all blending functions have the
same shape
– Each successive blending function is a shifted version
of the previous
• Ni,k(t) = Ni+1,k(t + 1) = Ni-1,k(t -1)
– 1 is the interval between knots
N i ,k (t ) =
(t − xi ) N i ,k −1 (t )
xi + k −1 − xi
+
( xi + k − t ) N i +1,k −1 (t )
xi + k − xi +1
6
Calculating Uniform Periodic
functions
• Calculate 4 third order (k=3) basis functions
Ni,3(t),i=1,2,3,4
• Here N+1=4
• Calculating knot vector: Calculation of
N6,1requires x6 and x7 while N1,1requires x1 and
x2 Therefore, in all we need n+k+1 knot values,
i.e, [X]=[0 1 2 3 4 5 6 ]
0 ≤ t ≤1
N1,1 (t) = 1;
N i,1 (t) = 0
i ≠1
N1,2 (t) = t ;
N i,2 (t) = 0
i ≠1
N i,3 (t) = 0
i ≠1
N1,3 (t) =
t2
;
2
Uniform Periodic basis (contd.)
1≤ t ≤ 2
N 2,1 (t) = 1;
N i,1 (t) = 0
N1,2 (t) = (2 − t );
N1,3 (t) =
i≠2
N 2,2 (t) = (t − 1);
N i,2 (t) = 0
i ≠ 1,2
t
3−t
(2 − t ) +
(t − 1);
2
2
(t - 1) 2
N 2,3 (t) =
;
2
N i,3 (t) = 0
i ≠ 1,2,3
7
Uniform Periodic basis (contd.)
2≤t≤3
N 3,1 (t) = 1;
N i,1 (t) = 0
N 2,2 (t) = (3 − t );
i≠3
N 3,2 (t) = (t − 2);
(3 − t )
;
2
(t - 1)(3 - t) (4 - t)(t - 2)
N 2,3 (t) =
+
;
2
2
(t − 2) 2
N 3,3 (t) =
N i,3 (t) = 0
2
N1,3 (t) =
N i,2 (t) = 0
i ≠ 2,3
2
i ≠ 1,2,3
Uniform Periodic basis (contd.)
3≤ t ≤ 4
N 4,1 (t) = 1;
N i,1 (t) = 0
N 3,2 (t) = (4 − t );
i≠4
N 4,2 (t) = (t − 3);
(4 − t ) 2
;
2
(t - 2)(4 - t) (5 - t)(t - 3)
N 3,3 (t) =
+
;
2
2
(t − 3) 2
N 4,3 (t) =
N i,3 (t) = 0
2
N i,2 (t) = 0
i ≠ 3,4
N 2,3 (t) =
i ≠ 2,3,4
8
Uniform Periodic functions
1
N1,3
N2,3
N3,3
N4,3
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
1
2
3
4
5
6
Uniform Periodic basis (contd.)
4≤t≤5
N 5,1 (t) = 1;
N i,1 (t) = 0
N 4,2 (t) = (5 − t );
i≠5
N 5,2 (t) = (t − 4);
(5 − t ) 2
;
2
(t - 3)(5 - t) (6 - t)(t - 4)
N 4,3 (t) =
+
;
2
2
N i,2 (t) = 0
i ≠ 4,5
N 3,3 (t) =
N i,3 (t) = 0
i ≠ 3,4
9
Uniform Periodic basis (contd.)
5≤ t ≤6
N 6,1 (t) = 1;
N i,1 (t) = 0
N 5,2 (t) = (6 − t );
2
(6 - t)
N 4,3 (t) =
;
2
i≠6
N i,2 (t) = 0
i≠5
N i,3 (t) = 0
i≠4
Open Uniform basis Functions
•
•
•
To calculate 4 third order basis functions:
Here n+1=4, k=3 need to calculate Ni,3=I=1,2,3,4
The knot vector [x]=[0 0 0 1 2 2 2]
0 ≤ t ≤1
N 3,1 (t) = 1;
N i,1 (t) = 0
i≠3
N 2,2 (t) = (1 − t );
N 3,2 (t) = t ;
N i,2 (t) = 0
N1,3 (t) = (1 - t) 2 ;
N 2,3 (t) = t (1 - t)
(2 - t)
t;
2
N 3,3 (t) =
t2
; N i,3 (t) = 0
2
i ≠ 2,3
i ≠ 1,2,3
10
Open Uniform basis Functions
• Continuing for the next interval
1≤ t ≤ 2
N 4,1 (t) = 1;
N i,1 (t) = 0
N 3,2 (t) = (2 − t );
i≠4
N 4,2 (t) = (t − 1);
N i,2 (t) = 0 i ≠ 3,4
(2 - t)
(2 - t) 2
+ (2 - t)(t - 1);
;
N 3,3 (t) = t
2
2
N 4,3 (t) = (t - 1) 2 ; N i,3 (t) = 0
i ≠ 2,3,4
N 2,3 (t) =
B-Spline Control
The control is achieved by following common methods
•Changing the type of knot vector and hence the basis
function: periodic uniform, open uniform or nonuniform
•Changing the order k of the basis functions
•Changing the number and position of the defining
polygon vertices
•Using multiple polygon vertices
•Using multiple knot values in the knot vector
11
B-Spline Control: Changing Number
and position of vertices
Controlling the curve with repeating the vertices
[0 0 0 0 1 1 1 1]
12
B-Spline Control: Repeating the
Number of vertices
B-Spline Control:
Closed – Non-uniform knot vector
a
b
c
d
13
Cubic B-Spline
14
© Copyright 2026 Paperzz