ti(1 − t)n−i
= n − 1 i
ti(1 − t)n−i+n − 1 i − 1
ti(1 − t)n−i
= (1 − t)n − 1 i
ti(1 − t)n−i−1 + tn − 1 i − 1
ti−1(1 − t)n−i
= (1 − t)Bin−1(t) + tBi−1n−1(t).
One important application of the Bernstein basis functions is the definition of a B´ezier curve. The point with position vector bn0(t) on a B´ezier curve with degree n is a parametric function of the following form:
bn0(t) = Xn
i=0
biBin(t), (2.5)
where biis the vector of the control point and Bin(t) is the ith Bernstein basis function.
The properties of a B´ezier curve can be derived in terms of the de Casteljau algorithm and Bernstein basis functions. This will be addressed in the next section.
2.3 The properties of a B´ ezier curve
In this section, some properties of a B´ezier curve are examined using the de Casteljau algorithm and properties of the Bernstein basis functions [19, 25, 28].
Affine invariance: The B´ezier curve is invariant under an affine map, that is, let Φ
be an affine map, then Φ
Xn i=0
biBin(t)
!
= Xn
i=0
Φ(bi)Bin(t).
The de Casteljau algorithm involves a sequence of repeated linear interpolations and the linear interpolation is invariant under an affine map. Since the B´ezier curve is generated by de Casteljau algorithm, the B´ezier curve is invariant under affine map. This property can also be verified in terms of Bernstein basis functions. The barycentric combination
b = Xn
i=0
αibi,
where bi ∈ R3 and α0+ · · · + αn = 1, is invariant under affine map. From (2.3) and (2.5), the B´ezier curve is the barycentric combination of the control points, and it is therefore invariant under an affine map.
This property means the following two processes yield the identical B´ezier curve. Let Φ be affine map:
1. Compute the B´ezier curve from the control points {b0, b1, . . . , bn} and then apply the affine map to the B´ezier curve;
2. Apply the affine map to the control points {b0, b1, . . . , bn} to obtain new control points {Φ(b0), Φ(b1), . . . , Φ(bn)} and then compute the B´ezier curve from the new control points.
A practical example can illustrate the function at this property. Suppose we want to generate a cubic B´ezier curve by evaluating 100 points and rotate it using an affine map. Two processes can be implemented:
1. Evaluate 100 points to generate the B´ezier curve and then rotate each of the 100 points.
2. Rotate the control points and then evaluate the resulting function at 100 points to generate the B´ezier curve.
Due to the affine invariance property, these two processes yield the identical B´ezier curve but the first process needs 100 rotations, and the second only needs 4 rotations.
Invariance under affine parameter transformations: In most cases, the B´ezier curve is defined over interval [0, 1]. However, the B´ezier curve can be defined over any arbitrary interval [a, b]. If a ≤ u ≤ b, the generalized de Casteljau algorithm is given by
bri(u) = b − u
b − abr−1i (u) + u − a
b − abr−1i+1(u), and the generalized Bernstein form of B´ezier curve is
bn0(t) = Xn
i=0
biBni(t) = Xn
i=0
biBin u − a b − a
.
Endpoint interpolation: The B´ezier curve passes through b0and bn. In terms of the de Casteljau algorithm, when t = 0, bri = br−1i , thus bn0 = bn−10 = · · · = b10 = b00 = b0 and when t = 1, bri = br−1i+1, thus bn0 = bn−11 = · · · = b1n−1 = b0n = bn. From the Bernstein basis functions, bn0(0) = b0 and bn0(1) = bn. The endpoints of the B´ezier curve are two important points. For example, for the design of an escalator using the B´ezier curve, it is essential to create a B´ezier curve that connects entrance and exit points of the escalator accurately. This property enables us to have direct control on them.
Symmetry: The control points b0, b1, · · · , bn and bn, bn−1, · · · , b0 yield the same B´ezier curve. The only difference is that the direction of the B´ezier curve is revered.
Since Bin(t) = Bn−in (1 − t), Xn
i=0
biBin(t) = Xn
i=0
bn−iBin(1 − t).
This property means that if we want to reverse the direction of the B´ezier curve, we first reverse the order of the control points and then generate the B´ezier curve.
Invariance under barycentric combinations: For α + β = 1, we obtain Xn
This property allows us to generate the weighted average of two B´ezier curves in two ways:
1. Compute the weighted average of corresponding points on the B´ezier curves;
2. Compute the weighted average of corresponding control points and then gener-ate the B´ezier curve.
Linear precision: If the control points b1, · · · , bn−1 are uniformly distributed on the straight line joining control points b0 and bn, the B´ezier curve generated using these control points is a straight line from b0 to bn. The proof of this property needs the relation
Xn i=0
i
nBin(t) = t. (2.6)
This relation is verified as following:
t = t × [t + (1 − t)]n−1
Thus, the linear precision property can be proved using (2.6). Suppose the control points b1, · · · , bn−1are uniformly distributed on the straight line joining control points b0 and bn:
bi =
1 − i
n
b0+ i
nbn, i = 0, · · · , n,
then the B´ezier curve bn generated using this set of control points is bn =
Xn i=0
biBin(t)
= Xn
i=0
(1 − i
n)b0 + i nbn
Bin(t)
= b0
Xn i=0
Bin(t) − b0 Xn
i=0
i
nBin(t) + bn
Xn i=0
i nBin(t)
= b0+ (bn− b0)t.
Since bn = b0 + (bn − b0)t, the B´ezier curve bn is a straight line joining the two endpoints b0 and bn. Figure 2.3 illustrates this property.
b0
b1
b2
b3
b4
Figure 2.3: Linear precision property: The B´ezier curve b4 generated using uniformly distributed control points for t ∈ [0, 1].
Convex hull: For t ∈ [0, 1], the B´ezier curve lies in the convex hull of the control polygon. We give the definition of the convex hull as follows.
First, the convex set for a set of points is a set that contains the line segment be-tween any two points in the set. Then, the convex hull is the smallest convex set. In particular, the convex hull for a set of points x0, x1, · · · , xnis the set of all convex com-binations of points x0, x1, · · · , xn. The convex combination of points x0, x1, · · · , xn is
α0x0+ α1x1 + · · · + αnxn, where αi ≥ 0 and α0+ α1+ · · · + αn = 1.
The proof of this property is straightforward. Remember the B´ezier curve bn = Pn
i=0
biBin(t). For t ∈ [0, 1], the Bernstein basis polynomial Bin(t) is nonnegative and from equation (2.3),
Pn i=0
Bin(t) = 1. Therefore, for t ∈ [0, 1], the point on the B´ezier curve is the convex combination of control points contained in the convex hull. Figure 2.4 illustrates the convex hull property.
The convex hull property guarantees that the planar control polygon always gen-erates the planar B´ezier curve.
Pseudolocal control: The shape change of the B´ezier curve follows the movement of the control points.
This is the most important property of the B´ezier curve. First of all, we can change the shape of the B´ezier curve by moving the control points instead of changing ev-ery point on the B´ezier curve. Furthermore, we can change the shape of the B´ezier curve in a predictable and intuitive way because the B´ezier curve follows the control points. In particular, moving one control point changes the shape of the whole B´ezier curve, which is called global control. This is in contrast with the local control of the
b0
b1
b2
b3 b4
Figure 2.4: Convex hull property: The convex hull of the control polygon is shaded.
For t ∈ [0, 1], the B´ezier curve b4 lies in the convex hull of the control polygon.
B-splines, for which moving one control point alters only part of the curve. As Figure 2.5 shows, if we move one control point b2 from (3, 3) to (3.5, 4), the whole B´ezier curve follows the movement of the control point b2.
Variation diminishing: If a straight line intersects the B´ezier curve n times, then the line intersects its control polygon at least n times. In other words, the B´ezier curve can intersect a straight line no more times than its control polygon does.
Figure 2.6 shows this property.
The properties of B´ezier curves are useful for solving computation problems on B´ezier curves. This is demonstrated in the next section, in which one practical com-putation problem associated with B´ezier curves, the intersection problem of B´ezier curves, is considered.
1 2 3 4 5 0
1