On-Line Geometric Modeling Notes
A MATRIX REPRESENTATION OF A CUBIC BÉZIER PATCH

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.

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 ) 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 . These are

where

The development is exactly parallel to that with respect to .

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 , and are not as easily written down.

Ken Joy
2000-11-28