**Bezier Curve-**

Bezier Curve may be defined as-

- Bezier Curve is parametric curve defined by a set of control points.
- Two points are ends of the curve.
- Other points determine the shape of the curve.

The concept of bezier curves was given by Pierre Bezier.

**Bezier Curve Example-**

The following curve is an example of a bezier curve-

Here,

- This bezier curve is defined by a set of control points b
_{0}, b_{1}, b_{2}and b_{3}. - Points b
_{0}and b_{3}are ends of the curve. - Points b
_{1}and b_{2}determine the shape of the curve.

**Bezier Curve Properties-**

Few important properties of a bezier curve are-

**Property-01:**

Bezier curve is always contained within a polygon called as convex hull of its control points.

**Property-02:**

- Bezier curve generally follows the shape of its defining polygon.
- The first and last points of the curve are coincident with the first and last points of the defining polygon.

**Property-03:**

The degree of the polynomial defining the curve segment is one less than the total number of control points.

**Degree = Number of Control Points – 1**

**Property-04:**

The order of the polynomial defining the curve segment is equal to the total number of control points.

**Order = Number of Control Points**

**Property-05:**

- Bezier curve exhibits the variation diminishing property.
- It means the curve do not oscillate about any straight line more often than the defining polygon.

**Bezier Curve Equation-**

A bezier curve is parametrically represented by-

Here,

- t is any parameter where 0 <= t <= 1
- P(t) = Any point lying on the bezier curve
- B
_{i}= i^{th}control point of the bezier curve - n = degree of the curve
- J
_{n,i}(t) = Blending function = C(n,i)t^{i}(1-t)^{n-i}where C(n,i) = n! / i!(n-i)!

**Cubic Bezier Curve-**

- Cubic bezier curve is a bezier curve with degree 3.
- The total number of control points in a cubic bezier curve is 4.

**Example-**

The following curve is an example of a cubic bezier curve-

Here,

- This curve is defined by 4 control points b
_{0}, b_{1}, b_{2}and b_{3}. - The degree of this curve is 3.
- So, it is a cubic bezier curve.

**Cubic Bezier Curve Equation-**

The parametric equation of a bezier curve is-

Substituting n = 3 for a cubic bezier curve, we get-

Expanding the above equation, we get-

P (t) = B_{0}J_{3,0}(t) + B_{1}J_{3,1}(t) + B_{2}J_{3,2}(t) + B_{3}J_{3,3}(t) ………..(1)

Now,

Using (2), (3), (4) and (5) in (1), we get-

**P(t) = B _{0}(1-t)^{3} + B_{1}3t(1-t)^{2} + B_{2}3t^{2}(1-t) + B_{3}t^{3}**

This is the required parametric equation for a cubic bezier curve.

**Applications of Bezier Curves-**

Bezier curves have their applications in the following fields-

**1. Computer Graphics-**

- Bezier curves are widely used in computer graphics to model smooth curves.
- The curve is completely contained in the convex hull of its control points.
- So, the points can be graphically displayed & used to manipulate the curve intuitively.

**2. Animation-**

- Bezier curves are used to outline movement in animation applications such as Adobe Flash and synfig.
- Users outline the wanted path in bezier curves.
- The application creates the needed frames for the object to move along the path.
- For 3D animation, bezier curves are often used to define 3D paths as well as 2D curves.

**3. Fonts-**

- True type fonts use composite bezier curves composed of quadratic bezier curves.
- Modern imaging systems like postscript, asymptote etc use composite bezier curves composed of cubic bezier curves for drawing curved shapes.

**PRACTICE PROBLEMS BASED ON BEZIER CURVE IN COMPUTER GRAPHICS-**

**Problem-01:**

Given a bezier curve with 4 control points-

B_{0}[1 0] , B_{1}[3 3] , B_{2}[6 3] , B_{3}[8 1]

Determine any 5 points lying on the curve. Also, draw a rough sketch of the curve.

**Solution-**

We have-

- The given curve is defined by 4 control points.
- So, the given curve is a cubic bezier curve.

The parametric equation for a cubic bezier curve is-

**P(t) = B _{0}(1-t)^{3} + B_{1}3t(1-t)^{2} + B_{2}3t^{2}(1-t) + B_{3}t^{3}**

Substituting the control points B_{0}, B_{1}, B_{2} and B_{3}, we get-

