0% found this document useful (0 votes)
20 views49 pages

CAGD and Geometric Modeling Insights

Uploaded by

smsadlay080
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views49 pages

CAGD and Geometric Modeling Insights

Uploaded by

smsadlay080
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Computer Aided Geometric Design

and Geometric Modeling:


Mathematical Foundations and
Applications

By

Prof. Dr. Ghulam Mustafa

Department of Mathematics
The Islamia University of Bahawalpur
Bahawalpur 63100, PAKISTAN
General Introduction

The ability to represent, analyze, and manipulate shapes with mathematical pre-
cision is one of the cornerstones of modern science, engineering, and computer
technology. From the smooth curves of an automobile body to the aerodynamic
design of aircraft, from architectural visualization to animation in the entertain-
ment industry, the demand for flexible and accurate geometric tools has never been
greater. This demand has given rise to two closely related fields: Computer Aided
Geometric Design (CAGD) and Geometric Modeling. Together, they provide a
rigorous framework for the design and computation of curves surfaces, and solids
that meet both theoretical requirements and practical applications.

Computer Aided Geometric Design (CAGD)

CAGD is primarily concerned with the mathematical theory of curves and sur-
faces. Its central focus is on developing methods to construct, analyze, and ma-
nipulate shapes with desired smoothness, continuity, and approximation proper-
ties. The origins of CAGD can be traced back to approximation theory, polyno-
mial splines, and numerical analysis, which provide the mathematical backbone
for curve and surface representation. In practice, CAGD introduces fundamental
tools such as Bézier curves, B-splines, rational curves, and Non-Uniform Ratio-
nal B-Splines (NURBS). These representations not only allow precise modeling of
conic sections and free-form shapes but also provide designers with powerful con-
trol mechanisms for shape manipulation. CAGD emphasizes mathematical rigor,
ensuring that curves and surfaces behave predictably under differentiation, inte-
gration, and geometric transformations.

Geometric Modeling

Geometric Modeling, while closely related to CAGD, shifts the focus toward the
representation, storage, and computational manipulation of geometric objects in
practical settings. It deals with how curves, surfaces, and solids are modeled inside
computer systems and how these representations are used in applications such as
CAD/CAM, computer graphics, industrial design, robotics, and visualization. Ge-
ometric Modeling encompasses both boundary representations (B-rep) and con-
structive solid geometry (CSG), providing structured ways to build complex mod-
els from simple primitives. It emphasizes algorithms for rendering, intersection,
and meshing, ensuring that mathematical curves and surfaces can be effectively
utilized in real-world computations. Thus, while CAGD supplies the mathemat-
ical foundation, Geometric Modeling ensures computational realization and ap-
plication.

Mathematical Foundations and Applications

This book is written to bridge the gap between theory and practice by present-
ing the mathematical foundations of CAGD and Geometric Modeling, followed
by their applications in design and computation. It covers essential topics such
as Bézier and B-spline curves, NURBS, spline functions, subdivision schemes, and
techniques of approximation and interpolation. Special emphasis is placed on both
rigorous derivation and practical implementation, ensuring that students gain a
deep understanding of the subject along with the ability to apply it to real prob-
lems. By the end of this text, students will be able to:

1. Understand the mathematical principles of curve and surface design.

2. Apply spline-based techniques for interpolation and approximation.

3. Construct and manipulate Bézier, B-spline, and rational curves and surfaces.

4. Implement geometric modeling algorithms for CAD/CAM and graphics ap-


plications.

5. Appreciate the interplay between mathematics, computation, and design.

Aim of the Book

The aim of this book is twofold:

1. To provide a mathematically rigorous introduction to CAGD and Geometric


Modeling.
2. To demonstrate how these mathematical concepts are applied in real-world
design and computational applications.

This balance of foundations and applications ensures that the book serves as both
a reference for advanced study and a practical guide for students and professionals
in mathematics, computer science, and engineering.
Chapter 1
Curve Representations and Properties

Curves play a central role in geometric modeling and computer-aided geometric


design. They provide precise mathematical descriptions of shapes and form the
foundation for constructing complex geometries in engineering and graphics.
This chapter presents three primary curve representations: explicit, implicit, and
parametric. In addition, the concept of synthetic curves is introduced, where curves
are defined by a set of control points rather than explicit equations. Details of
specific synthetic curves, such as Bézier and B-splines, will be discussed in the
next chapter.
The chapter also covers the geometric notions of tangent and normal vectors,
types of continuities (parametric and geometric), and the use of implicit and ra-
tional polynomials in curve representation. These ideas build a foundation for the
more advanced curve and surface modeling techniques that follow.

1.1 Representations of the curves

Graphical representation of functions is called curves. There are three types of


representations of curves:

• Explicit representation

• Implicit representation

• Parametric representation

1
2 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

1.1.1 Explicit representation

In this representation, we represent one variable in terms of another variable using


a single-valued function, i.e. y = f (x). Examples of explicit curves include:

A line: f (x) = 3x + 6,

An upper semi-circle: f (x) = + 1 − x2 ,

A lower semi-circle: f (x) = − 1 − x2 .

The explicit representations and corresponding curves are shown in Fig. 1.1.

Figure 1.1: Explicit representation and curves: (a) A line, (b) Upper and lower
semi-circles, (c) A circle.

1.1.2 Implicit representation

In general, every implicit curve is defined by an equation of the form f (x, y) = 0,


for some function f of two variables. Examples of implicit curves include:

A circle: f (x, y) = x2 + y 2 − 1,

An ellipse f (x, y) = x2 /a2 + y 2 /b2 − 1.

A parabola f (x, y) = y 2 − 4ax

Conic section f (x, y) = ax2 + bxy + cy 2 + dx + ey + f.

where a, b, c, d, e and f are real constants. The implicit representations and curves
are shown in Figure 1.2
1.1. REPRESENTATIONS OF THE CURVES 3

Figure 1.2: Implicit representation and curves: (a) Circle (b) Ellipse (c) Parabola (d)
General conic section

1.1.3 Parametric representation

If the variables x and y are represented as a function of some other independent


variable (say t) where t is parameter. It may be a time or an angle. Then such a
representation is said to be parametric representation. It is generally denoted as
Q(t) = (x(t), y(t)).
There are two categories of curves that can be represented parametrically: analytic
curves and synthetic curves.
Analytic curves are defined as those that can be described by analytic equations
such as lines, circles, and conics. Examples of analytic curves include:

A line: Q(t) = (at + b, ct + d),

A circle: Q(t) = (r cos(t), r sin(t)),

An ellipse: Q(t) = (a cos(t), b sin(t)),

A parabola: Q(t) = (at2 , 2at),


4 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

where a, b, c, d, r are constants and t belongs to some interval. Parametric represen-


tations and curves are shown in Figure 1.3

Figure 1.3: Parametric representation and curves: (a) Line Q(t) = (at + b, ct + d), (b)
Circle Q(t) = (r cos t, r sin t), (c) Ellipse Q(t) = (a cos t, b sin t), (d) Parabola Q(t) =
(at2 , 2at).

Synthetic curves

Synthetic curves are the ones that are described by a set of data points (control
points) such as Bezier and B-splines curves (will be discussed later). The need for
synthetic curves in design arises on two occasions: when a curve is represented
by a collection of measured data points and when an existing curve must change
to meet new design requirements. Analytic curves are usually not sufficient to
meet geometric design requirements of mechanical parts. Synthetic curves pro-
vide designers with greater flexibility and control of a curve shape by changing the
positions of the control points. Products such as car bodies, ship hulls, airplane
fuselage and wings, propeller blades, shoe insoles, and bottles are a few examples
that require free-form, or synthetic, curves and surfaces.
1.2. TANGENT AND NORMAL VECTORS 5

1.2 Tangent and normal vectors

A straight line that touches a curve at a point, but (locally) does not cross it at that
point, is called a tangent. Formally, for a differentiable parametric curve the tangent
at t = t0 is the line through Q(t0 ) in the direction of the derivative Q′ (t0 ).
A normal vector is any vector perpendicular to the tangent vector. A tangent vector
rotated by 90◦ (counterclockwise) using the rotation matrix gives a normal vector.
The rotation matrix for a 90◦ counterclockwise rotation is
   
