
On-Line Geometric Modeling Notes
Overview
A cubic Bézier patch has a useful representation when written in a matrix form. This form allows us to specify many operations with Bézier patches as matrix operations which can be performed quickly on computer systems optimized for geometry operations with matrices.
This is an unusual representation for many students as it is not frequently shown in basic courses. If you have not seen this before it is suggested that you begin with the section on matrix representations for Bézier curves in which the equations are simpler and easier to understand.
To get a postscript version of these notes look here.
Developing the Matrix Formulation
A cubic Bézier curve can be written in a convenient
matrix form.
A bicubic Bézier patch can be written in a matrix form
by using methods similar to that for a Bézier
Curve.
Utilizing the representation of a Bézier patch as
a continuous set of Bézier curves
we have

and so the cubic Bézier patch is frequently written

where

Patch Subdivision Using the Matrix Form
Suppose we wish to subdivide the patch at the point
. We
reparameterize the matrix equation above (by substituting
for u) to cover only the
first half of the patch, and simplify to obtain.

where the matrix
is defined as

and is identical to the
left subdivision matrix
for the curve case.
So in particular, the subpatch
is again a Bézier
patch and the quantity

forms the control points of this patch.
Calculation of the Second Half of the Patch
In the same way, we can
obtain the subdivision matrix for the second half of the patch. First we
reparameterize the original curve, and then simplify to obtain

where

which is identical to the right subdivision matrix
in the curve case
and we obtain a matrix that can be applied to a set of
control points to produce the control points for the second
half of the patch.
General Subdivision with either Parameter
We can develop a procedure to generate the control points for the
first and second portions of the patch when subdivision is done
with respect to v. These are
![]()
where

The development is exactly parallel to that with respect to u.
Combining these two methods, we can see that the arrays

segment the patch into quarters, the first array being the quarter
that corresponds to
, the second to the one that corresponds to
, etc.
Summary
We have developed a matrix form for the Bézier patch which parallels the development for the Bézier curve. This representation allows us to develop matrices that, which multiplied by the control point array, calculate the control points of a subdivided portion of the patch.
These matrix equations exist for patches of all orders - we have done
order 4 (or degree 3) patches here. However, the matrices are
for a patch of order n, and are not as easily written
down.
|
This document maintained by
Ken Joy
All contents copyright (c) 1996, 1997 |
|