On-Line Geometric Modeling Notes

Bezier Curves on Bezier Patches


Overview

The Bézier patch is the surface extension of the Bézier curve. 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. The edge curves of the patch are Bézier curves and the ``corner'' control points are always on the curve.

In these notes we show that a patch can be treated as a continuous set of Bézier curves. That is, for any fixed parameter tex2html_wrap_inline120 or tex2html_wrap_inline122 we can define a Bézier curve that lies directly on the surface of the patch. This is a very valuable tool for calculations on the patch.

To get a postscript version of these notes look here.


Calculating Bézier Curves on Bézier Patches

In the development of the Bézier patch, we have shown that the boundary curves of the patch are Bézier curves - that is, tex2html_wrap_inline124 and tex2html_wrap_inline126 are Bézier curves lying on the boundary of the patch.

If we examine the definition of a Bézier patch closely, and group factors appropriately,
displaymath32
we notice that portion of the equation inside the brackets is the representation of a Bézier curve. If we fix tex2html_wrap_inline128, the internal sum can be calculated (for j=0,...,m). This implies that tex2html_wrap_inline132 is a Bézier curve on the surface.

If we define tex2html_wrap_inline134 to be the value
displaymath41
(i.e. the value inside the brackets above) then we can see that
displaymath46
That is, the quantities tex2html_wrap_inline136 form the control points of another Bézier curve, and together for all u and v, they form the surface.

Therefore, given tex2html_wrap_inline142, we can calculate the quantities tex2html_wrap_inline144, tex2html_wrap_inline146, ..., tex2html_wrap_inline148, giving m control points to utilize for the curve
displaymath51
This curve lies on the patch - since it is really tex2html_wrap_inline152, and calculating tex2html_wrap_inline154 gives us the point on the patch at tex2html_wrap_inline156. Since tex2html_wrap_inline158 is a Bézier curve, this calculating is straightforward. The following illustration shows the relationship between the tex2html_wrap_inline160s and the tex2html_wrap_inline162s in the tex2html_wrap_inline164 case.

First the point tex2html_wrap_inline166 is calculated as a point on the Bézier curve defined by the control points tex2html_wrap_inline168, tex2html_wrap_inline170, tex2html_wrap_inline172 and tex2html_wrap_inline174.

tex2html_wrap234

next the point tex2html_wrap_inline176 is calculated as a point on the Bézier curve defined by the control points tex2html_wrap_inline178, tex2html_wrap_inline180, tex2html_wrap_inline182 and tex2html_wrap_inline184.

tex2html_wrap236

then the point tex2html_wrap_inline186 is calculated as a point on the Bézier curve defined by the control points tex2html_wrap_inline188, tex2html_wrap_inline190, tex2html_wrap_inline192 and tex2html_wrap_inline194.

tex2html_wrap238

and finally, the point tex2html_wrap_inline196 is calculated as a point on the Bézier curve defined by the control points tex2html_wrap_inline198, tex2html_wrap_inline200, tex2html_wrap_inline202 and tex2html_wrap_inline204.

tex2html_wrap240

The point tex2html_wrap_inline206, on the patch, is calculated as a point on the Bézier curve defined by the control points tex2html_wrap_inline208, tex2html_wrap_inline210, tex2html_wrap_inline212 and tex2html_wrap_inline214,

tex2html_wrap242


Calculating with the Other Parameter

If we reverse the order of the sums in the defining equation and regroup, we find that
displaymath78
which implies, if we do the above construction again, that we can first fix tex2html_wrap_inline216, define control points tex2html_wrap_inline218, tex2html_wrap_inline220, ..., tex2html_wrap_inline224 and define the equation as
displaymath86
which is again a Bézier curve lying on the surface.

Thus, we can either do this procedure by fixing u first, or fixing v first, and we obtain the same result.


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. However, the patch can be treated as a continuous set of Bézier curves, and the calculations to find a point on the patch can be reduced to finding several points on curves. The calculations are parameter independent in that it does not matter whether we start with the u or v parameter.


This document maintained by Ken Joy

Comments to the Author

All contents copyright (c) 1996, 1997
Computer Science Department,
University of California, Davis
All rights reserved.



Ken Joy
Thu Jul 24 10:41:32 PDT 1997