π π

cos 2
− sin 2 0 −1
R90◦ =  = .
π π

sin 2 cos 2 1 0

If Q(t) = (x(t), y(t)) is a parametric curve then the (velocity) tangent vector is

 

x (t)
T (t) = Q′ (t) =  .

y (t)

A normal vector may be obtained by applying R90◦ :

    
0 −1 x′ (t) −y ′ (t)
N (t) = R90◦ T (t) =   = ,
′ ′
1 0 y (t) x (t)

and one immediately checks T (t) · N (t) = 0.

The equation of the tangent line at t = t0 (use a line parameter s to avoid confu-
sion with the curve parameter t) is

LT (s) = Q(t0 ) + s T (t0 ), s ∈ R,

and the equation of the normal line at t = t0 is

LN (s) = Q(t0 ) + s N (t0 ), s ∈ R.

Figure 1.4 illustrates the tangent and normal vectors.


6 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

Figure 1.4: Illustration of tangent and normal vectors at a point Q(t0 ) on a curve.
The tangent vector is obtained from the derivative of the curve, and the normal
vector is obtained by a 90◦ rotation of the tangent.

Example 1.2.1. Find the tangent and normal lines of the parametric form of an

ellipse Q(t) = a cos t, b sin t , a, b > 0, at t0 = π.

Solution. Since the parametric form of an ellipse is


Q(t) = a cos t, b sin t , a, b > 0,

its derivative (velocity / tangent vector) is

T (t) = Q′ (t) = − a sin t, b cos t .




Apply the rotation matrix to obtain a normal vector:

    
0 −1 −a sin t −b cos t
N (t) = R90◦ T (t) =   = .
1 0 b cos t −a sin t

Now evaluate everything at t0 = π. Use cos π = −1 and sin π = 0:


Q(π) = a cos π, b sin π = (−a, 0),


T (π) = − a sin π, b cos π = (0, −b),
1.2. TANGENT AND NORMAL VECTORS 7

N (π) = − b cos π, −a sin π = (b, 0).

Tangent line: using line parameter s,


LT (s) = Q(π) + s T (π) = (−a, 0) + s(0, −b) = − a, −bs .

So for each s the point on the tangent has coordinates (−a, −bs). If you prefer
slope–intercept form: the tangent through (−a, 0) with direction vector (0, −b) is
vertical-free and has constant x = −a; this is a vertical translation only if T (π) had
a nonzero x-component (here x-component is 0), hence the tangent line is vertical
in the x-coordinate sense (constant x).
Normal line: similarly,


LN (s) = Q(π) + s N (π) = (−a, 0) + s(b, 0) = − a + bs, 0 .

Thus the normal lies along the horizontal axis through y = 0, passing through
(−a, 0) as s varies. Finally, check orthogonality:

T (π) · N (π) = (0, −b) · (b, 0) = 0 · b + (−b) · 0 = 0,

as required.
As shown in Fig. 1.5, the ellipse at t = π has the point Q(π) = (−a, 0). The tangent

Figure 1.5: Ellipse Q(t) = (a cos t, b sin t) with tangent and normal lines at t = π.

vector is T (π) = (0, −b), which means the tangent direction has no x-component
8 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

and only a y-component. This indicates that the tangent is vertical. Since it passes
through (−a, 0), the equation of the tangent line is x = −a. The normal vector is
N (π) = (b, 0), which is horizontal. Thus, the normal line passes through (−a, 0)
along the x-axis, giving y = 0. □

Example 1.2.2. Find the tangent and normal lines of the parametric form of a circle

Q(t) = r cos t, r sin t , r > 0, at t0 = π.

Solution. For the circle parameterized by


Q(t) = r cos t, r sin t , r > 0,

we have

T (t) = Q′ (t) = − r sin t, r cos t ,


 
N (t) = R90◦ T (t) = − r cos t, −r sin t .

Evaluate at t0 = π where cos π = −1 and sin π = 0:

Q(π) = (−r, 0), T (π) = (0, −r), N (π) = (r, 0).

Tangent line:


LT (s) = Q(π) + s T (π) = (−r, 0) + s(0, −r) = − r, −rs .

Normal line:


LN (s) = Q(π) + s N (π) = (−r, 0) + s(r, 0) = − r + rs, 0 .

Orthogonality is immediate:

T (π) · N (π) = (0, −r) · (r, 0) = 0,

as required.
1.3. PARAMETRIC AND GEOMETRIC CONTINUITY 9

Figure 1.6: Circle Q(t) = (r cos t, r sin t) with tangent and normal lines at t = π.

In Fig. 1.6, the circle at t = π has the point Q(π) = (−r, 0). The tangent vector is
T (π) = (0, −r), which again shows that the tangent has no x-component and only
a y-component. Therefore, the tangent line is vertical. Passing through (−r, 0), its
equation is x = −r. The normal vector at t = π is N (π) = (r, 0), which lies along
the x-axis. Hence, the normal line through (−r, 0) is y = 0. □

1.3 Parametric and geometric continuity

Mathematically, synthetic and parametric curves represent a curve-fitting problem


to construct a smooth curve that passes through given data points. There are two
categories of continuities: geometric continuity and parametric continuity.

Definition 1.3.1. Parametric continuity is achieved by matching the parametric


derivatives of adjoining curves at their common boundary.

• Zero-order parametric continuity, or C 0 continuity, yields a position continu-


ous curve. That is curves are joined.

• First-order parametric continuity, or C 1 continuity, imply slope continuous


curves. It means first derivatives are equal at joint.

• Second-order parametric continuity, or C 2 continuity, imply curvature con-


tinuous curves. It means first and second derivatives are equal at joint.
10 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

• nth-order parametric continuity, or C n continuity, means up to nth derivative


are equal at joint.

Definition 1.3.2. In geometric continuity, we only require parametric derivatives


of the two sections to be proportional to each other at their common boundary.

• Zero-order geometric continuity, or G0 continuity, is the same as zero-order


parametric continuity. That is, the two curves sections must have the same
coordinate position at the boundary point. In other words, curves are joined.

• First order geometric continuity, or G1 continuity, means that the parametric


first derivatives are proportional at the intersection on two successive sec-
tions. If we denote the parametric position on the curve as f (t), the direction
of the tangent vector f ′ (t), but not necessarily its magnitude, will be the same
for two successive curve sections at their joining point under G1 continuity.
In otherworld, first derivatives are proportional at the join point.

• Second-order geometric continuity, or G2 continuity, means that both the first


and second parametric derivatives of the two curve sections are proportional
at their boundary. Under G2 continuity, curvatures of two curve sections will
match at the joining position. In other words, first and second derivatives are
proportional at join point.

• Similarly, nth-order geometric continuity, or Gn continuity, means up to nth


derivatives are proportional at join point.

A parametric continuity of order n implies geometric continuity of order n, but


not vice-versa. A curve generated with geometric continuity conditions is similar
to one generated with parametric continuity, but with slight differences in curve
shape. With geometric continuity, the curve is pulled toward the section with the
greater tangent vector.
The geometric continuity requires the geometry to be continuous, while parametric
continuity requires that the underlying parameterizations be continuous as well.
In other words, The parametric continuity indicates smoothness of motion. For
examples, while deriving on the car, jumps on the road, is example of parametric
1.3. PARAMETRIC AND GEOMETRIC CONTINUITY 11

continuity that is the parametric continuity studies that how much smooth is the
road. While geometric continuity indicates visual smoothness of the curve. For
example, movie screen.

Parametric and Geometric Continuity

Let f (t) be a piecewise function defined on an interval [a, b], and let c ∈ [a, b] be a
joining point between two pieces.

Cn (Parametric) Continuity

The function f (t) is said to have parametric continuity if the derivatives up to order
n are continuous at c:

• C 0 : f (c− ) = f (c+ ) (the function is continuous at c),

• C 1 : f (c− ) = f (c+ ) and f ′ (c− ) = f ′ (c+ ) (tangent vectors match in both direc-
tion and magnitude),

• C 2 : f (c− ) = f (c+ ), f ′ (c− ) = f ′ (c+ ), and f ′′ (c− ) = f ′′ (c+ ) (curvature is con-


tinuous),

