On-Line Geometric Modeling Notes


A general method can be specified to subdivide a Bézier patch. This method is specified unlike the matrix methods, as it is based upon the definition of the patch as a set of curves..

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

The Method for Subdivision

We recall that, if we take the analytic equation of a Bézier patch, fix $ u$ and group factors appropriately, we obtain

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

We notice that portion of the equation inside the brackets is the representation of a Bézier curve. If we let $ {\bf Q} _j(u)$ be the value inside the brackets, i.e.

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


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

That is, the quantities $ {\bf Q} _j(u)$ form the control points of another Bézier curve, and together for all $ u$ and $ v$, they form the surface.

If, then, we subdivide each of the $ m$ rows of the $ {\bf P} _{i,j}$ matrix, it implies that the $ {\bf Q} _j$s in the above equation represent only points from the first half of the patch (with respect to $ u$). The following illustration shows the result of subdividing the rows in the $ 4 \times 4$ case.

\includegraphics {figures/bezier-patch-6}

The second half of the patch can be obtained in a similar fashion. The first and second half of the patch, with respect to $ v$, can be obtained by subdividing the columns.


So, using only curve methods, and by subdividing the rows or columns of the control point array, we can effectively subdivide a Bézier patch. This is the most frequently used algorithm in software implementations of subdivision and can be utilized for Bézier patches of arbitrary degree.

\footnotesize\bfseries All contents copyright (c) ...
...ment, University of California, Davis \\
All rights reserved.

Ken Joy