Last updated: Yeh-Liang Hsu (2010-11-18).
Note: This is the course material for “ME550 Geometric modeling and
computer graphics,” Yuan Ze University. Part of this material is adapted from CAD/CAM
Theory and Practice, by Ibrahim Zeid, McGraw-Hill, 1991. This material is
be used strictly for teaching and learning of this course.
Two sets of orthogonal Bezier curves can be used to design
an object surface by specifying by an input mesh of
control points, as shown in Figure 1. Bezier surfaces have the same properties
as Bezier curves, and they provide a convenient method for interactive design
applications. For each surface patch, we can select a mesh of control points in
the xy “ground” plane, then we choose elevations above the ground plane
for the z-coordinate values of the control points. Patches can then be
pieced together using the boundary constraints.
Figure 1. A cubic Bezier patch.
Generate the surface of an object, e.g., a car, the mouse
of your computer, etc., using your CAD software. Use 4×4 control points as your
input. Define an xy “ground plane” first, then use the procedure
described above to adjust the z-coordinates of your control points,
until you get the surface you want. Can you render this surface in your CAD
A tensor product Bezier surface is an extension for the Bezier curve in two parametric directions u
where P(u, v) is any point on the surface and are the
control points. These points form the vertices of the control or characteristic
Figure 1 shows a
cubic Bezier patch. Substituting n=3 and m=3 into Equation (1),
the patch equation is
can be expanded to give
can be written in a matrix form as
Use the same 4×4 control points generated in assignment
1, write a Matlab program to draw the Bezier surface using Equation (4). Use
proper mesh and views to display the surface. Compare the surface you draw with
the surface generated in assignment 1. Show the Matlab program too. ◇
A tensor product
B-spline surface is an extension for the B-spline curve in two parametric
directions u and v.
the equivalent bicubic formulation of an open and closed cubic B-spline surface
can be derived as below. First, let us find the matrix form of Equation (5).
This equation is identical in form to the Bezier surface equation (1). Thus, by
replacing the Bernstein polynomials in Equation (4) by the B-spline functions
yields the matrix form of Equation (5) as
where is an matrix of
the vertices of the characteristic polyhedron of the B-spline surface patch.
For a 4×4 cubic B-spline patch, Equation (6) becomes
Redo assignment 1. This time use as many control points
as necessary to generate a better-looking surface. ◇
All the surface
methods introduced thus far share one common philosophy; that is, they all
require a finite number of data points to generate the respective surfaces. In
contrast, a Coons
surface patch is a form of “transfinite interpolation,” which indicates that
the Coons scheme interpolates to an infinite number of data points, that is, to all points of a curve segment, to generate the
surface. The Coons patch is particularly useful in blending four prescribed
intersecting curves, which form a closed boundary.
the Coons surface patch centers around answering the following question: what
is a suitable well-behaved function P(u, v) which blend
the four given boundary curves and which satisfies the boundary conditions,
that is reduces to the correct boundary curve when u=0, u=1, v=0,
Let us first
consider the case of a bilinearly blended Coons patch
surface patch described by Equation (10) does not satisfy the boundary
Let us define a
“correction surface” below:
Equation (10) gives
v) in Equation (14) satisfies
the boundary conditions,
The left column
and the upper row of the matrix represent and respectively, while the lower right block
represents the correction surface .
Define 4 Bezier curves P(0, v), P(1,
v), P(u, 0), P(u, 1). Write a Matlab program
to draw the corresponding bilinearly blended Coon’s patch using Equation (16).
Use proper mesh and views to display the surface. Show the Matlab program too. ◇
–1, 1-u, u, 1-v, and v are called blending
functions because they blend together four separate boundary curves to give one
surface. For cubic blending function , we can define
techniques, three parameters u, v and w are used and the
parametric domain is defined by a symmetric unit triangle of , , and , as shown in Figure 2. The coordinates u, v
and w are called “barycentric coordinates.” While the coordinate w
is not independent of u and v (note that u+v+w=1
for any point in the domain), it is introduced to emphasize the symmetry
properties of the barycentric coordinates.
Figure 2. Representation of a triangular patch.
Bezier patch is defined by
For example, as
shown in Figure 3, a cubic triangular patch is
Define 10 control points in a similar pattern shown in
Figure 2. You can also define an xy “ground plane” first, then adjust
the z-coordinates of your control points. Write a Matlab program to draw
the corresponding cubic triangular patch using Equation (22). Use proper mesh
and views to display the surface. Show the Matlab program too. ◇
For n=4, the triangular patch is defined as
Figure 3. Triangular
Derive Equation (23) using the definitions in Equation
(20) and Equation (21).◇