• . . . higher-order C n continuity requires equality of derivatives up to order n.

Gn (Geometric) Continuity

The function f (t) is said to have geometric continuity if the geometric properties (posi-
tion, tangent direction, curvature, etc.) are continuous, allowing the magnitude of
derivatives to differ:

• G0 : f (c− ) = f (c+ ) (positions match),

• G1 : f (c− ) = f (c+ ) and f ′ (c− ) ∥ f ′ (c+ ) (tangent directions match; magni-


tudes may differ),
12 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

• G2 : f (c− ) = f (c+ ) and the curvature is continuous at c (curvature direction


and rate of change match; derivative magnitudes may differ),

• . . . higher-order Gn continuity ensures smooth geometric behavior up to the


n-th derivative.

Here, f (c− ) and f (c+ ) denote the left-hand and right-hand limits of f at c. Sim-
ilarly, f ′ (c− ) and f ′ (c+ ) denote the one-sided derivatives. For G1 , f ′ (c− ) ∥ f ′ (c+ )
means the tangent vectors are proportional: f ′ (c− ) = k1 f ′ (c+ ) for some k1 > 0. For
G2 , curvature continuity involves both first and second derivatives.

Figure 1.7 illustrates parametric continuity (C 0 –C 3 ), and Figure 1.8 shows geo-
metric continuity (G0 –G3 ).

Figure 1.7: Illustration of parametric continuities C 0 –C 3 .

Figure 1.8: Illustration of geometric continuities G0 –G3 .

Example 1.3.1. Consider a camera that moves along an elliptic trajectory, but with
an altered parametric representation: At t = a the camera’s speed suddenly in-
creased by a factor of three 3. The equation describing the motion is

 (w cos(t), h sin(t)), if 0 ⩽ t ⩽ a,
f (t) =
 (w cos(3t − 2a), h sin(3t − 2a)), if a ⩽ t ⩽ 2(π+a)
3
.

Then discuss parametric and geometric continuity upto second order.


1.3. PARAMETRIC AND GEOMETRIC CONTINUITY 13

Figure 1.9: Piecewise elliptic camera trajectory for w = 3, h = 2, and a = 1.

Explanation: In Fig. 1.9, the camera moves smoothly along the path, but at t = a
its speed suddenly triples. The position stays the same, and you can see the faster
motion from the longer arrows after the speed change. Here, w = 3, h = 2, and
a = 1.

Solution. Since f is piecewise function so continuity will be discussed at the joint


i.e. at point a. Since

f (a− ) = (w cos(a), h sin(a))

f (a+ ) = (w cos(3a − 2a), h sin(3a − 2a)) = (w cos(a), h sin(a)).

Therefore f (a− ) = f (a+ ). Hence f is C 0 and G0 -continuous at point a. Since cos and
sin functions are continuous over the entire domain so f is C 0 and G0 -continuous
over the entire domain. Since

 (−w sin(t), h cos(t)), if 0 ⩽ t ⩽ a,

f (t) =
 (−3w sin(3t − 2a), 3h cos(3t − 2a)), 2(π+a)
if a ⩽ t ⩽ 3
.

Therefore

f ′ (a− ) = (−w sin(a), h cos(a)),

f ′ (a+ ) = (−3w sin(3a − 2a), 3h cos(3a − 2a)) = 3(−w sin(a), h cos(a)).


14 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

So f ′ (a− ) ̸= f ′ (a+ ). Hence f is not C 1 continuous at point a. But as

f ′ (a+ ) = 3(−w sin(a), h cos(a)) = 3f ′ (a− ).

So f is G1 continuous at point a as well as on the entire domain. Now since



 (−w cos(t), −h sin(t)), if 0 ⩽ t ⩽ a,
′′
f (t) =
 (−9w cos(3t − 2a), −9h sin(3t − 2a)), 2(π+a)
if a ⩽ t ⩽ 3
.

This implies

f ′′ (a− ) = (−w cos(a), −h sin(a)),

f ′′ (a+ ) = (−9w cos(3a − 2a), −9h sin(3a − 2a))

= 9(−w cos(a), −h sin(a)).

As f ′′ (a+ ) = 9f ′′ (a− ), then f is G2 continuous at point a as well as on the entire


domain.
Here we illustrate the concept of co-continuity at a joint point t = a. As shown in
Figure 1.10, the piecewise function is C 0 -continuous but not C 1 )-continuous, while
it satisfies geometric continuity conditions (G1 and G2 ). □

Figure 1.10: Co-continuity at t = a: C 0 ok, C 1 no, G1 ok, G2 ok. Left and right
tangents at the joint point are shown.
1.4. POLYNOMIALS 15

1.4 Polynomials

Explicity the nth degree polynomial can be defined as

p(t) = an tn + an−1 tn−1 + · · · + a2 t2 + a1 t + a0 ,

where an , an−1 , · · · , a2 , a1 , a0 are real coefficients and all the powers are non-negative
integers. This polynomial is represented by the linear combination of certain ele-
mentary polynomial 1, t1 , t2 , · · · , tn . The order of polynomial is one more than the
degree of polynomial. That is if the degree of polynomial is n then its order is n + 1
(total number of coefficients).
The set of polynomials of degree less than or equal to n forms a vector space and
the set of elementary polynomials {1, t1 , t2 , · · · , tn } forms a basis for this vector
space.
A cubic polynomial is the minimum-order polynomial that can guarantee the gen-
eration of C 0 , C 1 and C 2 curves. The higher-order polynomials are not commonly
used in Computer Aided Design (CAD) systems because they tend to oscillate
about control points, are computationally inconvenient, and are uneconomical of
storing curve representations in the computer.
The parametric polynomial of degree 1 is defined as p(t) = (at + b, ct + d), where
a, b, c and d are constants. Of course the shape of this polynomial is a straight line.
The parametric polynomial of degree 2 is defined as p(t) = (at2 + bt + c, dt2 + et + f ),
where a, b, c, d, e and f are constants and (a, d ̸= 0). The shape of this polynomial
is parabola. Similarly, one can define higher degree parametric polynomials. As
shown in Figure 1.11, the polynomial curves of degree one, two, and three exhibit
distinct behaviors.

1.4.1 Implicit and rational polynomials of degree 2

The well known implicit 2nd degree polynomial to generate conic section is f (x, y) =
Ax2 + Bxy + Cy 2 + Dx + Ey + F , where A, B, C, D, E, F , are real constants. If

• AC − B 2 > 0, then f (x, y) represents ellipse,


16 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

Figure 1.11: Polynomial curves of degree 1, 2, and 3 plotted parametrically with


x(t) and y(t) equations.

• AC − B 2 = 0, then f (x, y) represents parabola,

• AC − B 2 < 0, then f (x, y) represents hyperbola.

As shown in Figure 1.12, the three main types of conic sections—ellipse, parabola,
and hyperbola—are illustrated with their corresponding constants.
Unfortunately, there do not exist 2nd degree parametric polynomial to generate

Figure 1.12: Conic sections generated from the implicit 2nd-degree polynomial.
Each subplot shows the constants used for plotting: Ellipse, Parabola, Hyperbola.

conic section. But luckily, there exists a 2nd degree rational parametric polynomial
to represent conic section defined in the form of ratio of two polynomials.

1.5 Rational parametric curve and conic sections

We consider the rational parametric curve defined as:

p0 (1 − t)2 + 2wp1 t(1 − t) + p2 t2


p(t) = , t ∈ [0, 1],
(1 − t)2 + 2wt(1 − t) + t2
1.5. RATIONAL PARAMETRIC CURVE AND CONIC SECTIONS 17

where w is a weight parameter, and p0 (x0 , y0 ), p1 (x1 , y1 ), p2 (x2 , y2 ) are control


points that influence the shape of the curve. Component-wise, it can be written
as:

!
x0 (1 − t)2 + 2wx1 t(1 − t) + x2 t2 y0 (1 − t)2 + 2wy1 t(1 − t) + y2 t2
p(t) = , .
(1 − t)2 + 2wt(1 − t) + t2 (1 − t)2 + 2wt(1 − t) + t2

Properties

