CAGD-banner.gif
On-Line Geometric Modeling Notes
THE BÉZIER PATCH


Overview

The Bézier patch is the surface extension of the Bézier curve. Whereas a curve is a function of one variable and takes a sequence of control points, the patch is a function of two variables with an array of control points. Most of the methods for the patch are direct extensions of those for the curves.

The Bézier patch is the most commonly used surface representation in computer graphics. An understanding of the patch is fundamental to an understanding of this field.

If you are a novice to this field it is suggested that you review the notes on Bézier Curves first, as the equations are easier to understand. Also the fundamental mathematical work on Bernstein Polynomials will be useful.

pdficonsmall.gif To get a pdf version of these notes look here.


Definition of the Bézier Patch

The extension of Bézier curves to surfaces is called the Bézier patch. The patch is constructed from an $ n \times m$ array of control points $ \left\{ {\bf P} _{i,j} \, : \, 0 \leq i \leq n, \, 0 \leq j \leq m \right\}$.

\includegraphics {figures/bezier-patch-1}

and the resulting surface, which is now parameterized by two variables, is given by the equation

$\displaystyle {\bf P} (u,v) \: = \: \sum_{j=0}^{m} \sum_{i=0}^n {\bf P} _{i,j} B_{i,n}(u) B_{j,m}(v)
$

\includegraphics {figures/bezier-patch-2}

It is easily seen that this is in the same general form as the Bézier Curve - with the summations running over all the control points, and the bi-variate Bernstein Polynomials serving as the functions that blend the control points together. The bi-variate Bernstein polynomials

$\displaystyle B_{i,n}(u) B_{j,m}(v)
$

are just products of two of the uni-variate Bernstein Polynomials

If we set $ v$ equal to zero in the equation above, we obtain

\begin{displaymath}\begin{aligned}{\bf P} (u,0) & = \sum_{j=0}^{m} \sum_{i=0}^n ...
...0) \\  & = \sum_{i=0}^n {\bf P} _{i,0} B_{i,n}(u) \end{aligned}\end{displaymath}

since $ B_{0,m}(0) = 1$ and $ B_{j,m}(0) = 0$ for $ j=1,2,..., m$. This is just a Bézier curve - and with similar calculations for $ {\bf P} (u,1)$, $ {\bf P} (0,v)$ and $ {\bf P} (1,v)$, we can show that all the edge curves of the patch are Bézier curves.

\includegraphics {figures/bezier-patch-3}

This then implies that the corner points are actually on the patch.

\includegraphics {figures/bezier-patch-4}


Properties of the Bézier Patch

The Bézier patch has properties similar to that of the Bézier curve.. These can be verified directly from the defining equations.


Summary

The Bézier patch is a direct extension of Bézier curves to surfaces. The definition of the patch follows directly the definition of the curve, with the primary differences being the use of an array of control points and the bivariate Bernstein Polynomials.

As it turns out, the Bézier patch can be viewed as a continuous set of Bézier curves. This greatly simplifies computation on the patch because in many instances that calculations on the patch can be reduced to calculations on Bézier curves.


\begin{singlespace}
\noindent
\footnotesize\bfseries All contents copyright (c) ...
...ment, University of California, Davis \\
All rights reserved.
\end{singlespace}


Ken Joy
2000-11-28