P(t) = [1 0](1-t)^{3} + [3 3]3t(1-t)^{2} + [6 3]3t^{2}(1-t) + [8 1]t^{3} ……..(1)

Now,

To get 5 points lying on the curve, assume any 5 values of t lying in the range 0 <= t <= 1.

Let 5 values of t are 0, 0.2, 0.5, 0.7, 1

**For t = 0:**

Substituting t=0 in (1), we get-

P(0) = [1 0](1-0)^{3} + [3 3]3(0)(1-t)^{2} + [6 3]3(0)^{2}(1-0) + [8 1](0)^{3}

P(0) = [1 0] + 0 + 0 + 0

P(0) = [1 0]

**For t = 0.2:**

Substituting t=0.2 in (1), we get-

P(0.2) = [1 0](1-0.2)^{3} + [3 3]3(0.2)(1-0.2)^{2} + [6 3]3(0.2)^{2}(1-0.2) + [8 1](0.2)^{3}

P(0.2) = [1 0](0.8)^{3} + [3 3]3(0.2)(0.8)^{2} + [6 3]3(0.2)^{2}(0.8) + [8 1](0.2)^{3}

P(0.2) = [1 0] x 0.512 + [3 3] x 3 x 0.2 x 0.64 + [6 3] x 3 x 0.04 x 0.8 + [8 1] x 0.008

P(0.2) = [1 0] x 0.512 + [3 3] x 0.384 + [6 3] x 0.096 + [8 1] x 0.008

P(0.2) = [0.512 0] + [1.152 1.152] + [0.576 0.288] + [0.064 0.008]

P(0.2) = [2.304 1.448]

**For t = 0.5:**

Substituting t=0.5 in (1), we get-

P(0.5) = [1 0](1-0.5)^{3} + [3 3]3(0.5)(1-0.5)^{2} + [6 3]3(0.5)^{2}(1-0.5) + [8 1](0.5)^{3}

P(0.5) = [1 0](0.5)^{3} + [3 3]3(0.5)(0.5)^{2} + [6 3]3(0.5)^{2}(0.5) + [8 1](0.5)^{3}

P(0.5) = [1 0] x 0.125 + [3 3] x 3 x 0.5 x 0.25 + [6 3] x 3 x 0.25 x 0.5 + [8 1] x 0.125

P(0.5) = [1 0] x 0.125 + [3 3] x 0.375 + [6 3] x 0.375 + [8 1] x 0.125

P(0.5) = [0.125 0] + [1.125 1.125] + [2.25 1.125] + [1 0.125]

P(0.5) = [4.5 2.375]

**For t = 0.7:**

Substituting t=0.7 in (1), we get-

P(t) = [1 0](1-t)^{3} + [3 3]3t(1-t)^{2} + [6 3]3t^{2}(1-t) + [8 1]t^{3}

P(0.7) = [1 0](1-0.7)^{3} + [3 3]3(0.7)(1-0.7)^{2} + [6 3]3(0.7)^{2}(1-0.7) + [8 1](0.7)^{3}

P(0.7) = [1 0](0.3)^{3} + [3 3]3(0.7)(0.3)^{2} + [6 3]3(0.7)^{2}(0.3) + [8 1](0.7)^{3}

P(0.7) = [1 0] x 0.027 + [3 3] x 3 x 0.7 x 0.09 + [6 3] x 3 x 0.49 x 0.3 + [8 1] x 0.343

P(0.7) = [1 0] x 0.027 + [3 3] x 0.189 + [6 3] x 0.441 + [8 1] x 0.343

P(0.7) = [0.027 0] + [0.567 0.567] + [2.646 1.323] + [2.744 0.343]

P(0.7) = [5.984 2.233]

**For t = 1:**

Substituting t=1 in (1), we get-

P(1) = [1 0](1-1)^{3} + [3 3]3(1)(1-1)^{2} + [6 3]3(1)^{2}(1-1) + [8 1](1)^{3}

P(1) = [1 0] x 0 + [3 3] x 3 x 1 x 0 + [6 3] x 3 x 1 x 0 + [8 1] x 1

P(1) = 0 + 0 + 0 + [8 1]

P(1) = [8 1]

Following is the required rough sketch of the curve-

To gain better understanding about Bezier Curves in Computer Graphics,

Get more notes and other study material of **Computer Graphics**.

Watch video lectures by visiting our YouTube channel **LearnVidFun.**