• p(0) = (x0 , y0 ) = p0 (initial point)

• p(1) = (x2 , y2 ) = p2 (final point)

For 0 ≤ t ≤ 1:

• w < 1 → segment of an ellipse

• w = 1 → segment of a parabola

• w > 1 → segment of a hyperbola

Important Remark

This rational parametric curve generates only a segment of the conic section be-
tween p0 and p2 . It does not generate the complete ellipse, parabola, or hyperbola.
To represent a full conic, multiple segments must be joined appropriately, or a dif-
ferent parametric form of the full conic must be used. This limitation arises from
the domain t ∈ [0, 1] and the influence of the single intermediate control point
p1 . The resulting figure (Fig. 1.13) shows all three segments in a single plot, with
control points marked.
18 CHAPTER 1. CURVE REPRESENTATIONS AND PROPERTIES

Figure 1.13: Segments of rational parametric curve representing ellipse, parabola,


and hyperbola. Control points and weight values influence the curve shape.
Chapter 2
Bezier curve and B-spline curve

2.1 Bernstein polynomial

Bernstein polynomial was introduced by Sergei Natanovich Bernstein. Sometimes


Romanized as Bernshtein (5 March 1880-26 October 1968) was a Russian and Soviet
mathematician. Bernstein polynomial of degree n, order n + 1 is defined by
 
n i
Bi,n (t) = t (1 − t)n−i , t ∈ [0, 1], (2.1)
i

where i = 0, 1, . . . , n.

• Bernstein polynomials of degree n = 1, for i = 0, 1, are


 
1 0
B0,1 (t) = t (1 − t)1−0 = 1 − t,
0
 
1 1
B1,1 (t) = t (1 − t)1−1 = t. (2.2)
1

• Bernstein polynomials of degree n = 2, for i = 0, 1, 2, are


 
2 0
B0,2 (t) = t (1 − t)2−0 = (1 − t)2 ,
0
 
2 1
B1,2 (t) = t (1 − t)2−1 = 2t(1 − t),
1
 
2 2
B2,2 (t) = t (1 − t)2−2 = t2 . (2.3)
2

19
20 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

• Bernstein polynomials of degree n = 3, for i = 0, 1, 2, 3, are


 
3 0
B0,3 (t) = t (1 − t)3−0 = (1 − t)3 ,
0
 
3 1
B1,3 (t) = t (1 − t)3−1 = 3t(1 − t)2 ,
1
 
3 2
B2,3 (t) = t (1 − t)3−2 = 3t2 (1 − t),
2
 
3 3
B3,3 (t) = t (1 − t)3−3 = t3 . (2.4)
3

The Bernstein polynomials up to degree 3 are shown in Figure 2.1.

Figure 2.1: Bernstein polynomials Bi,n (t) for degrees n = 1, 2, 3.

2.1.1 Properties of Bernstein polynomials

Some of the important properties of Bernstein polynomials are given below

Property 2.1.1. B0,0 (t) = 1.

Property 2.1.2. Bi,n (t) = 0 when i < 0 and i > n.

Proof. First consider the case when i < 0, that is replace i by −i


 
n −i
Bi,n (t) = t (1 − t)n+i .
−i

n n
 
Since −i
= 0, then Bi,n (t) = 0. Now consider the case when i > n. Since i
= 0,
for i > n, so
 
n i
Bi,n (t) = t (1 − t)n−i = 0.
i
2.1. BERNSTEIN POLYNOMIAL 21

This completes the proof.

Property 2.1.3.

 1, if i = 0,
Bi,n (0) = (2.5)
 0, if i ̸= 0.

Proof. Consider the case when i = 0, that is


 
n 0
B0,n (0) = 0 (1 − 0)n−0 .
0

Since, 00 = 1, therefore
 
n 0 n
B0,n (0) = 0 (1) = 1 × 1 × 1 = 1.
0

Now consider the case when i ̸= 0


 
n i n−i
Bi,n (0) = 0 (1) .
i

Since 0i = 0 for i ̸= 0, therefore Bi,n (0) = 0.

Property 2.1.4.

 1, if i = n,
Bi,n (1) = (2.6)
 0, if i = 0, 1, 2, . . . , n − 1.

Proof. Consider the case when i = n, that is


 
n n
Bn,n (1) = 1 (1 − 1)n−n .
n

Since, 00 = 1, therefore
 
n n 0
Bn,n (1) = 1 (0) = 1 × 1 × 1 = 1.
n
22 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

Now consider the case when i = 0, 1, 2, . . . , n − 1.


 
n i n−i
Bi,n (1) = 1 (0) .
i

Since n − i ̸= 0, for i = 0, 1, 2, . . . , n − 1, then 0n−i = 0, therefore Bi,n (1) = 0.

Property 2.1.5. Bernstein polynomial of degree n is the linear combination of the Bernstein
polynomial of degree n − 1.

Bi,n (t) = (1 − t)Bi,n−1 (t) + tBi−1,n−1 (t), i = 1, 2, 3, · · · , n.

Proof. Consider (1 − t)Bi,n−1 (t) + tBi−1,n−1 (t)


   
n−1 i n−1−i n − 1 i−1
= (1 − t) t (1 − t) +t t (1 − t)n−1−(i−1)
i i−1
   
n−1 i n−1−i n − 1 i−1
= (1 − t) t (1 − t) +t t (1 − t)n−i
i i−1
   
n−1 i n−i n−1 i
= t (1 − t) + t (1 − t)n−i
i i−1
   
n−1 n−1
= + ti (1 − t)n−i
i i−1
 
n i
= t (1 − t)n−i
i
= Bi,n (t).

This completes the proof.

Pn
Property 2.1.6. Bernstein polynomials form a partition of unity i.e. i=0 Bi,n (t) = 1.

Proof. Since 1 = (1 − t) + t, therefore 1n = [(1 − t) + t]n . By Binomial theorem


   
n n 0 n−0 n 1
[(1 − t) + t] = t (1 − t) + t (1 − t)n−1 + . . .
0 1
 
n n
+ t (1 − t)n−n .
n

This implies

[(1 − t) + t]n = B0,n (t) + B1,n (t) + · · · + Bn,n (t).


2.1. BERNSTEIN POLYNOMIAL 23

This again implies

n
X
n n
1 = 1 = [(1 − t) + t] = Bi,n (t). (2.7)
i=0

This completes the proof.

Property 2.1.7. The derivative of Bernstein polynomial of degree n is linear combination


of n − 1 degree Bernstein polynomial i.e.

d
Bi,n (t) = n [Bi−1,n−1 (t) − Bi,n−1 (t)] , for 0 < i < n. (2.8)
dt

d
Proof. Consider B (t)
dt i,n

    
d n i n−i n  i−1
it (1 − t)n−i − ti (n − i)(1 − t)n−i−1

= t (1 − t) =
dt i i
   
n i−1 n i
= it (1 − t)n−i − t (n − i)(1 − t)n−i−1 .
i i

This implies

n! n!
= iti−1 (1 − t)n−i − ti (n − i)(1 − t)n−i−1
i!(n − i)! i!(n − i)!
n(n − 1)!
= iti−1 (1 − t)n−i
i(i − 1)!(n − 1 − (i − 1))!
n(n − 1)!
− ti (n − i)(1 − t)n−i−1
i!(n − i)(n − i − 1)!
   
n − 1 i−1 n−1 n−1 i
= n t (1 − t) −n t (1 − t)n−i−1 .
i−1 i

this again implies

d
Bi,n (t) = n [Bi−1,n−1 (t) − Bi,n−1 (t)] .
dt

This completes the proof.

Property 2.1.8. Bernstein polynomials are all non-negative, for 0 ⩽ t ⩽ 1.

Proof. By definition  
n i
Bi,n = t (1 − t)n−i .
i
24 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

Since t ⩾ 0 and (1 − t) ⩾ 0 for 0 ⩽ t ⩽ 1, therefore Bi,n ⩾ 0

2.1.2 Degree raising in Bernstein polynomial

Any of the lower degree Bernstein polynomial of degree less than n can be ex-
pressed as a linear combination of Bernstein polynomial of degree n.

Theorem 2.1.9. Prove that any Bernstein polynomial of degree n − 1 can be written as a
linear combination of degree n.

