0% found this document useful (0 votes)
59 views40 pages

Unit - 2 - B-Spline - 1

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 40

Computer Aided Design and Manufacturing

Course Code: ME-308


Instructor
Dr. Deepak Kumar
Room No: 116, Department of Mechanical Engineering
Email: deepakkumar@mmumullana.org
M#8059931047

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis: Motivation
Consider designing the profile of a vase.
The left figure below is a Bzier curve of degree 11; but, it is difficult to bend the "neck" toward the line segment
P4P5.
The middle figure below uses this idea. It has three Bzier curve segments of degree 3 with joining points marked
with yellow rectangles.
The right figure below is a B-spline curve of degree 3 defined by 8 control points .

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis: Motivation
Those little dots subdivide the B-spline curve into curve segments.
One can move control points for modifying the shape of the curve just like what we do to Bzier
curves.
We can also modify the subdivision of the curve. Therefore, B-spline curves have higher degree of
freedom for curve design.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis: Motivation
Subdividing the curve directly is difficult to do. Instead, we subdivide the domain of the
curve.
The domain of a curve is [0,1], this closed interval is subdivided by points called knots.
These knots be 0 <= u0 <= u1 <= ... <= um <= 1.
Modifying the subdivision of [0,1] changes the shape of the curve.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis: Motivation
In summary: To design a B-spline curve, we need a set of control
points, a set of knots and a set of coefficients, one for each control
point, so that all curve segments are joined together satisfying
certain continuity condition.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis: Motivation

The computation of the coefficients is perhaps the most complex


step because they must ensure certain continuity conditions.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

B-Spline Curves

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves
(Two Advantages)
1. The degree of a B-spline polynmial can
be set independently of the number of
control points.

2. B-splines allow local control over the


shape of a spline curve (or surface)

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves
(Two Advantages)
A B-spline curve that is defined by 6 control point,
and shows the effect of varying the degree of the
polynomials (2,3, and 4)
Q3 is defined by P0,P1,P2,P3
Q4 is defined by P1,P2,P3,P4
Q5 is defined by P2,P3,P4,P5

Each curve segment


shares control points.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves
(Two Advantages)
The effect of changing the position of control
point P4 (locality property).

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves

Bzier Curve B-Spline Curve

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

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 (u ) =(1 u )3 P0 + 3u (1 u ) 2 P1 + 3u 2 (1 u ) P2 + u 3 P3

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

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 control achieved by defining blending functions over subintervals of the total
range of t
Stronger Convex Hull Property
More complex than Bezier
Generally non-global

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Knots, Knot Vector)
Let U be a set of m + 1 non-decreasing
numbers, u0 <= u2 <= u3 <= ... <= um. The ui's
are called knots,
The set U is the knot vector.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Knots, Knot Vector)
U = {u , u , u ,, u
0 1 2 m
}
The half-open interval [ui, ui+1) is the i-th knot
span.
Some ui's may be equal, some knot spans may
not exist.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Knots)
U = {u , u , u ,, u
0 1 2 m
}
If a knot ui appears k times (i.e., ui = ui+1 = ... = ui+k-1), where k >
1, ui is a multiple knot of multiplicity k, written as ui(k).
If ui appears only once, it is a simple knot.
If the knots are equally spaced (i.e., ui+1 - ui is a constant for 0
<= i <= m - 1), the knot vector or the knot sequence is said
uniform; otherwise, it is non-uniform.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions

All B-spline basis functions are supposed


to have their domain on [u0, um].

We use u0 = 0 and um = 1 frequently so that


