## 4. Bezier curves

So far we have only considered defining curves wholly in terms of the points
through which they pass. This is a logical way of thinking, though it does
suffer from drawbacks. We wish to make arbitrarily complex curves. Using
just one equation to get more and more complex curves leads to higher
degrees of polynomial and becomes mathematically awkward. One solution is to
create complex curves out of many simpler curves. We call these patches.
The key to creating curves in this way is how we match the end of one curve
to the start of the next. It is not acceptable to match just the end
points; we must match gradients as well. Defining curves by the points
through which they pass does not lend itself very well to patching.

Bezier curves are defined using four control points, known as **knots**.
Two of these are the end points of the curve, while the other two
effectively define the gradient at the end points. These two points control
the shape of the curve. The curve is actually a **blend** of the knots.
This is a recurring theme of approximation curves; defining a curve as a
blend of the values of several control points. The diagram below shows a
bezier curve; you can see how the shape of the curve is affected by changing
the knots.

Figure 4.1 - Bezier Curve (interactive)

Bezier curves are more useful than any other type we have mentioned so far;
however, they still do not achieve much local control. Increasing the number
of control points does lead to slightly more complex curves, but as you
can see from the following diagram, the detail suffers due to the nature of
blending all thecurve points together.

Figure 4.2 - Bezier Curve from six points (interactive)

Up to now the diagrams have showed just one curve. I mentioned earlier that
we can join up many simple curves to form a more complex one. The following
diagram demonstrates this by showing two bezier curves being changed as one.
No matter how you change the control points, the join always seems smooth.
(When you move the joining point itself, the applet assumes you are moving
the red curve, so the red curve's second knot remains stationary while the
blue curve's second knot reflects your movement).

Figure 4.3 - Patching two Bezier Curves Together (interactive)