Proof. Consider the Bernstein polynomial of degree n

Bi,n (t) = 1Bi,n (t) = (1 − t + t)Bi,n (t)

= (1 − t)Bi,n (t) + tBi,n (t).

Consider
   
n i n−i n i+1
tBi,n (t) = t t (1 − t) = t (1 − t)(n+1)−(i+1)
i i
n
  
n + 1 i+1
= n+1i
 t (1 − t)(n+1)−(i+1) .
i+1
i + 1

This implies

n! n!
i!(n−i)! i!(n−i)!
tBi,n (t) = (n+1)!
Bi+1,n+1 (t) = (n+1)!
Bi+1,n+1 (t).
(i+1)!(n+1)−(i+1)! (i+1)!(n−i)!

Again implies

n! (i + 1)!(n − i)!
tBi,n (t) = Bi+1,n+1 (t).
i!(n − i)! (n + 1)!

Or

n! (i + 1)i!(n − i)!
tBi,n (t) = Bi+1,n+1 (t).
i!(n − i)! (n + 1)n!
2.1. BERNSTEIN POLYNOMIAL 25

Further implies
 
i+1
tBi,n (t) = Bi+1,n+1 (t).
n+1

Now consider
   
n i n−i n i
(1 − t)Bi,n (t) = (1 − t) t (1 − t) = t (1 − t)n+1−i
i i
n n
   
i n+1 i n+1−i i
= n+1 t (1 − t) = n+1 Bi,n+1 (t).
i
i i

This implies

n!
i!(n−i)! n! i!(n + 1 − i)!
(1 − t)Bi,n (t) = (n+1)!
Bi,n+1 = Bi,n+1 .
i!(n − i)! (n + 1)!
i!(n+1−i)!

Again implies

n! i!(n + 1 − i)(n − i)! n+1−i


(1 − t)Bi,n (t) = Bi,n+1 = Bi,n+1 .
i!(n − i)! (n + 1)n! n+1

Further implies
 
i
(1 − t)Bi,n (t) = 1− Bi,n+1 .
n+1

Now add both terms

Bi,n (t) = (1 − t)Bi,n (t) + tBi,n (t).


   
i i+1
= 1− Bi,n+1 + Bi+1,n+1 (t).
n+1 n+1

Replace n by n − 1
   
i i+1
Bi,n−1 (t) = 1− Bi,n + Bi+1,n (t).
n n

This completes the proof


26 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

2.1.3 Converting from Bernstein basis to power basis

We know that 1, t, t2 , t3 , · · · , tn are called power basis or monomials.

Theorem 2.1.10. Prove that every Bernstein polynomial of degree n can be written in
terms of power basis 1, t, t2 , t3 , · · · , tn .

Proof. Consider an arbitrary Bernstein polynomial


 
n k
Bk,n (t) = t (1 − t)n−k .
k

By Binomial theorem
   
n−k n−k n−k 0 n−k
(1 − t) = (1) (−t) + (1)n−k−1 (−t)1
0 1
   
n−k n−k−2 2 n−k
+ (1) (−t) + · · · · · · + (1)0 (−t)n−k .
2 n−k

This implies

n−k  
n−k
X n−k
(1 − t) = (−1)i (t)i .
i=0
i

So

  (X
n−k   )
n k n−k i i
Bk,n (t) = t (−1) (t) .
k i=0
i

This implies

i=n−k
X   
n n−k
Bk,n (t) = (−1)i (t)k+i .
i=0
k i

Now replace k + i by i that is replace i by i − k, in other word put i = i − k

i−k=n−k
X   
n n−k
Bk,n (t) = (−1)i−k (t)k+(i−k) .
i−k=0
k i−k
2.1. BERNSTEIN POLYNOMIAL 27

Further implies

i=n   
X n n−k
Bk,n (t) = (−1)i−k (t)i .
i=k
k i−k

Since Bk,n (t) is arbitrary Bernstein polynomial of degree n, therefore every Bern-
stein polynomial of degree n can be written as linear combination of monomials.
This completes the proof.

Example 2.1.1. Let P 3 (t) be the set of polynomials of degree ≤ 3 then prove that
the set of power basis {1, t, t2 , t3 } is the basis of P 3 (t).

Solution. Let S = {1, t, t2 , t3 }, to show that S is the basis of P 3 (t), we have to


prove that

• S is linearly independent,

• S generates (i.e. span) P 3 (t). This means every polynomial of degree less
than or equal to 3 can be expressed as the linear combination of 1, t, t2 , t3 .

First we prove that S is linearly independent. For this consider the linear combina-
tion of 1, t, t2 , t3 and put it as 0 i.e.

a0 t0 + a1 t1 + a2 t2 + a3 t3 = 0,

where a0 , a1 , a2 , a3 are scalars. This can be written as

a0 t0 + a1 t1 + a2 t2 + a3 t3 = 0t0 + 0t1 + 0t2 + 0t3 .

Comparing the coefficients of t and constant term, we get a0 = a1 = a2 = a3 = 0.


Since all the scalars are zero so S is linearly independent.
Now prove that S generates P 3 (t). Let us take an arbitrary element of P 3 (t), i.e.

at0 + bt1 + ct2 + dt3 ∈ P 3 (t),

where a, b, c and d are known constants. This element is equal to the linear com-
bination of the elements of S, so S generates P 3 (t). In other words, the power
28 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

basis {1, t, t2 , t3 } form a space of polynomials of degree less than or equal to 3. This
completes the proof. □
Similarly, we can prove that the power basis {1, t, t2 , t3 , . . . tn } form a space of
polynomials of degree less than or equal to n.

Example 2.1.2. Prove that the set of Bernstein polynomials S={B0,3 (t), B1,3 (t), B2,3 (t),
B3,3 (t)} of degree three is the basis of a space of polynomials P 3 (t) of degree less
than or equal to 3.

Solution. First prove that S is linearly independent, for this take linear combina-
tion of elements of S and set it zero

a0 B0,3 (t) + a1 B1,3 (t) + a2 B2,3 (t) + a3 B3,3 (t) = 0.

By (2.4), this implies

a0 (1 − t)3 + a1 3t(1 − t)2 + a2 3t2 (1 − t) + a3 t3 = 0.

This implies

a0 (1 − t3 − 3t + 3t2 ) + a1 3t(1 + t2 − 2t) + a2 (3t2 − 3t3 ) + a3 t3 = 0.

This further implies

(−a0 + 3a1 − 3a2 + a3 )t3 + (3a0 − 6a1 + 3a2 )t2 + (−3a0 + 3a1 )t + a0

= 0t3 + 0t2 + 0t + 0.

Comparing the coefficients of t3 , t2 , t and constant term

−a0 + 3a1 − 3a2 + a3 = 0

3a0 − 6a1 + 3a2 = 0

−3a0 + 3a1 = 0

a0 = 0
2.1. BERNSTEIN POLYNOMIAL 29

Solving above system of equations by backwards substitution, we get a0 = a1 =


a2 = a3 = 0. Since all the scalars are zero therefore S is linearly independent. Now
we prove that S generates P 3 (t). That is every element of P 3 (t) can be written as
the linear combination of the elements of S. Consider the element of P 3 (t) i.e.

at3 + bt2 + ct + d ∈ P 3 (t),

where a, b, c and d are known constants. Suppose

at3 + bt2 + ct + d = a0 B0,3 (t) + a1 B1,3 (t) + a2 B2,3 (t) + a3 B3,3 (t).

Now find the unknown constants a0 , a1 , a2 and a3 . By (2.4)

at3 + bt2 + ct + d

= a0 (1 − t)3 + a1 3t(1 − t)2 + a2 3t2 (1 − t) + a3 t3

= a0 (1 − t3 − 3t + 3t2 ) + a1 3t(1 + t2 − 2t) + a2 (3t2 − 3t3 ) + a3 t3 .

= a0 (1 − t3 − 3t + 3t2 ) + a1 (3t + 3t3 − 6t2 ) + a2 (3t2 − 3t3 ) + a3 t3

= (−a0 + 3a1 − 3a2 + a3 )t3 + (3a0 − 6a1 + 3a2 )t2 + (−3a0 + 3a1 )t + a0 .

