next up previous


Bezier Triangles

Suppose we are given three points, which we will now label with b and use three subscripts

\begin{displaymath}b_{001},\,b_{010},\,b_{100}\end{displaymath}

Think of them as in a triangle:

\begin{displaymath}\begin{array}{ccc}
& b_{010} & \\
b_{001} & & b_{100} \\
\end{array}\end{displaymath}

We've seen we can form the triangle determined by them as

\begin{displaymath}ub_{100}+vb_{010}+wb_{001}\quad \mbox{where} \,u+v+w=1.\end{displaymath}

Let's extend this to 6 points, conveniently written in a triangular array:

\begin{displaymath}\begin{array}{ccccc}
& & b_{020} & & \\
& b_{011} & & b_{110} & \\
b_{002} & & b_{101} & & b_{200} \\
\end{array}\end{displaymath}

We can then form triangles from each of the 3 subtriangles

\begin{displaymath}\begin{array}{ccc}
& b_{010}^{1} & \\
b_{001}^{1} & & b_{100}^{1} \\
\end{array}\end{displaymath}

where

\begin{eqnarray*}b_{010}^{1} & = & u b_{110} + v b_{020} + w b_{011} \\
b_{001}...
...002} \\
b_{100}^{1} & = & u b_{200} + v b_{110} + w b_{101} \\
\end{eqnarray*}


Finally, we can form a barycentric combination of these 3 points obtaining:

b0002 = u b1001 + v b0101 + w b0011.

This last point $b_{000}^{2} = b_{000}^{2}(u,\,v,\,w)$ is said to lie on the Bezier triangle defined by the control net of original points.

Note that

\begin{eqnarray*}{n \choose 2} & = & \frac{n(n-1)}{2},\, n = 2,\,3,\ldots \\
& = & 1,\,3,\,6,\,10,\ldots \\
\end{eqnarray*}


are called the triangle numbers.

de Casteljau algorithm

Given a control net of ${n+1\choose 2}$ points bijk where i+j+k = n and barycentric coordinates $u,\,v,\,w$ (which means u+v+w=1), set

bijkr = u b(ijk)+(100)r-1 + v b(ijk)+(010)r-1 + w b(ijk)+(001)r-1

where $r=1,\,2,\ldots n$ and i+j+k = n-r and bijk0 = bijk. Then b000n is the point on the Bezier triangle with coordinates $u,\,v,\,w$.

Based on the de Casteljau algorithm we can conclude the following properties hold for Bezier triangles

Affine invariance
Since linear interpolation is affine invariant and the de Casteljau only uses linear interpolation.
Invariance under affine parameter transformations
Convex hull
The Bezier triangle lies in the convex hull of its control net.

Bernstein Polynomials

We can extend the definition of Bernstein polynomials as follows

\begin{displaymath}B_{i}^{n}(u,\,v,\,w) = {n \choose i,j,k} u^{i} v^{j}w^{k},\quad\mbox{where}\,i+j+k=n.\end{displaymath}


next up previous
William Shoaff
1999-02-08