Back
PDF Version (70 KB)

Bézier Curves
Urs Oswald    osurs@bluewin.ch    http://www.ursoswald.ch
September 11, 2002

Quadratic Bézier curves
Cubic Bézier curves
Bézier curves of arbitrary order


Quadratic Bézier curves

Let $P_0, P_1, P_2$ be distinct points. If points $U, V, B$ divide the line segments $P_0P_1, P_1P_2, UV$ by an equal ratio, then $B$ moves on a quadratic Bézier curve if $U$ moves about $P_0P_1$.

Thus for some real number $t$,

\begin{displaymath}
\begin{array}{rcl}
U-P_0 & = & t\raisebox{.5ex}{ . }(P_1...
... \\
B-U & = & t\raisebox{.5ex}{ . }(V-U), \\
\end{array} \end{displaymath}

where $0\le t\le 1$.
\includegraphics{BezierDoc6.eps}
Fig. 1: Quadratic Bézier curve



From the above equations, it follows that $U=P_0+t\raisebox{.5ex}{ . }(P_1-P_0)=P_0+t\raisebox{.5ex}{ . }P_1-t\raisebox{.5ex}{ . }P_0$, therefore

\begin{displaymath}
U=(1-t)\raisebox{.5ex}{ . }P_0+t\raisebox{.5ex}{ . }P_1.
\end{displaymath} (1)

We equally find $V=(1-t)\raisebox{.5ex}{ . }P_1+t\raisebox{.5ex}{ . }P_2$ and $B=(1-t)\raisebox{.5ex}{ . }U+t\raisebox{.5ex}{ . }V$. Substitution yields $B=(1-t)\raisebox{.5ex}{ . }((1-t)\raisebox{.5ex}{ . }P_0+t\raisebox{.5ex}{\...
...sebox{.5ex}{ . }(V=(1-t)\raisebox{.5ex}{ . }P_1+t\raisebox{.5ex}{ . }P_2)$, and after expansion,
\begin{displaymath}
B=(1-t)^2\raisebox{.5ex}{ . }P_0+2(1-t)t\raisebox{.5ex}{ . }P_1+t^2\raisebox{.5ex}{ . }P_2.
\end{displaymath} (2)

Cubic Bézier curves

Let $P_0, P_1, P_2, P_3$ be distinct points, and let the points $P_4, \dots, P_8, B$ divide their respective line segments by an equal ratio:

\begin{displaymath}
\begin{array}{rcl}
P_4-P_0 & = & t\raisebox{.5ex}{ . }(P...
...
B-P_7 & = & t\raisebox{.5ex}{ . }(P_8-P_7),
\end{array} \end{displaymath}

where $0\le t\le 1$. (In fig. 2 as well as in fig. 1, $t=0.4$.)
\includegraphics{BezierDoc7.eps}
Fig. 2: Cubic Bézier curve

From (2), we get

\begin{displaymath}
\left\{\begin{array}{rcl}
P_7 & = & (1-t)^2\raisebox{.5ex}...
...{ . }P_2+t^2\raisebox{.5ex}{ . }P_3.
\end{array}\right.
\end{displaymath}

From (1), $B=(1-t)\raisebox{.5ex}{ . }P_7+t\raisebox{.5ex}{ . }P_8=(1-t)\raisebox{.5ex...
...{.5ex}{ . }P_1+2(1-t)t\raisebox{.5ex}{ . }P_2+t^2\raisebox{.5ex}{ . }P_3]$ which, after expansion, yields
\begin{displaymath}
B=(1-t)^3\raisebox{.5ex}{ . }P_0+3(1-t)^2t\raisebox{.5ex}...
...(1-t)t^2\raisebox{.5ex}{ . }P_2+t^3\raisebox{.5ex}{ . }P3.
\end{displaymath} (3)

In fig. 2, if $P_4$ moves about the segment $P_0P_1$, then $P_7$ moves on the quadratic Bézier curve determined by points $P_0, P_1, P_2$, while $P_8$ moves on the quadratic Bézier curve determined by points $P_1, P_2, P_3$.

Bézier curves of arbitrary order

For distinct points $P_0, P_1, \dots P_n$, the Bézier curve of order $n$ ( $n=0, 1, 2, \dots$) can be recursively defined by

\begin{displaymath}
\left\{
\begin{array}{rcl}
B_0(t, P_0) & := & P_0,\\
B...
...{n-1}(t, P_1, \dots, P_n)\qquad(n>0),
\end{array} \right.
\end{displaymath} (4)

where $0\le t\le 1$.

Theorem 1 (Bézier curves of order 1)   For points $P_0, P_1$, the Bézier curve of order 1 is given by the equation

\begin{displaymath}
B_1(t, P_0, P_1)=(1-t)\raisebox{.5ex}{ . }P_0+t\raisebox{.5ex}{ . }P_1.
\end{displaymath}

PROOF: By the above definition, $B_1(t, P_0, P_1)=(1-t)\raisebox{.5ex}{ . }B_0(t, P_0)+t\raisebox{.5ex}{ ....
... P_1) = (1-t)\raisebox{.5ex}{ . }P_0+t\raisebox{.5ex}{ . }P_1.\quad \dashv$

Theorem 2   For any non-negative integer $n$, the Bézier curve of order $n$ is given by the equation

\begin{displaymath}
B_n(t, P_0, \dots, P_n)=
\sum_{k=0}^n\left(\begin{array...
... k\end{array}\right)(1-t)^{n-k}t^k\raisebox{.5ex}{ . }P_k.
\end{displaymath}

PROOF: By induction on $n$. For $n=0$, the theorem claims

\begin{displaymath}\displaystyle B_0(t, P_0)=\sum_{k=0}^0\left( \begin{array}{c...
... 0 \end{array}\right) (1-t)^0 t^0\raisebox{.5ex}{ . }P_0=P_0,\end{displaymath}

which is correct by the first part of the definition.
For $n>0$, we have $B_n(t, P_0, \dots, P_n)=(1-t)\raisebox{.5ex}{ . }B_{n-1}(t, P_0, \dots, P_{n-1})+t\raisebox{.5ex}{ . }B_{n-1}(t, P_1, \dots, P_n)$ by definition. By induction hypothesis,

$B_n(t, P_0, \dots, P_n)=$

\begin{displaymath}
(1-t)\left[
\sum_{k=0}^{n-1}\left(\begin{array}{c}n-1\ k...
...\right)(1-t)^{n-1-k}t^k\raisebox{.5ex}{ . }P_{k+1}
\right].
\end{displaymath}

We get

$\displaystyle
(1-t)\left[
\sum_{k=0}^{n-1}\left(\begin{array}{c}n-1\ k\end{...
...in{array}{c}n-1\ k\end{array}\right)(1-t)^{n-k}t^k\raisebox{.5ex}{ . }P_k,
$



$\displaystyle
t\left[
\sum_{k=0}^{n-1}\left(\begin{array}{c}n-1\ k\end{arra...
...t)^{n-1-k}t^{k+1}\raisebox{.5ex}{ . }P_{k+1}
+t^n\raisebox{.5ex}{ . }P_n
$



$\displaystyle
= \sum_{k=1}^{n-1}\left(\begin{array}{c}n-1\ k-1\end{array}\right)(1-t)^{n-k}t^k\raisebox{.5ex}{ . }P_k
+t^n\raisebox{.5ex}{ . }P_n.$

Substituting the last two results, we get

$\displaystyle
B_n(t, P_0, \dots, P_n)=
(1-t)^n\raisebox{.5ex}{ . }P_0
+...
...\right] (1-t)^{n-k}t^k\raisebox{.5ex}{ . }P_k
+t^n\raisebox{.5ex}{ . }P_n
$


$\displaystyle = \sum_{k=0}^n\left(\begin{array}{c}n\ k\end{array}\right)
(1-t)^{n-k}t^k\raisebox{.5ex}{ . }P_k$,        as $\left(\begin{array}{c}n-1\ k\end{array}\right)+\left(\begin{array}{c}n-1\ k-1\end{array}\right)
=\left(\begin{array}{c}n\ k\end{array}\right)$

by the fundamental law of the binomial coefficients. $\dashv$

Quadratic Bézier curves
Cubic Bézier curves
Bézier curves of arbitrary order