Comparing the coefficients of t3 , t2 , t and constant term

−a0 + 3a1 − 3a2 + a3 = a

3a0 − 6a1 + 3a2 = b

−3a0 + 3a1 = c

a0 = d.

Since a, b, c and d are known constants, therefore a0 = d is known. By backwards


substitutions, we can find other unknowns. Since −3a0 +3a1 = c, so by substituting
a0 = d, we get −3d + 3a1 = c, this implies a1 = (c + 3d)/3.
30 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

Now since

3a0 − 6a1 + 3a2 = b,

so by substituting the values of a0 = d and a1 = (c + 3d)/3,

3d − 6{(c + 3d)/3} + 3a2 = b.

This implies

−3d − 2c + 3a2 = b.

Again implies

a2 = (b + 3d + 2c)/3.

Now since

−a0 + 3a1 − 3a2 + a3 = a.

By substituting the values of a0 = d, a1 = (c + 3d)/3 and a2 = (b + 2c + 3d)/3, we


get

−d + 3{(c + 3d)/3} − 3{(b + 3d + 2c)/3} + a3 = a.

This implies

−d − c − b + a3 = a.

Again implies

a3 = a + b + c + d.
2.2. BE’ZIER CURVE 31

Hence by substituting the values of a0 , a1 , a2 and a3 , we get

at3 + bt2 + ct + d = a0 B0,3 (t) + a1 B1,3 (t) + a2 B2,3 (t) + a3 B3,3 (t)

= {d0 }B0,3 (t) + {(c + 3d)/3}B1,3 (t)

+{(b + 3d + 2c)/3}B2,3 (t) + {a + b + c + d}B3,3 (t).

This means every elements of P 3 (t) is the linear combination of Bernstein polyno-
mials of degree 3. So the set S generates P 3 (t). Since S is also linearly independent.
Hence the set of Bernstein polynomials of degree 3 is the basis of a space of poly-
nomials of degree less than or equal to 3. □

2.2 Be’zier curve

Be’zier curve was developed by Paul de Casteljau in 1959 and independently by


Pierre Be’zier around 1962. Given the set of control points {p0 , p1 , p2 · · · , pn }, we
can define Be’zier curve of degree n as

n
X
P (t) = pi Bi,n (t), t ∈ [0, 1] , (2.9)
i=0

n
i
where Bi,n (t) = i
t (1 − t)n−i is a Bernstein polynomial of degree n. If pi = (xi , yi )
then (2.9) can be written as

n n
!
X X
P (t) = (x(t), y(t)) = xi Bi,n (t), yi Bi,n (t) . (2.10)
i=0 i=0

Example 2.2.1. Find the Be’zier curve which has control points (2, 2), (1, 1.5), (3.5, 0),
(4, 1).

Solution. Let

3
X
x(t) = xi Bi,3 (t) = x0 B0,3 (t) + x1 B1,3 (t) + x2 B2,3 (t) + x3 B3,3 (t).
i=0

Then by substituting the values of Bernstein polynomials Bi,3 (t), for i = 0, 1, 2, 3


given in (2.4) and using the data points (xi , yi ) = (2, 2), (1, 1.5), (3.5, 0), (4, 1), we
32 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

get

x(t) = 2(1 − t)3 + 1(3t)(1 − t)2 + 3.5(3t2 (1 − t)) + 4t3

= 2(1 − t3 − 3t + 3t2 ) + 3t(1 + t2 − 2t) + 10.5t2 − 10.5t3 + 4t3

= 2 − 2t3 − 6t + 6t2 + 3t + 3t3 − 6t2 − 10.5t3 + 10.5t2 + 4t3

= 2 − 3t + 10.5t2 − 5.5t3 .

Again let

3
X
y(t) = yi Bi,3 (t) = y0 B0,3 (t) + y1 B1,3 (t) + y2 B2,3 (t) + y3 B3,3 (t).
i=0

Then by substituting the values of Bernstein polynomials, we get

y(t) = 2(1 − t)3 + 1.5(3t)(1 − t)2 + 0(3t2 (1 − t)) + 1t3

= 2(1 − t3 − 3t + 3t2 ) + 1.5(3t(1 + t2 − 2t)) + t3

= 2 − 2t3 − 6t + 6t2 + 4.5t + 4.5t3 − 9t2 + t3

= 2 − 1.5t − 3t2 + 3.5t3 .

Therefore by (2.10), we get the Be’zier curve

P (t) = (x(t), y(t)) = 2 − 3t + 10.5t2 − 5.5t3 , 2 − 1.5t − 3t2 + 3.5t3 .




The Bezier curve with control points (2, 2), (1, 1.5), (3.5, 0), (4, 1) along with its
control polygon is shown in Figure 2.2.
2.2. BE’ZIER CURVE 33

Figure 2.2: Bezier curve P (t) = (x(t), y(t)) and the control polygon connecting the
points (2, 2), (1, 1.5), (3.5, 0), (4, 1).

Example 2.2.2. Find the Be’zier curves P (t) and Q(t) of degree 3 which have set of
control points {(0, 3), (1, 5), (2, 1), (3, 3)} and {(3, 3), (4, 5), (5, 1), (6, 3)} respectively.

Solution. First we find Be’zier curve P (t) = (x(t), y(t)) of degree 3, having the set
of control points (xi , yi ) = {(0, 3), (1, 5), (2, 1), (3, 3)}. Since

3
X
x(t) = xi Bi,n (t) = x0 B0,3 (t) + x1 B1,3 (t) + x2 B2,3 (t) + x3 B3,3 (t).
i=0

Then by using (2.4), and (xi , yi ) = {(0, 3), (1, 5), (2, 1), (3, 3)}

x(t) = (0)(1 − t)3 + (1)(3t)(1 − t)2 + (2)(3t2 (1 − t)) + 3t3

= 3t + 3t3 − 6t2 + 6t2 − 6t3 + 3t3

= 3t

Now since

3
X
y(t) = yi Bi,3 (t) = y0 B0,3 (t) + y1 B1,3 (t) + y2 B2,3 (t) + y3 B3,3 (t).
i=0
34 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

Then by using (2.4), and (xi , yi ) = {(0, 3), (1, 5), (2, 1), (3, 3)}, we get

y(t) = 3(1 − t)3 + 5(3t)(1 − t)2 + (1)3t2 (1 − t) + 3t3

= 3(1 − t3 − 3t + 3t2 ) + 15(3t(1 + t2 − 2t)) + +3t2 − 3t3 + 3t3

= 12t3 − 18t2 + 6t + 3.

Thus the Be’zier curve P (t) of degree 3, having the set of control points (xi , yi ) =
{(0, 3), (1, 5), (2, 1), (3, 3)} is

P (t) = (x(t), y(t)) = 3t, 12t3 − 18t2 + 6t + 3 .



(2.11)

Now we find Be’zier curve Q(t) = (x(t), y(t)) of degree 3, having the set of control
points (xi , yi ) = {(3, 3), (4, 5), (5, 1), (6, 3)}. Since

3
X
x(t) = xi Bi,n (t) = x0 B0,3 (t) + x1 B1,3 (t) + x2 B2,3 (t) + x3 B3,3 (t).
i=0

Then by using (2.4), and (xi , yi ) = {(3, 3), (4, 5), (5, 1), (6, 3)}

x(t) = (3)(1 − t)3 + (4)(3t)(1 − t)2 + (5)(3t2 (1 − t)) + 6t3

= 3 − 3t3 + −9t + 9t2 + 12t + 12t3 − 24t2 + 15t2 − 15t3 + 6t3

= 3 + 3t.

Again since

3
X
y(t) = yi Bi,3 (t) = y0 B0,3 (t) + y1 B1,3 (t) + y2 B2,3 (t) + y3 B3,3 (t).
i=0

Then by using (2.4), and (xi , yi ) = {(3, 3), (4, 5), (5, 1), (6, 3)}

y(t) = 3(1 − t)3 + 5(3t)(1 − t)2 + 1(3t2 (1 − t)) + 3t3

= 3(1 − t3 − 3t + 3t2 ) + 15(3t(1 + t2 − 2t)) + +3t2 − 3t3 + 3t3