the domain is the closed interval [0,1].

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
To define B-spline basis functions, we need one
more parameter.
The degree of these basis functions, k. The i-th B-
spline basis function of degree k, written as
Ni,k(u), is defined recursively as follows:
1 if ui u < ui+1
N i ,0 (0) =
0 otherwise
u ui ui+k +1 u
N i ,k (u ) N i ,k 1 (u ) + N i+1,k 1 (u )
ui+k ui ui+k +1 ui+1
Maharishi Markandeshwar University
Computer Aided Design and Manufacturing
B-Spline Basis Functions
1 if ui u < ui+1
N i ,0 (0) =
0 otherwise
u ui u u
=N i ,k (u ) N i ,k 1 (u ) + i+k +1 N i+1,k 1 (u )
ui+k ui ui+k +1 ui+1
The above is usually referred to as the Cox-de Boor recursion formula.
If the degree is zero (i.e., k = 0), these basis functions are all step functions .
basis function Ni,0(u) is 1 if u is in the i-th knot span [ui, ui+1).

We have four knots u0 = 0, u1 = 1,


u2 = 2 and u3 = 3, knot spans 0, 1
and 2 are [0,1), [1,2), [2,3) and the
basis functions of degree 0 are
N0,0(u) = 1 on [0,1) and 0
elsewhere, N1,0(u) = 1 on [1,2) and
0 elsewhere, and N2,0(u) = 1 on
[2,3) and 0 elsewhere.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
To understand the way of computing Ni,k(u) for k greater than 0, we
use the triangular computation scheme.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
To compute Ni,1(u), Ni,0(u) and Ni+1,0(u) are required. Therefore, we can compute N0,1(u),
N1,1(u), N2,1(u), N3,1(u) and so on. All of these Ni,1(u)'s are written on the third column.
Once all Ni,1(u)'s have been computed, we can compute Ni,2(u)'s and put them on the
fourth column. This process continues until all required Ni,k(u)'s are computed.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

B-Spline Basis Functions


(Important Properties )

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Important Properties )
1 if ui u < ui +1
N i ,0 (0) =
0 otherwise
u ui ui +k +1 u
=N i ,k (u ) N i ,k 1 (u ) + N i +1,k 1 (u )
ui +k ui ui +k +1 ui +1
1. Ni,k(u) is a degree k polynomial in u.

2. Non-negativity -- For all i, k and u, Ni,k(u) is non-negative

3. Local Support -- Ni,k(u) is a non-zero polynomial on


[ui,ui+k+1)

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Important Properties )
4. On any span [ui, ui+1), at most k+1 degree k basis
functions are non-zero, namely: Ni-k,k(u), Ni-k+1,k(u), Ni-
k+2,k(u), ..., and Ni,k(u) .

5. The sum of all non-zero degree k basis functions on span


[ui, ui+1] is 1.

6. If the number of knots is m+1, the degree of the


basis functions is k, and the number of degree k
basis functions is n+1, then m = n + k + 1

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Important Properties )
7. Basis function Ni,k(u) is a composite curve of degree k
polynomials with joining points at knots in [ui, ui+k+1 )

8. At a knot of multiplicity k, basis function Ni,k(u) is Ck-k continuous.

Increasing multiplicity decreases the


level of continuity, and increasing
degree increases continuity.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Computation Examples)
Simple Knots
Suppose the knot vector is U = { 0, 0.25, 0.5, 0.75, 1 }.
Basis functions of degree 0: N0,0(u), N1,0(u), N2,0(u) and N3,0(u) defined on knot span
[0,0.25,), [0.25,0.5), [0.5,0.75) and [0.75,1), respectively.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Computation Examples)
All Ni,1(u)'s (U = { 0, 0.25, 0.5, 0.75, 1 }):

4u for 0 u < 0.25


N (u ) =
2(1 2u ) for 0.25 u < 0.5
0 ,1

4u 1 for 0.25 u < 0.5


