i
i
i
i
i
i
i
i
606 13. Curves and Curved Surfaces
see to it that reasonable continuity is obtained across all borders. One
solution to this is to turn to subdivision surfaces, treated in Section 13.5.
Note that C
1
continuity is required for good-looking texturing across
borders. For reflections and shading, a reasonable result is obtained with
G
1
continuity. C
1
or higher gives even better results. An example is shown
in Figure 13.26.
13.3 Implicit Surfaces
To this point, only parametric curves and surfaces have been discussed.
However, another interesting and useful class of surfaces are implicit sur-
faces. Instead of using some parameters, say u and v, to explicitly describe
a point on the surface, the following form, called the implicit function,
is used:
f(x, y, z)=f(p)=0. (13.42)
This is interpreted as follows: A point p is on the implicit surface if
the result is zero when the point is inserted into the implicit function f.
Implicit surfaces are often used in intersection testing with rays (see Sec-
tions 16.6–16.9), as they can be simpler to intersect than the corresponding
(if any) parametric surface. Another advantage of implicit surfaces is that
constructive solid geometry algorithms can be applied easily to them, that
is, objects can be subtracted from each other, logically and:ed or or:ed with
each other. Also, objects can be easily blended and deformed.
A simple example is the unit sphere, which has f(x, y, z)=x
2
+ y
2
+
z
2
−1 as its implicit function. Sometimes it is also useful to use isosurfaces
of an implicit function. An isosurface is f(x, y, z)=c,wherec is a scalar
function. So, for the unit sphere, f(x, y, z) = 3 describes an isosurface that
is a sphere centered around the origin with a radius of two.
The normal of an implicit surface is described by the partial derivatives,
called the gradient and denoted ∇f:
∇f(x, y, z)=
∂f
∂x
,
∂f
∂y
,
∂f
∂z
. (13.43)
To be able to evaluate it, Equation 13.43 must be differentiable, and
thus also continuous.
Blending of implicit surfaces is a nice feature that can be used in what is
often referred to as blobby modeling [99], soft objects, or metaballs [117].
See Figure 13.28 for a simple example. The basic idea is to use several
simple primitives, such as spheres or ellipsoids, and blend these smoothly.
Each sphere can be seen as an atom, and after blending the molecule of