= 12t3 − 18t2 + 6t + 3.
2.2. BE’ZIER CURVE 35

Thus the Be’zier curves Q(t) of degree 3, having the set of control points (xi , yi ) =
{(3, 3), (4, 5), (5, 1), (6, 3)} is

Q(t) = (x(t), y(t)) = 3 + 3t, 12t3 − 18t2 + 6t + 3 .



(2.12)

The Bezier curves P (t) and Q(t) of degree 3 with their respective control points
are shown in Figure 2.3. The figure also includes the control polygons connecting
the control points.

Figure 2.3: Bezier curves P (t) and Q(t) along with their control polygons. Control
points for P (t): (0, 3), (1, 5), (2, 1), (3, 3); for Q(t): (3, 3), (4, 5), (5, 1), (6, 3).

2.2.1 Properties of Be’zier curve

Property 2.2.1. Be’zier curve is continuous and has continuous derivatives on the interval
[0, 1].

Proof. As we know that Be’zier curve is

n
X
P (t) = pi Bi,n (t), t ∈ [0, 1],
i=0

where Bi,n (t) are Bernstein polynomials. We know that every polynomial is con-
tinuous and has continuous derivatives of all order. It follows that Bezier curve is
also continuous and all its derivative exists and are continuous. This completes the
proof.
36 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

Property 2.2.2. Endpoint Interpolation property: Be’zeir curve P (t) interpolates /


passes through initial p0 and final pn points of its control polygon.

Proof. Consider Be’zier curve with control points {p0 , p1 , p2 , · · · , pn }

n
X
P (t) = pi Bi,n (t).
i=0

We will prove that P (0) = p0 and P (1) = pn . Now, for t = 0

n
X
P (0) = pi Bi,n (0) = p0 B0,n (0) + p1 B1,n (0) + p2 B2,n (0) + · · ·
i=0
+pn Bn,n (0).

By using (2.5)

P (0) = p0 (1) + p1 (0) + p2 (0) + · · · + pn (0) = p0 .

For t = 1

n
X
P (1) = pi Bi,n (1) = p0 B0,n (1) + p1 B1,n (1) + p2 B2,n (1) + · · ·
i=0
+pn Bn,n (1).

By using (2.6)

P (1) = p0 (0) + p1 (0) + p2 (0) + · · · + pn (1) = pn .

Hence Be’zier curve always passes through initial and final pints. This completes
the proof.

Property 2.2.3. The tangent to a Be’zier curve at the end points are parallel to the lines
through end points and adjacent control points.
As shown in Figure 2.4, the tangents at the endpoints are parallel to the adjacent control
lines, visually confirming the proposition.

Proof. If P (t) is a Be’zier curve and P ′ (t) is it derivative then we will proof that
Tangent P ′ (0) at p0 is parallel to the line passes through p0 and p1 .
2.2. BE’ZIER CURVE 37

Figure 2.4: Bézier curve with control polygon and tangents at endpoints. Tangents
(red at t = 0, blue at t = 1) are parallel to lines through the first and last pairs of
control points, illustrating the tangent property of Bézier curves.

Tangent P ′ (1) at pn is parallel to the line passes through pn−1 and pn .


In other word, we will prove that

P ′ (0) = n(p1 − p0 ),

P ′ (1) = n(pn − pn−1 ). (2.13)

Taking derivative of (2.9)

n

X d
P (t) = pi (Bi,n (t)).
i=0
dt

By (2.8), we have

n
X
P ′ (t) = n pi [Bi−1,n−1 (t) − Bi,n−1 (t)] . (2.14)
i=0

For t = 0, we get

n
X
P ′ (0) = n pi [Bi−1,n−1 (0) − Bi,n−1 (0)]
i=0
= n [p0 {B0−1,n−1 (0) − B0,n−1 (0)} + p1 {B0,n−1 (0) − B1,n−1 (0)}

+p2 {B1,n−1 (0) − B2,n−1 (0)} + · · · + pn {Bn−1,n−1 (0) − Bn,n−1 (0)}] .


38 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

By using (2.5), we get

P ′ (0) = n [p0 {0 − 1} + p1 {1 − 0} + p2 {0 − 0} + · · · + pn {0 − 0}]

= n(p1 − p0 ).

Now for t = 1

n
X

P (1) = n pi [Bi−1,n−1 (1) − Bi,n−1 (1)]
i=0
= n [p0 {B0−1,n−1 (1) − B0,n−1 (1)} + p1 {B0,n−1 (1) − B1,n−1 (1)}

+p2 {B1,n−1 (1) − B2,n−1 (1)} + · · · + pn {Bn−1,n−1 (1) − Bn,n−1 (1)}] .

By using (2.6), we get

P ′ (1) = np0 {0 − 0} + p1 {0 − 0} + p2 {0 − 0} + · · ·

+pn−1 {0 − 1} + pn {1 − 0} = n(pn − pn−1 ).

This completes the proof.

Property 2.2.4. The curvature at the end points of control polygon of Be’zier curve are
parallel to p2 − 2p1 + p0 and pn − 2pn−1 + pn−2 .
As shown in Figure 2.5, the curvature vectors at the endpoints of the Bézier curve are
aligned with the second differences of the control polygon, illustrating the proposition vi-
sually.

Proof. If P (t) is a Be’zeir curve and P ′′ (t) is its 2nd derivative then, we will proof
that

P ′′ (0) = n(n − 1)(p2 − 2p1 + p0 ),

P ′′ (1) = n(n − 1)(pn − 2pn−1 + pn−2 ). (2.15)

By (2.14), we have

n
X

P (t) = n pi {Bi−1,n−1 (t) − Bi,n−1 (t)}.
i=0
2.2. BE’ZIER CURVE 39

Figure 2.5: The curvature at the end points of control polygon of Be’zier curve are
parallel to p2 − 2p1 + p0 and pn − 2pn−1 + pn−2 .

Now by taking derivative, we get

n  
′′
X d d
P (t) = n pi Bi−1,n−1 (t) − Bi,n−1 (t) .
i=0
dt dt

By using (2.8)

n
X
′′
P (t) = n(n − 1) pi {[Bi−2,n−2 (t) − Bi−1,n−2 (t)]
i=0
− [Bi−1,n−2 (t) − Bi,n−2 (t)]}
Xn
= n(n − 1) pi [Bi−2,n−2 (t) − 2Bi−1,n−2 (t) + Bi,n−2 (t)] .
i=0

For t = 0

n
X
′′
P (0) = n(n − 1) pi [Bi−2,n−2 (0) − 2Bi−1,n−2 (0) + Bi,n−2 (0)] .
i=0
40 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

Expanding

P ′′ (0) = n(n − 1) {p0 [B−2,n−2 (0) − 2B−1,n−2 (0) + B0,n−2 (0)]

+p1 [B−1,n−2 (0) − 2B0,n−2 (0) + B1,n−2 (0)]

+p2 [B0,n−2 (0) − 2B1,n−2 (0) + B2,n−2 (0)]

+······

+pn [Bn−2,n−2 (0) − 2Bn−1,n−2 (0) + Bn,n−2 (0)]} .

By using (2.5)

P ′′ (0) = n(n − 1) {p0 [0 − 0 + 1] + p1 [0 − 2 + 0] + p2 [1 − 0 + 0]

+p3 [0 − 0 + 0] + · · · · · · + pn [0 − 0 + 0]}

= n(n − 1)(p2 − 2p1 + p0 ).

Now for t = 1

n
X
′′
P (1) = n(n − 1) pi [Bi−2,n−2 (1) − 2Bi−1,n−2 (1) + Bi,n−2 (1)] .
i=0

Expanding

P ′′ (1) = n(n − 1) {p0 [B−2,n−2 (1) − 2B−1,n−2 (1) + B0,n−2 (1)]

+p1 [B−1,n−2 (1) − 2B0,n−2 (1) + B1,n−2 (1)]

+p2 [B0,n−2 (1) − 2B1,n−2 (1) + B2,n−2 (1)]

+p3 [B1,n−2 (1) − 2B2,n−2 (1) + B3,n−2 (1)] + · · ·

+pn [Bn−2,n−2 (1) − 2Bn−1,n−2 (1) + Bn,n−2 (1)]} .


