Graphics Reference
In-Depth Information
tions as possible. On the other hand, providing a user with many predefined types of
curves and surfaces does not mean that all their underlying mathematical represen-
tations have to be implemented differently. For example, one would certainly allow
users to define spheres and surfaces of revolution. The question for the modeling
system implementer is whether to use special case formulas to parameterize these or
describe them with, say, Bézier or B-spline surfaces. Having separate implementations
usually means a gain in efficiency, but it also means that one has to maintain all these
implementations. Some newer modeling systems are based on NURBS curves and
surfaces and make these the only internal geometric types. These types are general
enough to be able to represent all the curves and surfaces that one typically wants.
The advantage of the NURBS approach is that one has to implement operations such
as evaluation and differentiation only for these two types. (Actually, there would really
only be one type of computation since the surface computations reduce to curve com-
putations.) Sections 11.5.4 and 12.12.5 presented a few efficient algorithms for such
computations. For a very detailed discussion of algorithms and constructions using
NURBS see [PieT95]. One disadvantage with NURBS is, of course, that no matter how
efficient they are, they will not be as simple or fast as special-case algorithms, although
with regard to speed, computers have become powerful enough so that this is no
longer such a great disadvantage. It should also be pointed out that there exist explicit
matrix formulations for NURBS curves and surfaces that produce more efficient
evaluation algorithms but are complex and have numerical stability problems. See
[LiuW02]. We should note further that the Gregory patch and its generalizations
achieved a lot of popularity for blending and surface design in general.
A related question that someone new to the subject might have is whether to use
Bézier, spline, or B-spline curves and surfaces. Mathematically, these three types cover
the same class of curves and surfaces. Only their representations are different but one
can switch back and forth between them. The only way to make the question mean-
ingful is to rephrase it as asking whether one wants to think of curves and surfaces
in an interpolatory or interactive (control point) way. Because both interpolation and
interactive manipulation are important, it would make sense for a modeling system
to support both representations since each is more efficient in its own domain.
With respect to the question of computation, it is known that the Bézier form of
a curve or surface with the de Casteljau algorithm is numerically more stable than
the polynomial form (although Horner's method for evaluating polynomials makes
the latter more efficient for computational purposes). It is important to note however
that to obtain this stability one should not switch back and forth between the two
forms and needs to do everything in the Bézier form.
Here are a few comments on deciding whether to use rectangular or triangular
domains for parameterizing functions.
Advantages of triangular domains:
(1) Sometimes one needs to parameterize triangular surfaces patches. If one only
uses rectangular patches, then one has to play tricks such as mapping two corners of
a rectangle to the same point. A good example of this is the case of a surface of rev-
olution where the curve one is revolving touches the axis one is revolving about. Col-
lapsing rectangle vertices leads to degeneracies and would not be necessary if one
allowed a triangular domain.
Search WWH ::




Custom Search