N1,1 (u ) =
3 u for 0.5 u < 0.75
2(2u 1) for 0.5 u < 0.75
N 2,1 (u ) =
4(1 u ) for 0.75 u < 1
Since the internal knots 0.25, 0.5 and 0.75 are all simple (i.e., k = 1)
and k = 1, there are k k + 1 = 1 non-zero basis function and three
knots. Moreover, N (u), N (u) and N (u) are C0 continuous at knots
0,1 1,1 2,1
0.25, 0.5 and 0.75, respectively.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Basis Functions
(Computation Examples)
From Ni,1(u)'s, one can compute the basis functions of degree 2.
Since m = 4, k = 2, and m = n + k + 1, we have n = 1 and there are
only two basis functions of degree 2: N0,2(u) and N1,2(u). (U = { 0,
0.25,
8u 2 0.5, 0.75, 1 }):for 0 u < 0.25

N 0, 2 (u ) = 1.5 + 12u 16u 2 for 0.25 u < 0.5
4.5 12u + 8u 2 for 0.5 u < 0.75

0.5 4u + 8u 2 for 0.25 u < 0.5



N1, 2 (u ) = 1.5 + 8u 8u 2 for 0.5 u < 0.75
8(1 u ) 2 for 0.75 u < 1

Each basis function is a composite curve of three degree 2 curve
segments.
composite curve is of C1 continuity
Maharishi Markandeshwar University
Computer Aided Design and Manufacturing
B-Spline Basis Functions (Computation Examples)
Knots with Positive Multiplicity :
Suppose the knot vector is U = { 0, 0, 0, 0.3, 0.5, 0.5, 0.6, 1, 1, 1}
Since m = 9 and k = 0 (degree 0 basis functions), we have n = m - k - 1 = 8. there are only
four non-zero basis functions of degree 0: N2,0(u), N3,0(u), N5,0(u) and N6,0(u).

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

B-Spline
Curves

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves
(Definition)
Given n + 1 control points P0, P1, ..., Pn and a knot vector U = { u0, u1, ..., um }, the B-
spline curve of degree k defined by these control points and knot vector U is
n
P(u ) = N
i =0
i ,k (u )pi , u0 u um k = m n 1

The point on the curve that corresponds to a knot ui, P(ui), is referred to as a knot
point.
The knot points divide a B-spline curve into curve segments, each of which is
defined on a knot span.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves
(Definition)
n
P(u ) = N
i =0
i ,k (u )pi , u0 u um k = m n 1

The degree of a B-spline basis function is an input.

To change the shape of a B-spline curve, one can modify one or more of these control
parameters:
1. The positions of control points
2. The positions of knots
3. The degree of the curve

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

B-Spline Curves
Important Properties

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves Important Properties
1. B-spline curve P(u) is a piecewise curve with each component a curve of degree k.

Clamped B-Spline Curve Bzier Curve (degree 10!)

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves Important Properties
2. Equality m = n + k + 1 must be satisfied.

3. Clamped B-spline curve P(u) passes through the


two end control points P0 and Pn.

4. Strong Convex Hull Property: A B-spline curve is


contained in the convex hull of its control poly-
line.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing
B-Spline Curves Important Properties
5. Local Modification Scheme: changing the position of
control point Pi only affects the curve P(u) on interval
[ui, ui+k+1).

The right figure shows the result of moving P2 to the lower right corner. Only
the first, second and third curve segments change their shapes and all
remaining curve segments stay in their original place without any change.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

B-Spline Curves Important Properties


A B-spline curve of degree 4 defined by 13 control points and 18 knots .
Move P6.
The coefficient of P6 is N6,4(u), which is non-zero on [u6, u11). Thus, moving P6
affects curve segments 3, 4, 5, 6 and 7. Curve segments 1, 2, 8 and 9 are not
affected.

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

CURVE MANIPULATIONS

The cases that require manipulation of


curves include:

Displaying
Evaluating Points on Curves
Blending
Segmentation
Trimming
Intersection
Transformation

Maharishi Markandeshwar University


Computer Aided Design and Manufacturing

Maharishi Markandeshwar University


Remind: Convex
A region is convex if the line segment
joining any two points in the region is
also within the region.

You might also like