2.2. BE’ZIER CURVE 41

Again by (2.6)

P ′′ (1) = n(n − 1) {p0 [0 − 0 + 0] + p1 [0 − 0 + 0] + p2 [0 − 0 + 0]

+p3 [0 − 0 + 0] + · · · · · · + pn−2 [0 − 0 + 1] + pn−1 [0 − 2 + 0]

+ pn [1 − 0 + 0]}

= n(n − 1)(pn − 2pn−1 + pn−2 ).

This completes the proof.

Example 2.2.3. Consider the composite Be’zier curve made by Be’zier curves P (t)
and Q(t) of degree 3 with points sets: {(0, 3), (1, 5), (2, 1), (3, 3)} and {(3, 3), (4, 5),
(5, 1), (6, 3)} respectively. Then discuss the parametric and geometric continuities.

Solution. Since by (2.11) and (2.12), we have

3t, 12t3 − 18t2 + 6t + 3 ,



P (t) =

3 + 3t, 12t3 − 18t2 + 6t + 3 ,



Q(t) =

This implies

P ′ (t) = 3, 36t2 − 36t1 + 6 , P ′′ (t) = 0, 72t1 − 36 ,


 

Q′ (t) = 3, 36t2 − 36t1 + 6 , Q′′ (t) = 0, 72t1 − 36 ,


 

P ′′′ (t) = (0, 72) , P iv (t) = (0, 0) ,

Q′′′ (t) = (0, 72) , Qiv (t) = (0, 0) .

We see that P (1) = Q(0) = (3, 3), i.e. last point of P (t) and initial point of Q(t) are
same, so P (t) and Q(t) are join together. In other word, both pieces are joined by
C 0 -continuity as well as G0 -continuity. Since P (t) and Q(t) are polynomials and
polynomials are continuous, therefore composite Be’zier curve is C 0 as well as G0 -
continuous over the entire domain.
Now since P (1) = Q(0) = (3, 3) and P ′ (1) = Q′ (0) = (3, 6), this means P (t) and
Q(t) are join together by C 1 -continuity as well as G1 -continuity. Since P (t) and
42 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

Q(t) are polynomials and polynomials are continuous, therefore composite Be’zier
curve is C 1 as well as G1 -continuous over the entire domain.
Now since P (1) = Q(0) = (3, 3) and P ′ (1) = Q′ (0) = (3, 6) and P ′′ (1) = (0, 36) ̸=
Q′′ (0), this means P (t) and Q(t) are not joined together by C 2 -continuity. But
P (1) = Q(0) = (3, 3) and P ′ (1) = Q′ (0) = (3, 6) and Q′′ (0) = (0, −36) = −1(0, 36) =
−1P ′′ (1), this means P (t) and Q(t) are joined together by G2 -continuity. Therefore
composite Be’zier curve is G2 continuous over the entire domain but not C 2 con-
tinuous.
Since P (1) = Q(0) = (3, 3), P ′ (1) = Q′ (0) = (3, 6), Q′′ (0) = −1P ′′ (1), and P ′′′ (1) =
Q′′′ (0) = (0, 72), therefore composite Be’zier curve is G3 -continuous over the entire
domain. Similarly, we see that composite Be’zier curve is G∞ -continuous over the
entire domain. This completes the proof. □
Alternate method to check C 0 , C 1 and C 2 -continuities:
Solution. From above example, {p0 , p1 , p2 , p3 }={(0, 3), (1, 5), (2, 1), (3, 3)} and {q0 , q1 ,
q2 , q3 } = {(3, 3), (4, 5), (5, 1), (6, 3)}. Since the end point p3 = (3, 3) of P (t) and first
point q0 = (3, 3) of Q(t) is same, therefore P (t) and Q(t) are joined. That is C 0 -
continuity exist at the joint.
By (2.12), we know that P ′ (1) = n(pn − pn−1 ) and Q′ (0) = n(q1 − q0 ), but n = 3, so

P ′ (1) = 3(p3 − p2 ) = 3 {(3, 3) − (2, 1)} = (3, 6),

Q′ (0) = 3(q1 − q0 ) = 3 {(4, 5) − (3, 3)} = (3, 6).

So P ′ (1) = Q′ (0) = (3, 6). Hence P (t) and Q(t) are joined with C 1 continuity.
By (2.15),

P ′′ (1) = n(n − 1)(pn − 2pn−1 + pn−2 ),

Q′′ (0) = n(n − 1)(q2 − 2q1 + q0 ).

For n = 3, we have

P ′′ (1) = 3(3 − 1)(p3 − 2p2 + p1 ),

Q′′ (0) = 3(3 − 1)(q2 − 2q1 + q0 ).


2.2. BE’ZIER CURVE 43

This implies

P ′′ (1) = 6 {(3, 3) − 2(2, 1) + (1, 5)} = (0, 36),

Q′′ (0) = 6 {(5, 1) − 2(4, 5) + (3, 3)} = (0, −36).

Since P ′′ (1) ̸= Q′′ (0), so P (t) and Q(t) are not joined with C 2 continuity. But

Q′′ (0) = (0, −36) = −1(0, 36) = −1P ′′ (1),

so P (t) and Q(t) are joined with G2 -continuity. □

Example 2.2.4. If following is the composite Be’zier curve

P (t) = {(−9, 0), (−8, 1), (−8, 2.5), (−4, 2.5)},

Q(t) = {(−4, 2.5), (−3, 3.5), (−4, 4), (0, 4)},

R(t) = {(0, 4), (2, 4), (3, 4), (5, 2)},

S(t) = {(5, 2), (6, 2), (20, 3), (18, 0)},

then discuss the parametric and geometric continuities.


(Explanation: In Figure 2.6, we illustrate the composite Bézier curves P (t), Q(t),
R(t), and S(t) along with their control polygons. The dashed lines represent the
initial control polygons, while the smooth curves are generated using cubic Bézier
interpolation.
In Figure 2.7, the same curves are shown without the control polygons. Each curve
is drawn in a different color for clarity, and the red markers indicate the junction
points where consecutive curves are connected.)

Solution. C 0 -, G0 -continuity: Since

p3 = q0 = (−4, 2.5), q3 = r0 = (0, 4), r3 = s0 = (5, 2),

therefore all cubic Be’zier curves are joined so composite Be’zier curve is C 0 as well
as G0 -continuous.
44 CHAPTER 2. BEZIER CURVE AND B-SPLINE CURVE

Figure 2.6: Composite Bézier curves P (t), Q(t), R(t), and S(t) with their control
polygons.

Figure 2.7: Composite Bézier curves with different colors. Red points denote junc-
tions between curves.

C 1 -, G1 -continuity:

P ′ (1) = 3(p3 − p2 ) = 3[(−4, 2.5) − (−8, 2.5)] = (12, 0),

Q′ (0) = 3(q1 − q0 ) = 3[(−3, 3.5) − (−4, 2.5)] = (3, 4.5).

As P ′ (1) ̸= Q′ (0), so P (t) and Q(t) curves are not smoothly joint that is not joined
with C 1 continuity. Here G1 -continuity also does not exist. Since

Q′ (1) = 3(q3 − q2 ) = 3[(0, 4) − (−4, 4)] = (12, 0),

R′ (0) = 3(r1 − r0 ) = 3[(2, 4) − (0, 4)] = (6, 0).


2.2. BE’ZIER CURVE 45

As Q′ (1) ̸= R′ (0), so Q(t) and R(t) are not joined with C 1 continuity. But Q′ (1) =
(12, 0) = 2(6, 0) = 2R′ (0), so Q(t) and R(t) are joined with G1 continuity. Since

R′ (1) = 3(r3 − r2 ) = 3[(5, 2) − (3, 4)] = (6, −6),

S ′ (0) = 3(s1 − s0 ) = 3[(6, 2) − (5, 2)] = (3, 0).

As R′ (1) ̸= S ′ (0), so R(t) and S(t) are not joined with C 1 continuity. Here G1 -
continuity also does not exist. Here we conclude that the composite Be’zier curve
is not C 1 as well not G1 -continuous on the entire domain. □

You might also like