i
i
i
i
i
i
i
i
592 13. Curves and Curved Surfaces
where Δ
i
= t
i+1
−t
i
. This concludes the presentation of Kochanek-Bartels
splines, which gives the user three intuitive parameters, bias, tension, and
continuity, with which to design curves.
13.2 Parametric Curved Surfaces
A natural extension of parametric curves (Section 13.1) is parametric sur-
faces. An analogy is that a triangle or polygon is an extension of a line
segment, in which we go from one to two dimensions. Parametric surfaces
can be used to model objects with curved surfaces. A parametric surface is
defined by a small number of control points. Tessellation of a parametric
surface is the process of evaluating the surface representation at a num-
ber of positions, and connecting these to form triangles that approximate
the true surface. This is done because graphics hardware can efficiently
render triangles. At runtime, the surface can then be tessellated into as
many triangles as desired. Thus, parametric surfaces are perfect for mak-
ing a tradeoff between quality and speed; more triangles take more time
to render, but give better shading and silhouettes. Another advantage of
parametric surfaces is that the control points can be animated and then the
surface can be tessellated. This is in contrast to animating a large triangle
mesh directly, which can be more expensive.
This section starts by introducing B´ezier patches, which are curved
surfaces with rectangular domains. These are also called tensor-product
B´ezier surfaces.ThenB´ezier triangles are presented, which have triangular
domains. An N-patch is a triangular B´ezier surface that can replace each
triangle in a triangle mesh. Using N-patches can improve the silhouette and
shading of a coarse mesh. They are presented in Section 13.2.3. Finally,
the topic of continuity is briefly treated in Section 13.2.4.
13.2.1 B
´
ezier Patches
The concept of B´ezier curves, introduced in Section 13.1.1, can be extended
from using one parameter to using two parameters, thus forming surfaces
instead of curves. Let us start with extending linear interpolation to bi-
linear interpolation. Now, instead of just using two points, we use four
points, called a, b, c,andd, as shown in Figure 13.14. Instead of us-
ing one parameter called t,wenowusetwoparameters(u, v). Using u to
linearly interpolate a & b and c & d gives e and f :
e =(1− u)a + ub,
f =(1− u)c + ud.
(13.25)