Professional Documents
Culture Documents
Geometric Modeling Mortenson PDF
Geometric Modeling Mortenson PDF
MODELING
(Second Edition)
Michael E. Mortenson
John
Wiley
and Sons, Inc.
Geometric modeling
is now
taught, studied, and practiced world-wide. It has
come to affect the lives of us all. It makes possible the fast and accurate
working in the field. During this time two compelling circumstances have
motivated and affected the creation of this second edition. The first is the
progress occurring within
geometric modeling itself, as a result of vigorous
ongoing research and of increasingly more sophisticated demands of client
substantial revision
reflecting both new developments and a maturing discipline.
With the increased capability, availabiliiy,and affordability of
computers,
geometric
modeling applications have spread from mainframes and
supercomputers
to workstations and PCs. The usefulness of geometric modeling has
ix
broadened from its initial applications in the aerospace and automotive
millennium\342\200\224the need is
growing for practitioners in all the related fields and client
applications to be knowledgeableand current in
geometric modeling.
The second edition of Geometric Modeling offers the reader a
offsets,
and fillets). The content and organization of this text reflect these
functions. Chapter I
attempts
to answer the question, What is geometric
modeling?
It briefly discusses its history and the underlying mathematics.
Chapters 2
through
5 are all about curves: mostly Hemiite, Bezier, and B-Spline;
their mathematical representation, modification, and analysis. Surfaces,
including
the
quadric, bicubic Hermite, Bezier, and B-Spline, are the subjects
of Chapters 6 through 9. Chapter 10 addresses the still esoteric world of
presents
a discussion on the newly emerging methods of relational geometric
synthesis. Appendices A and \320\222 review vectors and matrices, respectively
Appendix \320\241 summarizes various transformations of models. An extensive
bibliography, frequently referenced in the text,completes this work-
Several subjects are not included.
Although well-understood, they are
either not yet widely accepted, too specialized, or mathematically beyond
the scope of this text. For example, nontensor product patches, general
offsets and blends, nonstandard parameterization schemes, and Euler models
are no! discussed here.
As Geometric a
Modeling textbook, can be used for a one- or two-
semester course at the upper division or
graduate
level in any of the
disciplines
mentioned, including engineering, physics, computer science, and
applied mathematics. Some prior course work is required in
elementary
create effective
geometric models.
Finally, I must repeat a warning is-sued in the first edition: The geometric
model of an
object or the simulation of a process via geometric metaphor is
not the object or When we ask the model the
process. questions, when we
analyze it to better understand or predict the behavior of what is
being
represented, we must remember that the answers and results pertain first to the
model itself and only conditionally to its object. only if the model If and
closely corresponds to the object or process can we safely infer the object's
or process' behavior from the model's behavior. The accuracy of modeling
methods is an art and science in itself.
ACKNOWLEDGMENTS
The
history of geometric modeling is one of unique cooperation between
industry and academia, and material presented from both. Many here draws
all those both well-known and anonymous researchers and developers who
have contributed to geometric modeling over the past 40 years.The authors
whose works are listed in the bibliography have created a new discipline.
Their work has made possible a growing family
of scientific, industrial, and
I thank the many readers of the first edition who took the time to offer
valuable comments and
suggestions.
I especially thank the directors and staff of
the Port Townsend and Jefferson County public libraries, particularly Carol
Cahill, Reference Librarian at the Port Townsend library, and Shery Hart, at the
Jefferson County library- Although these two small rural libraries are not
endowed with the resources of a large university library, the diligence and
professional skills of their staffs are the equal of that found anywhere. I also thank
Bob Aronds, Diane Cerra (now
with
Morgan Kaufmann), and Marjorie
Spencer, my editors at Wiley, for all they have so thoughtfully
and
professionally
done to make the production of this edition an enjoyable experience. Harry
Meriwether and Art Eshleman I thank for their example must
especially
of
how to think geometrically and for an understanding modeling process of the
itself, both of which I had the pleasure to learn from them many years ago.
\342\226\240
\342\226\240
\342\226\240
XIII
xiv \342\226\240
Acknowledgments
the Cover). This geometric model was Created using the methods of
relational
geometric synthesis (see Chapter 12) and AeroHydro's MultiSurf
program. I also thank Dr. John S. Letcher,Jr., D Michael
Shook, Seth H.
preparing
the manuscript for the first edition, using an Apple II and a now
long-expired word processor that had no equation-editing capability. Even
Michael E. Mortenson
Port Townsend
October 1996
CONTENTS
Preface ix
Acknowledgments xiii
1 Introduction 1
2 Curves 19
3 Hermite Curves 39
4 Bezier Curves 81
6 Surfaces 143
10 Solids 237
10.1 Parametric Solids 237
CI Translation 441
G2 Rotation in the Plane 444
C.3 Rotation in
Space
about the Principal Axes 447
C.4 Rotation in Space about an Arbitrary Axis 453
Contents xix
\342\226\240
Bibliography 473
Index 509
INTRODUCTION
Tills
chapter
introduces
geometric modeling in the context of the forces
motivating and shaping its development, and tries to answer the
question,
briefly discusses their use. The chapter concludes with a summary of the
text's conventions and notation scheme.
Geometric modeling evokes a curious mix of the visual analytic in and the
the eyes and minds of those of us who study and apply it. The visualresponse
arises from its association with the simulation of shapes that define objects in
the real world, from its association potential
with the
reality of the designer's
work, and from its symbiosis with computer graphics. The analytical
response arises from an awareness of the elegant and often subtle
mathematics that is its foundation.
The term geometric modeling first came into use during the late 1960s and
1
2 Introduction
\342\226\240
aided
design and manufacturing technologies. The decipline of geometric
modeling is an interrelated, although somewhat looselyintegrated,
collection of mathematical methods that we use to describe the shape of an object
or to express some physical process
in terms of an appropriate geometric
metaphor. These methods include computer-aided geometric design, solid
modeling, algebraic geometry,
and computational geometry. Computer-aided
representation. The
object may already exist physically, it may be the design for
some as yet nonexistent object, be some virtual it
may object never intended
to be physically realized, or it may be the basis for the
geometric
crete. Physical models or mock-ups are still successfully used, and their story,
in itself, is worthy
of a
separate study. We create a model, either physical or
abstract, because it is a convenient and economical substitute for the real
object or process, and because it is easier and more practical to
analyze
a
computer
is not
explicit in our studies, it is ever present, if only in the background
as our implied L%geometry engine.\"
analytically complete
three-dimensional models. These models allow us to deter-
mine any geometric property or attribute. Obviously,
the
long
association of
These three categories are, of course, closely related. For example, when we
demands on
new
geometric-modeling capabilities. Computer graphics
systems can now
routinely produce realistic two-dimensional color-shaded
renderings
of three-dimensional
objects, including the appearance of texture,
translucence, and the effects of multiple light sources. Art, animation, and
virtual reality are each contributing their own impetus to the state of the art.
Many visual
special
effects in feature films and advertising rely on these
display systems
and
modeling techniques. Advances in solid modeling,
polygonal,
and
sculptured-surface techniques have made much of this possible.
Development work continues on more sophisticated computer-aided
design and
manufacturing systems, with much of this effort aimed at creating
a virtually paperless and seamless engineering and
manufacturing process.
In
design and drafting, the engineer's activities may soon be more like sculpting
than
drafting.
The new sculpting tools, using combinations of simple solid
shapes and sophisticated shape transformations, will mimic not only those of
the artist but also those forming processes available in
manufacturing,
also now possible to ask other often-neglected questions, such as: Is there
sufficient clearance for or screwdriver a wrench to reach and turn a fastener
whose location allows only limited access? or Is it
possible
for a robotic spot-
welder to reach a joint?
Perhaps one of the most fertile applications of
geometric modeling
is
generate production
and assembly instructions for the automated machine
shop and assembly line. Automated inspection of finished
parts
e also now
a
geometric
model of their immediate environment using artificial senses
and adaptive powers of inference.
Geometric modeling is
appropriately
cast as an applied art and science.
However, with strong stimulus from its client applications, the need for an
may lie in a new geometric metaphor encompassing both shape and behav-
ior.The various conceptual fragments of
contemporary geometric modeling
offer partial solutions in these applications. However, some future
integrative
general theory of geometric modeling may yield more comprehensive
results.
Much work remains to be done in
geometric modeling on both fronts\342\200\224
within these limits and perhaps help to overcome them. Wc need a better
understanding of the
relationship between the object and its model, the
strength of their correspondence, how to minimizeambiguities in a
model,
1.2 HISTORY
thousand
years,
to the application of conic sections to naval architecture, when
engineers and ship builders designed and lofted of ships' hulls the lines
the 1950s and early 1960s, the advent of the electronic computer changed
forever the
way we do modeling.
The roots of today's geometric modeling are found in the earliest
among the earliest pioneers in this field with his Sketchpad system.This and
developed
to translate the shape information from the drawing into a computer-
compatible format. D. T. Ross (1959), at the Illinois Institute of Technology,
guided an early and highly successful effort to do just that, using
classical
and
incorporates cutting instructions, which reference the model, for
computer-controlled
machine tools. This marked the beginning of the
numerically
controlled
(NC) machinery revolution in industry.
In the mid-1960s, Ross (1967), then at MIT, developed an advanced
compiler language
for graphics programming and for generating problem-
oriented languages. S. A. Coons (1963,1965), also at MIT, I C. Ferguson and
of other curve and surface representations. The early efforts of Castel- \316\225 de
jau (1959, 1963) were quickly followed by the independent and insightful
work of P. Bezier
(1966,1967,1968), who produced a widely used method for
curve and surface design.
At about this time, General Motors developed its DAC-1 system. Several
other companies, notably Douglas, Lockheed, and
McDonnell, also made
understanding
and usefulness of the cubic and bicubic Hermitian forms of curves and
surfaces. To Eshleman and Meriwether,the idea of a mathematical model
describing and recording the geometry of the end product of a design was
important, but the real prize
was the process\342\200\224the use and evolution of the
model through all phases of design and analysis, and on into the
manufacturing process
itself. Of course, this put an emphasis on the universality and
versatility of the modcVs
representational form; a philosophical approach
still bearing fruit, as witness the popular and widely used nonuniform
rational
B-Spline
or NURBS form. The sucecss of the NURBS form arose out of
the simple fact that design
and
manufacturing processes still rely on standard
analytic shapes, such as straight lines, circles,conies, and
quadric
surfaces.
Rational curve and surface representation forms, like NURBS, are capable
of incorporating both standard and free-form
shapes.
Early
limitations of the NC programming languages further stimulated
work on the mathematics and applications of
sculptured
surfaces and solid
of
piecewise curves and surfaces, the joining together of many individual
curve segments or surface patches to form more complex shapes.
Meanwhile, some workers in computer graphics and certain areas of
computer-aided design (includingarchitecture) began
work in two areas of
because there are three equally likely passages through the object. It is also
easy to create nonsenseobjects,sincethese systems usually
have no internal
logical tests to prohibit this. Figure 1.2a shows a classical example. Implied
faces
interpenetrate
in a
way that makes the interpretation of a physically
realizable solid impossible. The wireframe 1.2b is a different in
Figure
kind
of nonsense object, because it cannot be constructed or interpreted in three-
have been extensively used as research tools for computer graphics display
technology, with animation and hidden-surface or ray-tracing techniques at
the leading edge.
10 Introduction
\342\226\240
previously,
were
early successes. Not much later, in the 1970s, W. J. Gordon and R.
F Riesenfeld (1974b)introduced and
applied B-Spline
curves and surfaces
to computer-aided geometric design. Barsky ([981) introduced an important
variation, the beta-Spline, Rational formulations of the Bezier and B-Spline
followed soon after, culminating in the very powerful and popular NURBS
curves and surfaces (nonuniform rational B-SpHnes). I. Schoenberg (1946),
M. G. Cox (1972), and C. de Boor (1972) laid the mathematical foundation
for much of this work. More recently J. S. Letcher (1995) led the
development and successful application of a new object-oriented framework for
computer-aided geometric design, called relational geometry (see Chapter
12). Taken
together
these methods, grounded in the parametric curves and
surfaces of differential geometry, form the core of computer-aided
geometric
design.
Solid
modeling, a relative newcomer, is intended to overcome some of the
limitations of the other schemes when
representing
and
analyzing three-
constructive solid
geometry (CSG), pioneered by A. A. G. Requicha and \316\227. \316\222.
Voelker
(1977). Perhaps at the farthest frontier of geometric modeling and
The Mathematics 11
\342\226\240
still
awaiting a wider recognition of its potential is true solid modeling, where
the internal properties oT an
object are as fully represented as its surface
over twenty years ago. Later chapters discuss these areas of solid modeling
in much
greater detail.
At first
glance,there appears
to be a large menagerie of unrelated curves and
surfaces, but this is misleading. All parametric polynomial representations
special and restricted forms to the more general and inclusive forms, and for
curves and surfaces focusesparticularly on parametricrepresentations.
This
study
of geometric modeling makes extensive use of several mathe-
maiical techniques, in addiiion to the parametric equations of curves and
operations these on
arrays. Another use of a matrix is as an operator. Here, the
matrix performs a
geometric
transformation on a set of points by operating
on the position vectors that define those points.The interpretation
of a
the powerful but simple theorem that says line exactly interpolates a
straight
(is defined by and passes through) two given points, a eonic curve
interpolates
points,
a cubic
three
interpolates four points, and so on.This suggests a
polynomial of
degree
n: that is, a function of the form
f(x) =
\302\267
\342\226\240
\342\226\240
av
+ axx + + \317\215/
These
polynomials are widely used for interpolation because they can be
evaluated, differentiated, and integrated easily a finite number of and in
Using polynomials
of the same order as the number of points is very
sensitive to the choice of interpolation points. At appropriately chosen points,
they may produce a shape differing very
little from that of the best
approximation method. However, if the interpolating function is badly behaved,
The Mathematics 13
\342\226\240
corresponding
successive
groups
of data points. In fact, as Farin (1993a) points out, high-
degree polynomial interpolation is now
mostly of theoretical value, because
the piecewise approach is faster, more accurate, and reliably produces more
acceptableshapes.
Numerical methods and analysis are necessary because the algorithms of
geometric modeling are not processed on ideal computing machines with
polynomial of
degree
\316\267 and the forward difference method to evaluate a
polynomial at
equal intervals of the parametric variable are both discussed in
Section 2.6,
An iterative technique called Newton's method
(since
he was the likely
inventor of it) finds the roots of a given function f[u) =
0. A better name
l(u)
one root in this interval and the function (or curve) is well-behaved, with no
discontinuities or inflections(see Figure 1,4).
We let
Then
where 1/'(\320\270()1
> Oand ut
=
ul when \320\270| + ,
-
ut- 0. If f(ut) is zero \320\276\321\202
very small,
=
30\321\2133-3\321\2132 + 9\321\213-15
\320\224\321\213)
= 90u2 - + 9
f(u) \320\261\321\213
30\320\270\321\215-\320\227\320\2702 + 9\302\253-15
= -
\320\230\321\206-1 \320\230,
-
90\320\2702 +
\320\261\321\213 9
\320\275,-0.697539
say/ftO-Thus
dA= \\ f(u)du
CI
where \320\224\320\270)
is an
explicit
formula that can be evaluated at any \321\213 in the Tange
w
= +
\320\2732 [/\320\253 \320\224\321\213\321\214)] (TTapezoidal rule)
\321\203
w
=
\320\220\321\212
\342\200\224\320\251\321\206\320\260)
+
Af{uh) + \320\224\320\270\321\201)] (Simpson rule)
\320\227\320\2751
^
- + 3/K) + 3/K) + /K)]
\"g-t/\320\253
4\316\2671
= +
\320\233 \342\204\226\320\264)
+
32/ti<u) + 12\320\233\"\321\201)
+
32/i\302\243'j) 7/i\"i)]
\"90
wheTe A, is the lotal area and w is the width of a single quadrature division.
For example, A5 is the lotal area between a,e. The sequence continues for
higheT-OTder formulas.
applicability,
fl,fe,c,.. . Scalars,constantcoefficients:lowercase
letters
ajb,p,r,s,... Vectors:
boldface, lower-case letters
vector
\316\221^,\316\222_1,\316\234_1,.
.. Matrix inveTSe
\320\270 Union
\316\267 InteTSection
-
Difference
a t=
b a is an elemen t of b
V For all
[a,b] Closed interval,continuous values
\\a
;
b]
Closed interval, integral or discTete
values
Differentiation:
dy
-
\321\203
dx
d2y
yxx~-
dx2
dx
X\320\271--
du
d2x
vflHJ _
dud w
and so foTth.
n\\ n!
. means
ij i\\(n-i)\\
The notation for
Hermite, Bezier, and B-Spline curves and surfaces is far
from uniform and standardized literature. in the The notation used in this text
conforms to generally accepted, although not universal, forms. They
are
Hennite cuTve:
=
\321\200(\320\270) \320\225\321\214\320\233\321\217(\320\270) (\320\227.\320\237)
\320\263
-\320\236
=
\321\200(\320\275)
\320\2501,\320\222 (3 20)
Bezier curve:
=
P(h) \302\243pA\302\273
(4.2)
\320\263
-\320\236
=
\320\270\320\234\320\271\320\240
\321\200(\320\270) (4.7)
curve:
B-Spline
\320\273
=
\321\200(\320\270) \316\243 \320\240'\320\233\320\270\320\241\") (5-1)
\316\257-0
=
p^) UM.,PK (5.16)
\316\271*0
=
p(\") - <M9>
wo
i = ()
18 Introduction
\342\226\240
Hetmite surface:
m ft
=
\321\200(\320\270,\320\270>)
UMFBM^W
Bezier smface:
\320\273> ->
=
\317\201(\316\257\316\257,\316\234') \316\243 \316\243 \321\200,\320\220.\320\226*\320\230
d * (I \342\226\240=
0
f
-
p(M,w) UMbPMjJ'W7'
B-Spline smface:
-1 \\ -\"\342\226\240
=
p(\302\253,w) 2, \316\226 \317\201-\316\233\316\272\316\237\316\237^\317\207\316\227
d * O/* II
m p>
\302\243\302\243\320\273,7\320\240,\320\233\320\273(\302\273)\320\273'1,\320\230
m /I
CURVES
Curves are often defined as the locus of a point moving degree of with one
behavior,
but they are not
explicitly analytical. Of more importance to geometric
modeling is that these definitions lead to useful
analytical expressions-Ways
latter
category
is expressed powerfully in the Hermite, Bezier, and B-Spline
forms. This chapter briefly reviews and compares these methods for
representing
curves. Many modeling problems require us to determine a series of
points on a curve; so this chapter concludes with a discussion of the direct-
and inverse-point solution,
The fact that a rectangle has four equal angles is intrinsic to the rectangle,
but the fact that a
particular rectangle has two vertical sides is extrinsic,
because an external frame of reference is
required
to determine which
direction is vertical.
19
Intrinsic descriptions of a figure are easy to construct and understand.
Imagine that you
are
standing in a large open space, free of any obstructions
or convenient reference points, and that to do a simple experiment you
want
position and
orientation, walk ahead, say, 10 paces; turn to your right 90 degrees,
and walk 10 turn
more
right 90 degrees
paces; again, and walk 10 more paces.
Repeat this one more time, should be back at your starting position.
and
you
since you can easily imagine various \"local\" methods to determine these
turns, and counting to 10 is
obviously
a
purely local operation. You have just
exercised a procedural intrinsic definition square,
and what works for a of a
start anywhere. How many different intrinsic procedures can you find for
description,
but they are not rich in analytical potential. For this we must
look at an example of an intrinsic equation. A curve requires two intrinsic
equations, one expressing its curvature 1/p and one its torsion \317\204as functions
and z =
-=\342\204\226) g(s) (2.1)
(how much it tries to twist out of the osculatingplane), length is, of and arc
course, the length measured along the curve. The theory of curves proceeds
from these intrinsic equations.
(2.2)
/(-,v)=0
This equation imposes a condition on the curve,so has certain special that it
properties, but many curves may have these properties. For example, 0 is =
\317\204
a natural equation characterizing all plane curves, and 1/p = 0 is also a natural
1/p and as
\317\204 functions of s produces intrinsic equations. Two natural
equations determine a curve uniquely, except for its position in space.
Here is a slightly different approach, using Figure
2.1 and limited to plane
curves: Given the initial point of a curve, the variation of \316\270 with arc length.\316\275
will completely define the curve, \316\270 is the angle subtended by the tangent to
the curve with the \317\207 axis. The
relationship between s and \316\270 is an intrinsic
equations
tfx
+ K(s)dy = 0
ds2 ds
tfy K(s)dx = 0
(2,5)
ch] ds
Using appropriate
numerical procedures, we solve these two second-order
equations for x(s) and y(s) for any given
curvature function k(j).
In the plane, the explicit equation of a curve takes the general form
y=\342\204\226 (2-6)
cannot
represent
closed or multiple-valued curves. This limitation is avoided by
using an implicit equation of the general form
= 0
f(x,y) (2.7)
Both explicit and implicit forms are axis dependent.Therefore, the choice
of the coordinate system
affects the ease of modeling the curves and
calculating
their
properties.
In
spite of this limitation, implicit equations prove to
be useful, usually as an
adjunct
to a larger, parameter-based modeling
scheme. In fact, mathematicians have demonstrated that every parametric
form has a
corresponding implicit form, but there are implicit forms that
have no known parametric representation or are not amenable to
parameterization. The
implicit formulation expedites the computation of
intersections and the classification of points. The later characteristic allows us to
determine if a
given point
is on the curve or on one side of it or the other.
Both these procedures are more difficult with a
parametric representation.
Seder berg and Goldman (1986) and Hoffmann (1993),among others,discuss
methods of conversion between parametric and implicit forms.
The implicit equations of the straight line and conic curve are
Ax + By + C=0
and
L If f{x, y)
= -y),
\302\261f(-x, the curve is symmetric about the origin (or other
point, given
an
appropriate transformation); for
example, a circle x2+y- = r>
2. If f(x4y) =\302\261f(x.-y),
the curve is symmetric about the* axis; for example,
the parabolas = y2.
3- If
f(x,y) =\302\261f(~xfy), the curve is symmetric about the \321\203axis; for example,
the parabola^ =*?.
the = k2.
example, hyperbola xy
the =
example, hyperbola xy \342\200\224k2.
system should not affect the shape. Second, any solid, closed object will have
some tangent lines or
planes parallel
to the principal axes or planes of any
chosen coordinate system. For shapes defined functions, by explicit
this
results in values of infinity for some slopes on the model, or results in some
parametric functions. They also best describe the way curves are drawn by a
plotter or some computergraphics display screens. Here two time functions
x(l) and y(t) control the servo system of a plotter or the electron beam
deflection system of a vector display, causing the pen or electron beam to
move on the appropriate curve.
The point is the basic element of parametricgeometry and geometric
modeling. It is an ordered set of real numbers, whose implied coordinate
nature defines a position in three-dimensionalEuclideanspace.A vector
may be defined in much the same way, so that frequently the terms point and
vectorare interchangeable. For example, the radius vector (or position
vector) defines a point.
Parametric equations generate the sets of points defining most of the
= 3tr
\317\207
y=us-u + l (2.10)
z = 2u + 3
is the
\320\270
\320\235\320\265\320\263\320\265, parametric variable and also the independen t variable.
Substituting
a specific value of w into each of these equations produces specific
values of x, y, and z. Each value of \320\270
generates a point on the curve. This
produces three other curves as well. These arc the curves (x,u), (y,u), and
in parameter
(\320\263,\316\267) space (see below), also shown in the figure.
It is usually convenient to normalize the domainof the parametric
variable, which means restricting its value to the closed interval betweenOand 1,
inclusive. We express this condition symbolically as \320\270
\320\265
[0,1], establishing the
curve hounding points and creatinga curve segment. Some examples of
parametric equations of curves using this convention follow.The first example is
a set of linear parametric equations
x=a + kt y
= b + nnt z = c + nu (2.11)
where a,b,c, and arc constants
\316\231,\316\267\316\271,\316\267 and This
\320\265
\320\270[0,1]. particular curve is a
straight line starlingat point p(0)
=
\\a hc] and ending at p(l)
= + /)
[(\320\271
(b + (c +
\317\200\316\271) with
\320\273)], direction cosines proportional to \316\231,\316\267\316\271,\316\267.
Another example is
x = u =i,i
\321\203 z = u* (2.12)
This curve isa cubicalparabolaand also one form of a twisted cubic.Because
Ue[0,l],it ishoundedbyp(0)=[0 0 0] and
p(l)= [1 l 1].
The final example is
x = acosu z
y-\316\261\317\215\316\267\316\271\316\271
= bu
(2-13)
This curve is a left-handedcircularhelix, It is the locus of or machine screw.
a point that revolves around distance a from it (in
the axis
\316\266 at a constant
other words, a helix of radius = a). At the same time, the helix moves parallel
to the \316\266
axis at a rate proportional to the angle of revolution\320\275.
If b < 0, then
F(x,y,z)
= \302\256 = 0
(2.14)
G(x,y,z)
represent the intersectionof two surfaces, which is locally a curve.They are the
implicit equationsof a curve in three dimensions. defined this way is
A curve
inherently unbounded; however, only a bounded part of il may he of interest.
Solving
the implicit equations for two of the variables in terms of the
These equations represent the same curve as do Equations (2.14), and they,
or the equations similarly expressingany two of the coordinates of a variable
point on the curve as functions of the third coordinate,are the explicit
equations of the curve. Each of Equations (2.15) separatelyrepresentsa cylinder
projecting the curve onto one of the principal planes,so they are a special
form of Equations (2.14) for which the two surfaces are projecting cylinders.
Solving the first of the three parametric =
equations \317\207 x(u),
= and
\321\203\321\203(\320\270),
=
\316\266z{u) of a curve for \320\270 as a function of x, that is, u(x), and substituting the
result into the two remaining expressions, produces the explicit Equations
(2.15). From one point of view, these explicit equations, when supplemented
by the identity
= \320\273;,
\320\273; are also parametric equations of the curve; that is,
= \317\207
\317\207 = =
y y(X) \317\207Z(x) (2.16)
= \342\200\224
\302\253
(2.17)
X-l \342\200\224Xo
du
(2.20)
The vector components of p\"(w) are
dx dxidu
and similarly for dyidz and dzidx.
x(u)
= -6.5u3 + 9u2 + 0.5u + l
-1 \342\226\240
\316\273\316\271 = -\316\231
\320\273\302\267'/
1
1
= 1 \316\271 \"\302\267 - 0.5
*0 \302\273*S ]
1 1 *-\302\273
0 0.5 1
= \320\236
*~y'i
= 0.25
\321\212\302\253
where
= +
\320\243' -36\320\2752 36\320\275 (2.23)
and vertical scales on these plots affect the apparent slope of the tangent
vectors. We replot them so that the \316\275-,
\320\273'-, and
\320\263-, \320\275-axis scales are equal.
The algebraic coefficients control the positionof a curve in space as well
and shape.Eachvalue of
as its size it (for it, in Figure
example, 2.4) defines a
unique point on the curve in model space. Plotting the successive sets of \317\207,\316\275,\316\266
values generated by successive w values creates the entire curve. Each
variable v. and
.\317\204, is independently
\316\266 controlled, and a different curve results even
if only one coefficient is changed.
The graphs in parameterspaceshow the behavior of each Cartesian
coordinate from one end of the curve to the other as the parametricvariable\320\270
varies over its domain from 0 to l.The graphsalsoshow the hehavior of the
parametric derivatives as representedby the slopes at points on these curves
(for example.dxiduat \320\270
= Each
\320\270). Cartesian coordinate varies continuously
over its range (that is,from p\342\200\236
to pi) as the parametric variable it varies
continuously over its domain. Here \320\273;, and
\316\275, arc
\316\266 the dependent variables
whose values are determinedhy the independent variable u.
We can infer many characteristics of a curve hy inspecting the graphs of
the component curves. Figure2.5shows several special cases that are easily
verified by sketching the resulting curves in model space. Here we see a
curve contracted to a point (a degenerate curve of zero length), a straight
J'rj \342\200\224O-Vi
JO?
6.\316\231\316\212
soC-
\320\231
Straight line (d) Plane curue
=0^\"
\320\236 '' 1
\342\226\240
They allow separation of variables and direct computation of point
coordinates.
\342\226\240
It is easy to express parametric equations as vectors.
\342\226\240
Each variable is treated alike.
\342\226\240
There are more degrees of freedom to control curve shape.
\342\226\240
Transformations may be performed directly on them.
\342\226\240
They accommodate all slopes without computational breakdown.
\342\226\240
Extension or contraction into higher or lower dimensionsis directand
easy without affecting the initial representation.
\342\226\240
The curves they define are inherently bounded when the parameter is
constrained to a specified finite interval.
\342\226\240
The same curve often can be represented by many different parameter-
izations. Conversely, a parameterization schemeis sometimes chosen
See Ball(1984), Filip and Ball (1989). and others for in-depth discussionof
the effects of parameterization on shape.
\320\220 \320\222 D
= \320\222\320\241\320\225
Q (2.26)
D \316\225 F
and
\316\241-[\320\273-\321\2031] (2.27)
is given
\320\240
\320\235\320\265\320\263\320\265 by homogeneous coordinates.
32 Curves
\342\226\240
0 *0 Parabola
0 0 C*0,Fr-CF >0 Two parallel real lines
0 0 C^O.F'-CF^O Two parallel coincident lines
Parabola:
= air
\320\273;
y = 2au (2.28)
Hyperbola:
= a
\317\207 sec \320\270
\320\270
\320\265 (2.29)
f-\317\200,\317\200]
y~b taii\320\270
Ellipse:
= a
\317\207 cos it
\316\271\316\271\316\265[-\317\200.\317\200] (2.30)
=h sin \316\267
>\342\226\240
two. Each nonrational form is a special case ol a rational form. The cubic
Hermite curve and bicubicHermitepatch were among the earliest forms
investigated and used in
geometric modeling. Their relative simplicity and
natural versatility makes them good starling points for studying curvesand
surfaces. The Hermite curves are a special case of the Bezier and B-Spline
forms, and the Bezier form is itself a special c aseof the B-Spline. The
Hermile, Bezier, and B-Spliue curves form the basic elementsof splines: curves
describe its shape.This curve interpolates its first and last control points and
is tangent to the first and last sides of the open polygon definedby these
control points. It exhibits the convex hull properly and is the easiestof the curve
forms to subdivide. However, it does not offer local control, because
changing
the position of any control point produces shapechange throughout the
curve.
The B-Spline curve is a piecewise polynomial curve definedby a set of
control points which the curve ordinarilydoesnot interpolate. The degree of
its polynomial basis function is defined independently of the number of
control points. Local control of curve shape is possiblebecausechanges in
control point location do not propagate shape change globally, and control
evaluatea
polynomial at predetermined increments of w.This is
process known as
Direct-Point Solution
Most methodsfor modeling curves and surfaces, including Hermite, Bezier,
and B-Splinemethods,express the x, y, coordinates
\316\266 of points on these
elements as parametric polynomial The problem of calculating the
functions.
coordinatesof a
specific point curve becomes on aone of calculatinga
polynomial, and a simple, straightforward method for calculating polynomialsis
Homer's rule. Although the development that follows is in terms of scalar
polynomials, it applies equally well to vector polynomials.For the cubic
polynomial = uu4 + bu2 + cu + d, we rewrite it so that oniy three
p(u)
and
multiplications three additions are required lo compute the solutionfor a given
value of \320\263\320\263
p(u)
=
[(mi + b)u + c]u + d (2,31)
Toevaluatethe polynomial
of degree \316\267
\342\226\240\342\226\240\342\226\240
p{ii)-u\342\200\236u\" +ari.liiJ'-i + al,_2u\"~1+ + \320\260,\320\270
+ \320\260\320\277 (2,32)
Points on a Curve 35
\342\226\240
p(u)
=
[(a3if + a2)u + \302\253i]w-+\342\226\240
a<> for n = 3
p{u)= + \320\260\320\267)\320\270
\\\\(\320\2604\320\270
+
(12]11 +(h}ii + a(l for = 4
\316\267
additions are necessary for each of the three coordinatesof a point. Combining
Horner's rule with a straight-line program yields:
for \342\226\240=1
\316\241 / +
\321\214- \321\2170
/ \316\220-
\320\2602\320\270
for /i-2
t<-tu
p<-t + a0
I <- ayit
t <- I + \302\2532
t <- \320\250
for = 3
\320\273
ff- tw
\317\201*-\316\257+\316\257\316\220\316\277
P(w) = 0IO-h)Po
+
(j
(l-\302\243i)
\342\204\226
+
(2J\302\2732P2 (l-u)+l3|u-p3
where
\320\226
easily,then wc can alsoevaluate p, easily Applying the same process (that is.
forward difference) to evaluate du,wc findc/b 1- d,_, = d2.,.a linear equation
+
p=d
a b \321\201
= +
\342\200\224
\342\200\224
+ -
d,
ir rr it
ba 2b (2-34)
IV IT
\320\237
ba
\342\200\224
\316\254\316\233=
\316\267'
Thus, pt>
= d. To calculate at
\317\201 the next and each successive increment, wc
require threeadditions:
d2 +
i\342\200\224dz di
d] d, +
<\342\200\224 (U_
by halves and develop simple expressions for the location of the curveat its
midpointas we demonstrate for Hermitc curves (Section 3.5). Another
difficulty is that round-off errors accumulate as more points on the curve are
Effectsof Parameterization
Inverse-Point Solution
Many modeling algorithms require that we find the value of the parametric
variable corresponding to a given point.Forexample, given
the \316\266
\320\273\\\321\203.
coordinates of a point on (or very near) a cubiccurve in model space, wc must find
the corresponding value of w, the inverse-point,solution.Th.is problem implies
calculating the roots of three cubicequations. These equations are, of course.
=
\316\233' + [}JI2 + +
\316\257\316\257,-\316\234'1 CXU f/,
V
= \302\253..\302\273*
+ b,tt2 + c,tt + rfh.
= + bzuz
\316\266\320\260\320\274} + + d7
\321\201-\320\270
We will solve
problem(hisfor a single point q and a parametriccubic
curve
(see Figure 2.6). We determine the point \317\201
on a curve closest to a point
q
in space by finding the vector (p
- q)
from the point q to the curve that is
perpendicular to the tangent ol the curve at point p. The problem is to find \317\201
= 0
(p-q)-P\" (2.35)
For cubic curves,this results in a quintic polynomial in u. Various numerical
methods are available to solve such an equation. 01 course,onlvrootsin the
interval iie [0,1] are of interest. Each rootvalue in this interval determines a
point for
\317\201 which to compute-
Ip ql.Thepoint \317\201
yielding the minimum value
for (p
-
ql is the distance between them.
HERMITE CURVE
the magnitude of the tangent vectors offers a way to modify the interior
shape of a curve without changing the position of the or
endpoints the
Cartesian slopes at these points. Truncating and subdividing n curve is
curve to interpolate three or four given points. Some conic curves are
represented exactly by a Hermite curve, while others are closelyapproximated.
Finally, in this chapter we see that Hermite curve segments joinedend-to-
end form a composite curve, and if certain continuity conditionsaremet.it
will have the properties of a spline.
x(u)
= + bxul
\320\271\320\263\320\2753 + + dx
\321\201,\320\270
y(u)
= + b,.uz +
c\\.u + d,
\316\257\317\204\316\275\316\220\316\2573 (3.1)
z(u) = + brii2 +
\316\257\316\257-\316\257\316\2575 + d-
c-,\316\271\316\271
p(fi)
= au3 + \320\252\320\2702 + d
+ \321\201\320\270 (3.2)
p(\") =
a<\"'
\316\243
i-O
produces
= =
\320\260,\321\213'or
\321\200(\321\213) Xj a^u'
equations:
Algebraic and Geometric Forms 41
\302\267
p(0)=d
p(l)
= a +b+t + d
= c
p\"(0)
p\"(l)-3a + 2b+c
where substituting
-
\320\2700 into Equation (3.2) obtains p(0). and substituting \320\270
= 1 into the equation obtains p(l). Finally, differentiating p(w) with respect to
= -
\320\270
yields p\"(u) + 2b\302\273+ c.
\320\227\320\260\320\263\320\223 and substituting =
\320\270 0 and \320\270 1 into this
obtains p\"(0) and p\"(l). Solving this set of lour simultaneous equations in
four unknowns yields the algebraic coefficients in terms of the boundary
conditions:
a = 2p(0)-2p(l)+p\"(0) + p\"(l)
b = -3p(0) + 3p(l)-2p\302\273(0)-p\"(l)
=
\302\273r
p\"(0)
d = p(0)
= ~2u'+3u2
F2(u)
\316\241\316\257
\316\273 , , , (3-4>
= \320\270
~2u- + u
\320\263\320\273(\320\270)
p(\302\253)
=
l-\\(u)V(0) + F2(u)p( I) + +
\320\236\320\224\321\200\"(0)
\320\222\320\224\321\200\"(1) (3-5)
point values.
\320\272
Equation (3.5) ihen becomes:
P('0= ''i(\302\253)pu+ +
/'\320\263(\\321\2001")F,(u)pt
+ F4(u)p\"i (3.6)
This is the geometric form,and the vcctoTS p\302\273, p]. po. p\"
arc the geometric
coefficients. The F terms \320\260\321\202\320\265
the Hermite basis functions (see Section 3.2).
42 Hermite
\342\226\240 Curve
There 12 degrees
\320\260\321\202\320\265 of freedom (4 vectors \317\207
3 components
per vector)
that we must specify to define fully and unambiguously the equations of the
cubic Hermite curve. As we will see later in more detail.it useful to specify
is
these
shape-controlling variables at the endpoints of a cuTve. where = 0 and
\320\270
= 1.
\320\270 is computationally
First.it easy to evaluatethe polynomialsat \320\270
= 0 and
=
\320\270 when joining many curves together end-to-end
I. Second, to form more
complex curves, we must control what is goingon at thoseends.
Thesecurves, like all parametric curves, are directional in the sense that
values at' the parameter increase
\320\270 monotonically when progressing from
point to point along the curve. We will discuss this characteristic in more
detail later,but it is important to understand that reversing the sequenceof
endpointsand tangent vector directions generates an identical curve. The
choiceof which end of a curve to define as p0 and which as p! is arbitrary
unless there is someadditional constraint dictating a preferred direction,
such as positionin a composite string of curves. There are no intrinsic
mathematical constraints.
(3.4). Figure 3.1 shows each function as a curve over the domain of the
1 0
! \316\271 _| |'
- -L^i^ I
1
1
| U 1
1\342\200\224
\342\200\224\316\271
' \342\200\224\316\271\342\200\224'\342\200\224'\342\200\224~
-.
l.o
il )
'
1 \342\226\240 \316\223
1
1 |
. \342\226\240f\\
\342\200\224- \342\226\240
\320\263 1 \342\226\240
\342\200\224\316\271
i \316\271 \316\271
1
0.2
= [25 5 0]
pi
= 44
pi', [66 0]
pi'=[8 -6 0]
The dashedcurve shows the effect of multiplying y0\" hv 0.5. Notice how each
hasis function contributes to the total shape of the curve.
A situation analogous to that described for the position vector \321\200(\320\263()
also
holds for the tangent vector and second derivative vector p\"(\302\253)
and
\321\200\"\"(\320\274),
respectively, where
P\"(\")
= ffo(\ and = <l2p(u)
du \321\200\"\"(\320\274)
du~
44 Hermite
\342\226\240 Curve
F'Mu) = -bu2 + bu
- 4\320\274
= \320\227\320\2752 + 1
\320\2403'(\320\275)
and
F'4'(u) = 12u- 6
Ff(u) = ~\\2u + b
= 6u-4
F\302\245(u)
/T(u)
= 6u-2
HermiteBasisFunctions \342\226\240
45
= + + +
p\"(\302\253) F4(u)Va \320\257(\320\270)\321\200,
FS(\302\253)p5 FX(u)p4 (3.9)
and
p\"(\302\253)
=
FT(u)p0 + F'l%u)Pi + Ff(u)pl+ FT(\302\253)pt (3-10)
The basis functions F\"iu) and F'fiu) are graphed in Figures 3.3 and 3.4,
respectively.
The point coefficientfunctions F,(u) are orthogonal because they have the
property F^u) F2(it) + = 1, so that when Fj(u) = 1 then F2(u)
= 0, and when
F^u) = 0 then F2i.1t) = 1. (The term orthogonal is boTTOwed to describe this
condition.) Furthermore, the tangent vectoT coefficients have the property
Fiiu) = /r4(ii)= uat ii = uandii=1.This means to the
that only p0 contributes
cuTve
position
at only p] contributes
= 0
\320\270 and at u= as
1, expected.
The orthogonality
of the /*\"?(\302\253)coefficients
requires that F'-ftu) = F4(u) =
F'Hu) = 1 and that F'{(u) =
F$(u) = Fi(u) = 0and F\"4(u)
= 0 and = 1 at \320\270
Fu4(u)
= 1. The
orthogonality of the F\"\"(u) cannot be demonstrated, because these
coefficients blend the standardboundary condi tions p0. pi, po, and p\".Instead
we would have to derive otherbasisfunctions, say that
\320\235\"%\320\270), blend \317\2010,
\317\201,.
= \317\213
and = 1
\320\235\"\"{\320\270)
at =
\320\270 1.This is the second derivative foTm.
The symmetry between related pairs of basis function curves,for example
similar basis functions for otheT odd-degree HeTmite polynomials, such as the
quintic. Even-degTee polynomial basis functions are seldom used, because
they
have an odd number of degTees of freedom. This prohibitsestablishing
symmetrical conditions atboundary the cuTve segment endpoints.
Using the summation notation, we generalize Equation (3.6) as follows:
pH=jj>A\302\273 (3.11)
where is
\316\267 the of the polynomial and the b, \320\260\321\202\320\265
degTee the geometric
coefficient vectors. For we have bu = po,b,
= 3,
\316\267 =
p,,b2 = pii. and b3
=
p\". Shifting
the Tange of the indexi down one step makes it conform to the common
notation schemeso f BezieT and
B-Spline basis functions. For example, F^u)
of the cubic Hermite basis functions becomes F0i3(\302\253).
46 Hermite
\342\226\240 Curve
*\342\226\240
J
V
\320\273
t
V
\321\207,
-1.6
or '\317\204
\317\204\342\200\224\316\271
-*' \320\247^
S N
S \\
\320\270 .
.\342\200\224. \342\200\224 % ^
n'~ ^
\317\205
-0.A
1.0
/
\321\203
\342\200\242
\316\244 /
r~
'A'
\320\276
>
^'
-0.4
=
(\320\270) b0F0,s(\302\253)
\317\201 + bjFJ5(u) + b2F2.5(u) +
b, = pi
b2 = pi,
Matrix Form 47
\342\226\240
b3 = p'i
b^pS\"
bs=pi\"
CleaTlythe order of the sixteniison the Tight side of Equation (3.12) is not
is
important.HoweveT,care required in constructing the b, and sets, so
/*\",,\342\200\236(\302\253)
that their tenns are appropriately linked by a common index.
These basis functions are a powerful modelingdevice. Using them, we can
calculate the coordinates and the first and second derivatives of any point on
any
cubic Hermitc cuTve. We will see similar basis functionswhen we study
Bezier and B-Spline curves, and, in fact, under certainconditions we can
Letting
=[*(\")
\321\200(\320\270) y(u) z(u)f
U=
- \320\223\342\200\236\320\267
if \320\270
1]
A = [a b \321\201
Fz(u)
\302\245=[\320\252(\320\270) F3(u) FA(u)]
and
B=[po p, pS \317\201\317\212]\316\223
.10 0 0.
F = UMf (3.19)
Matrix Form 49
\342\226\240
A = \316\222
\316\234, (3.21)
and, conversely, that
B=M>A (3.22)
where
\"\320\276\320\276\320\276\320\223
* f
D 0 1 0 (3.23)
.3 2 I 0.
and
p\"\"(w)
= F\"\"B or p\"\"(u)
= UM\302\243\"B
where
\320\240'=[(6\320\2702-6\320\270) (-6\320\2702
+ 6\320\270)
(3ii2-4ii + l) (3\316\271\316\2712-2\316\271\316\271)]
and
F\"\" = - + 6) - -
[(12\320\270 6) (-12\320\274 (6\302\253 4) (6\320\270 2)]
50 Hermite
\342\226\240 Curve
6 -6 3 3 0 \317\213 0 \317\213
m; = and Mf =
-6 6 -4 -2 12 -12 6 6
0 0 1 \317\213 -6 6 -4 -2
the components of po and p.. Four moreare supplied by the direction cosines,
two from each end. Rememberthat there are only two independent
direction cosines at any point on a three-dimensional curve.The third direction
cosine is a function of the other two, becausethe sum of the squares of the
three direction cosinesequals one. This means that there are two more
degreesof freedomavailable to control the shape of a curve.
The slopesrepresented by tangent vectors p|j and p,' are thosein
are x'q \342\200\224 =
parameter
space.The components dx(0)/du and^y dx(l)ldu,and similarly
for \321\203
and z. These are directly related to the Euclidean slopes\321\203*
=
dyldx and
Z* = dzldx from yx = f/xu and z' = z\"/x\".
The tangent vector resolves the problem of the extra two degrees of
freedom in the
following way: A tangent vector operatesat eachendof the cubic
Hermite curve, as shown in Figure 3.5.Not only do these vectors define the
slopes al each end,but each vector also has a magnitude associated with it.
The magnitudes supply the eleventh and twelfth degrees of freedom and
contribute to the controlof the shape of a curve's interior.
The direction cosinesof the tangent to a point \320\270
on a curve comprise the
components of a unit vector t(u), where\320\246\320\275)
= where the
\317\201\"(\316\272)/\316\231\317\201\"(\316\272)\316\231,
direction cosines are ty(u),
\320\246\320\270),
From
1\320\263(\320\270). elementary geometry, we know that
= + + T\\(u) = 1
V?J(m)
\316\231\316\25200\316\231 i\302\273
where \320\272
represents the magnitude of p\"(it)- We add subscripts to indicatea
toits
specificpoini,corresponding \320\270
value,giving the tangent vectors for the
Tangent Vectors\342\226\240
51
magnitudes and
\320\272$ kv By varying kQ and \320\272\321\212
we can control the curvature at
each end, or we can fix the location of some intermediate point.Figure3.6
shows the effect of varying kti and k, while holding constant all the other
geometric coefficients.The coefficients have the following values:
= 4.0 = 4.0 20=0
jc\342\200\236 y0
X]
= 24.0
\320\273
= 4.0 z, = 0
= 0.8320 = 0.5547 = 0
far /\"o, f0;
tu = 0.8320 flv
= -0.5547 = 0
f\342\200\236
52 Hermite
\342\226\240 Curve
10
3 ^4. 3
, 1 1 1 *-I
10 20
la)
10
.1*. = 10
\316\257\316\2234
,\316\220^\316\223-\342\200\224\"7\316\223\316\223-
=
\"-\316\2574^-\317\216\342\200\224\342\200\224\"
3 3
*X7
I 1 1 .,
10 20
lb)
chord length between the endpoints of the curve segment, the curve begins
lo exhibit undesirablecharacteristics, such as loops and cusps. Conversely,
very low magnitudesproduce relatively a flat curve. The chord length is Ipi -
= 20 for each curve in
pol Figure3.6,and a loop is produced in the curve when
ka
=
kx = 80 (that is, four times the chord length).
At first it appears that by manipulating magnitudes of p(j and p\" we can
force points on the curve to any location. But let us see what happens lo the
point corresponding to \320\2720.5. The values of the basis functionsal this point
=
= 0.5(po + \317\201,)+
p(0.5) 0.125(\317\201\"\316\261-\317\201\317\212)
= koto and =
kjtu we obtain
Substituting pg p\"
This is the vector equationofa planethrough the point 0.5(p0 + pi) and
containing t0 and tj. Of course, a similar restriction applieslo any other given
point on the
\317\201(\316\257\316\257,) curve.
54 Hermite
\342\226\240 Curve
requires interchanging p] in
the position of po and
matrix of geometric the
[p< P; p'i p\"]r, and in the second case B2 = [q, q, q', q)]T. The end-
point coordinates are related in a straightforward way They must be
invariant to any change of parameterization so that
q,
=
p, and q, py;= otherwise,
la) |b|
*7
q,
^>
x{-i| X(.1>
q'i
serve the cubic form of the parametric equations and the direction of the
tangent vector;so again we must insist that v = au + b. This means that dv =
adu. Because we know that vi
= au, + b and v}
=
au, + b, we can easily find a
and b and, subsequently, the Tela
tionship between the tangent vectors, which
is simply
=
4. (3.25)
^p\302\273
Now we can state the complete relationship between the two sets of
geometric coefficients as
* = P<
=
4/ P/
4 =
vj-v,
\321\207/=-^\321\200/ (3\302\26726>
Vj-V,
a truncated
\316\257\316\277\317\204 or extended curve. Later sections that discuss composite
curves and solid-modeling techniques will demonstrate the need for these
capabilities as modeling elementsare intersected, trimmed, and joined
together to form more complex objects. Figure 3.10 illustrates a curve
truncated at \320\272,
and ur That is, the segments from tt0 to and
\321\211
from ut to u, are
eliminated. We can represent the remaining segment as a cubic Hermite
curve, parameterized from = 0 to \316\275
\316\275 =
1, by proceeding as follows: We
compute p, and p, using p(tt)
= UMPB,and p','and p'/ using p\"(tt) = UMfB. The
ratio of parametrie interval - -
lengths (\320\270, (t,)/(v, given
v,\302\267) by Equation (3.26)
reduces to u; - \320\270,-,
because v;
-
v, = 1. If q(v) representsthe truncatedcurve,
then
=
4d ft
4i=P/
= -
q,\" (uj u,)p'j
There is a generalizationof the precedingparametric transformation. It
=
Ifv, 0andv; = I attt, and
(irrespectively, then by solving for a and b we have
ii = ii;+ (ii,
-
U,)V
or
=
\320\270 + \316\221\316\271\316\271,\316\275
\320\270,
\342\200\236,0 \321\205- =0
\320\270,\342\200\224^\342\200\236 \316\271
? /' ^
Figure3.10 Reparameterization of a
truncated curve.
58 Hermite
\342\226\240 Curve
where = - If \316\275,
\317\210and/or
\316\237 then
\320\224\320\274;
\321\211 \321\206. \316\275-,\317\210\316\247,
\\ v,-v, I \\Vj-vJ
Applying the binomial theorem to =
\320\270 +
\321\211 Au,v, the transformation
equations are
-\320\272
=
\302\273\"
(3.28)
\316\243((^)\302\273*(\316\224^)\"
where
\316\267!
\\k} k\\{n-k)V
the binomial coefficient. We extract a transformation matrix from
\316\244
U = VT
For a cubicHermitecurve, we have =
UMfB.
\321\200(\320\270) Applying the
transformation
parametric \316\244
produces the transformed geometric B', coefficients
corresponding to the curve segment between u, and \320\270,
in the initial
parameterization scheme and subsequently renormalized to the unit interval, so that
- VTMfB
\321\200(\320\270)
TMf =
\320\222 MFB'
=
\320\222' \320\234^\320\242\320\234^\320\222
where
\316\2673\320\2702 \320\270
U=[ 1]
V = [v3 \316\2752\316\275
1]
\316\224\316\2673 0 0 0
0
3\316\257\316\257,\316\224\316\257\316\257^
\316\221\316\271\316\256 0
1 = 0
3u2AUj 2iijAuj \316\224\316\267,
generate n new curves, we assume that (t;,p(-, and p\" at the segment
boundaries are given or readily computed. Then, the geometric coefficientsof \320\222
ma trix elements of the ith segmen t are
and \342\200\224p%\342\200\236
= UMFB and =
using p((i) pM(it) UM\302\243'B, respectively.
A quick subdivision is possible
by taking advantage of curve properties at
p(0.5). We recursively subdivide in order to generate a set of points on the
curve at 2\" equal parametric intervals, each of length 1/2\".Given \317\2010,
\317\201\316\271,\317\201\316\257\316\
= + p(i)] +
p(|) {fp(\302\260) {fp,'(0)-p\"(i)]
for = 2
\316\267
J_
P(0) + p(i + p\"(0)-p\"
16
+ + J_
Pl}) P(l)
16 P\"(^)-P\"(T)
for = 3
\316\267
+ +
\317\201
\317\201(\317\213)
16 p\"(0)-p1t
+
J_
p\"Ui-p\\2
\320\242\320\261
l)+p(i
+ J_
pi'Tp(i 16 \"2\"'U
7 1
p|^)+p(i) p\"(7)-p\"(1)
.. .and so on. We |ctm = l,nandi = 1,2\"-1 (incrementing by 2), and compute
=
'i-\\ i+1
Ph^r +
P + \"\316\241\" (3.31)
16 \316\241\316\212-^\316\223
60 Hermite
\342\226\240 Curve
+
We renormalize the intervals of length i/2w i, which requires the
replacement:
It is this quick and easy renormalizingof the new intervals after each
subdivision that makes this work.
Ball (1984), Farin (1993a),and many others offer additional discussion on
the effects of parameterizationand reparameterization on curve shape.
\321\211
prevents the problem from being over-constrained. To determine the
tangent
vectors
pjj and p\", we let pjj
=
/cot0 and p\" = /c^i and attempt to find kn and
/c, such that the curve passes throughp,. have,We from our earlier work,
-
P(\"i)
\"
Po
=
F2(u,)(p, po) + koF^u^ia + \320\272^\320\273(\320\270,%
-
X;-Xo
=
F2(u,)(Xi x0) + \320\272^3(\320\270,)\320\270
+ k^FA(u,)ftJ
-
y0) +
~ = +
F2(u,)(yi
\320\243,\320\243\320\276 k,FA(u,)Tyl
\320\2720\320\2403(\321\202)\320\223^ (3.33)
z,
- Zo
= -
Zo) + k0F3(Uiya+ kf F4{4,)h\\
F2(ui)(zi
Four-Point Interpolation 61
\342\226\240
Solving the first two of these equationsin terms of fo/i(\";) and k\\Fj(u,) and
using matrixnotation produces
-
\320\233\320\270
\316\212\316\271 (\317\207, \317\207\302\273)(JT, -JTo)
- /:(\302\253,)
ktF4(u,) '\", 0 0'\316\271 \320\243\320\276)
'\">\342\226\240!.(\320\243.-\320\243\320\276)_
[z,-Za\\ = [zl-Za]F1(ui)+[i:f)
t^koF^Uj) *1^(\320\270,)]7
[z, - - -ti
\316\212\316\271
\316\212\316\277 X\\ Xo
Zo]
=
[Z\\ Zo]F3(u,) + [K(l i;t] - \" F2(u,)
\320\243;)>('
'\",\316\277\316\212\316\271 \320\243 \320\243\320\276
\316\271
as an unknown.
leaving only \320\274,-
\316\212\316\271 \316\212
where
F2(ii,-)
= -2\320\274?+ \320\227\320\274?
[from Equation (3.4)] and the initial constraints are
expressed in determinant arrays. This is a key equation in the development.
When we determine the value of \321\211
by solving the indicated cubic
equation, we can compute the values of and
k\342\200\236 \320\272\320\273
using
two equations from, say,
Equations (3.33).Then we readily determine and Note
\317\201\".
\317\201\317\214'
that an
acceptable solution of the cubic equation must satisfy these constraints:
0< < I
\320\270,-
k0>0
k,>0
FOUR-POINT INTERPOLATION
a 4 \317\207
4 matrix of constants that, when it premultiplies the matrixof
coordinates of the four points, produces the \320\222
matrix of geometric coefficients:
B =
K[Pl p2 p3 p\342\200\236]T
\320\276\321\202
B = KP
Pi u,
P2 u2 M,B (3.34)
\320\240\320\267 u3
Pj u\342\200\236
ui UA 1
FouT-Point Interpolation 63
\342\226\240
u4 p4
-I
U,
- U2
\320\232 Mf\"'
u3 (3.35)
u4
parametric variable, that is, for \320\275, 0, u2= 1/3, \321\211 2/3, \302\2534 1, then f\320\276\321\202
= = = and
\320\232
we
\320\232\"1 find
1 0 0 0
0 0 0 1
K = .11 9 -4
2 (3.37)
-1
9
-r -9 11
~2 2
\"
\"1 0 0 0
20 7 _4_ J_
27 27 27 \"27
K~l = (3.38)
1_
20 2
_4_
27 27 27 27
0 1 0 0
UMjrB and =
\320\222 KP, by substitution we obtain
p(ii) = UMf-KP
64 Hermite
\342\226\240 Curve
IfMFK = N,then
P(\302\273)
= UNfP (3.39)
where
~_9
27 _27
9
2 2 2 2
= 9
_45 18
NF
2 2
_11 9 _9 1
2 2
_ 1 0 0 0
Expanding Equation (3.39) produces
- + 9h2
- 5.5\320\270+
(-4.5\321\2133
\321\200(\320\270) l)pu
+(13.5\320\270\321\215-22.5\320\2702
+ 9\320\270)\321\2002
+ 18\316\257\316\2572-4.5(\316\257)\317\2013
+(-\316\2203.5\316\257\316\2573
- 4.5u2 + u)p4
+(4.5u3
Notice that we have created new basis functions, say G;(k),so that
- + + +
\321\200(\320\270) G,((i)pi G2(\302\253)p2 Gj(ii)p3 \320\2414(\320\270)\321\2004
because = l-
\302\243G,-(it)
the problem as: Given two endpoints A and S, corresponding tangent lines,
and an intermediatepoint C, all in a common plane, find a set of
intermediate
points sufficient to plot a segment of a conic curve (seeFigure3.12). The
tangent at is
\320\233
represented by line AD and at \320\222
by BD, where D is the point
of intersectionof the tangent lines. must
\320\241 lie within the triangle ABC. We
We
repeat these four steps as many times as necessary,eachtime starting
with a different line through D. If we constructa line through D intersecting
line AB at its midpoint E, then that the tangent to the
we can demonstrate
conicat point parallel F isFurthermore, we can
to AB. determinethe type of
conic by computing the ratio of the length line segmentEF to the length
of
of line segment DE. We call this ratio rho (p). If \317\201 is less than 0.5, then the
curve is a segmentof an ellipse. -
If \317\2010.5, the curve is a parabolic segment.If
0.5< p< l,the curve is a segment of a hyperbola.
Alternatively, we can constructline DE (see Figure 3.13) so that it
intersects AB at its midpoint, and locate point \320\241
to yield \317\201
appropriate
to the type
of conic required. For example,ifthe segment of a parabola has endpoints at
A and and
\320\222 end slopesto lines AD and BD, then
corresponding we locate
tomake
\320\241 that is, at
- the midpoint
\317\2010.5,
of DE. Next,we proceed with the
steps previously outlined in order to generate additional points on the curve.
- -
poj 0.5(p0 + + 0.125(\317\201\317\212 \317\201\302\273)
\317\201,)
Poinl \320\241
is located on DE, pDE from point E. In Figure3.14b,
a distance
lines EG and GC are
parallel to AD and SD, respectively Triangle BEF is
similar to BAD; because BE AB/2, = therefore EF = AD/2 and BF = BDI2.
Triangle EG
\320\241 is similar to DEF; because CE= pDE, therefore CG =
pDFf2
and EG= pEF/2. Furthermore,because pDF= f>(BD ~BF)
= pBD/2, we find
that
0.125Ipj}l =
0.5p/1D
=
p5 <p(p, -\321\2000\320\223
o^i
Therefore,
lpSI=4plp2-pol
Similarly.
0.125lp','l = 0.5pSD
where BD- Ip,
-
p?l and lp',1
=
4plp,
-
p2l. But po is in Ihe directionof \321\200\320\267
-
p0,
and pi' is in the directionof p, - p2, so that
- po)
Po and
= 4p(p2
p'{= 4\321\200(\321\200\320\263
-
p2)
pO) =
UMF[p0 Pl 4p(p2-p0) 4p(p,-p2)]r (3.40)
Figure 3.15 illustratesthis that p\"(0.5) is parallel top, -p0.
and also shows
The accuracy of
Equation (3.40) as il applies to varioustypes of conies is
an important modeling consideration. When \317\201
= 0.5 a
parabola is generated,
and this equationbecomes
p =
UMF[pu p, 2(p2-p0) 2(Pl~p2)]T
A Hermite curve definedby these boundary conditions is a conic, and,
moreover, it is exactly a segment of a parabola. Figure3.16 illustrates the
general
conditions necessary to generate this type of curve. Figures 3.17 and 3.18 are
\"-10. 10.05 0
10. 10.05 0
B
36.4 -36.22 0
_ 36.4 36.22 0
70 a Hermite Curve
Parabola: =
\342\200\224
\321\203\320\236
\317\207\316\212
=
\317\2010.5
\302\261\317\207
\320\243 dy/dx
0 0 0
1 1 2
2 4 4
\316\257 9 6
4 16 8
=
Pi 2(p;
\316\241\320\237\321\200\320\276
- p0)
2(p, - Pl)]<
\"
\320\276
- 16
0
We compute and plot the coordinates of pointson the curve for a set of \320\270
values and substitute the values cf x(u) into the classical equation for the
Parabola, x1 =
\342\200\224
\321\2030
/5
= 0,5
dy
X >'
dx
-1.5 2.25 -}
-1 1 -2
0 0 0
1 1 2
2 4 4
2.5 6.25 5
R(l
- cos 1 - cos \316\270
\316\230)
~ ~
P
R tan sin
\316\270 \316\270 tan sin
\316\270 \316\270
=
cos \316\270
P (3.41)
1 + cos \316\270
Hyperbola:
x2 - / + I=0
=
\317\2010.91
\302\261x .V
\320\255.95
0 1 0
2 1.24 0.89
4 4.12 0.97
6 6.08 0.99
8 8.06 0.99
10 10.05 0.99
P
==
FU>o P, 4p(Pi - Po) 4P(P,
- \316\241\316\271)\316\223
R(l~cos6)( p2-p
0.125pS = 2 sin \316\270 \\Jp2~Po'
= 4^(1-cose)/p2-p0
PS
sin \316\270 \\lp2-po1
0 0000)
0 0199)
Hyperbola: x1 - y1 + I = 0
\302\261x )'
dx
0 1 0
2 1.24 0.89
4 4.12 0.97
6 6.08 0.99
\316\270 8.06 0.99
10 10.05 0.99
Segmenl 1. = 0.5601
(\302\267
'2.0000' 0.6180
Po' 2.2361
Pi
.0009
Segmenl 2, = 0.5679
\317\201
0 0 1 1 0
0.2 0.2861 1.0400 1.0401 0.0001
\316\225
0.4 0.6062 1.1692 1.1694 0.0002
I 0.5 0.7861 1.2719 1.2719 0
VI
\320\257
0.6 0.9831 1.4022 1.4023 0.0001
0.8 1.4400 1.7530 1.7532 0.0002
1 20000 2.2361 2.2361 0
180
L -hR/R
\316\235
\316\233
150
\\\\
\316\263
/ *tf
\\\\
\\\\
N \321\203
V
120 SR \316\227
-6R/R
\317\20690 \316\275
/ V
^t
60 4
30 4-
^^~ =L~~~
0
10\"1 \320\256\"1 10\"3 10\"' 1(TS 10\"6 10\"1 10\"a 10-9 \316\231\316\237\"10
5\320\231/\320\232
0.5 to = 1.
\320\270 a
is value
There of 5RIR that makes the three maximum
4 cos \316\270
4R(l-coSfl)(p2-p0)
Po = (Pi
- or
1 + cos \316\270 Po)
Sin 0 | P; - Pol
investigating how to blenda new curve between two existing curves, forming a
geometric coefficients of two disjoint curves B, and B3, we must find the
coefficients
geometric B2 of a curve joining them so that the two curve segments
meeting at each of the joints are tangent to the same line. We let B] - [pi(0)
PiC1) p\"(l)]r
\316\241\317\212(\302\260)
and B3 = [p3(0) p,(l) p5(0) modifying
\321\200\321\215\320\270(1)]',
the
notation scheme to permit the use of a subscript to identify a specific curve
segment.Later, we modify this further point is uniquely
so that each identified.
First, the appropriate endpoints must coincide; this means that \321\200\320\263(0)
=
magnitudes of
adjoining tangent vectors can be different. In fact,an infinite num-
76 Hermite
\342\226\240 Curve
R(t - cos\320\262)
- SR [(I - -
cos \320\262 (SR/R\\]
' \342\226\240\342\200\224
= \342\200\224-
\317\201
'- s \342\226\240
4\342\200\224 \321\201\320\276\320\265
\316\262
R Lan \320\261
sin \320\261 sin2 \316\270
ber of segments satisfies the tangency conditions. However, the unit tangent
vectors must be equal. This means that
=
\320\264\320\260*^\320\246
and
\320\246(1)-\320\254*\320\251
B2 =
*\302\267>*->\302\260m *s
where a and b are positive scale factors. We are free to vary them to change
the internal shape of the new curve.
The following expressiondescribesany cubic Hermite curve smoothly
and continuously blended with preceding
and succeeding curves:
'
= m nP,-+.(0)
\321\202\320\273
p--l(1)
\320\273 h
p:'-l(0)
\320\222
P,--.(l)
a.,-^-^ b(^-^
Composite Hermite Curves 77
\342\226\240
\316\275,\317\200\316\271
\316\271\316\277\316\257
\317\201;
With this small exercise complete, we can now elaborate on the general
conditions of continuity at a joint betweentwo cubic Hermite curves and the
conditions arising when two or morecurves are joined end-to-end forming a
string of a
curves, called compositecurve. Joining two curve segments at a
common point so that their first \316\267 parametric derivatives are equal at that
point creates a condition of continuity called nth-order parametric
denoted
continuity,
as C\". A less restrictive form of nth-ordercontinuity is nth-order
continuity
absorbs more degrees of freedom lhan geometric continuity. If the
continuity
at that joint. They comprise the simplest kind of compositecurve.
We note that the term curve alone will often mean a curve segment or
composite
curve. The meaning should be clear from the context. Figure 3.25
shows
examples of composite curves and C\302\260
continuity. Figure 3.25a
obviously
consists of two distinct and separate curves, whereasin Figure 3.25b,
they are joined and form a compound curve with C\" continuity at the joint.
Figure 3.25c is a compound curve consisting of three segments,againwith C\302\260
0)
= =
P,l1l P2IOl [Pj{0)
^\320\222\320\263 pJfO) \317\201'|\316\231)\316\231\316\223
\320\240\320\263\320\237|
T0
P,|0)
\316\222, \317\201\302\273(\316\237\316\271
\316\222\",\\\\)\316\231\316\244
\316\231\317\201,\316\231\316\277\316\271
\317\201,{II
the tangent vectors at p,(l) = p2(0)donot have to be equal, but the ratios of
their componentsmust be equal.
=
\320\240,\320\237)
\320\240\320\263<0|
\317\201,\316\271\316\220)
Bi -\316\231\316\241\317\212(0)\317\201\317\212{1)\317\201*{0)\316\2743\316\2311)\316\231\316\223
P,(0|
P,I1) p*(0)
\320\240\320\240,(\320\250 pj(1)]r = kp5(0)
P;
It is apparent that we can join any two curves and then rotate them about
their common point until they are tangent to each other while preservingthe
internal shape of each. Whereas \320\241
continuity implies sharing a common
point and tangent line at the junction of two curves, G2 continuity also
requires that the two curves possess equal curvature at their joint.To ensure
this, the following conditions must exist:
P,{1) = P~.(0)
p?(l) =
/r,p?+1(0)
=
pr(D *2P?U0)
The relationship between the parametricsecondderivatives ensures that yf
~ y1\\ at their
\316\271 common
point. One more condition must be met for G2
continuity:
The osculating planes of the two curves must coincide,or their binor-
example, changing
the shape of a spline-interpolated curve by moving one or
more of the interpolating points may produce unexpected, if not
undesirable,penurbalions and inflections, both locally and globally.Tocontrolcurve
shape in a predictable way by changing only a few simple parameters is more
desirable. The Bezier curve
partially satisfies this need.
P. Bezier, who was familiarwith the work of Ferguson and Coons and their
parametriccubiccurve and bicubic surface interpolating techniques, set out
in the early 1960sto find what he hoped would be a mathematical formal
moreamenable to the designer and the design process.The resultof his work
was the UNISURF system, used by the Renault companyin the 1970s to
design the sculptured surfaces of \321\202\320\260\320\273\321\203
of its automobile bodies. At the heart
of the UNISURFsystem were the curves and surfaces that bear his name.
Bezier started with the principle that any point on a curve segment must
p(\") =
2>A\") ^iwl (4\320\233>
1= 0
B1
82 Bezier
\342\226\240 Curves
1. The functions must interpolate the first and last vertex points; that is, the
curve segment must start on p0 and end on p\342\200\236.
It is up to us to eontrol the
startingand ending points of a Bezier curve.
2. The tangent at po must be given
- p0, and the tangent at p\342\200\236
by pi
-
by p\342\200\236
This,
p\342\200\236_i. of course, gives us direct control of the tangent to the curve at
each end.
3. Requirement 2 is generalizedfor higher derivatives at the curve's end-
points. Thus, the secondderivative at \317\201\317\205
must be determined by pn, p{,
and p2. In general, the i'th derivative at an endpoinl must be determined
be symmetricwith - u).
4. The functions f,(u) must respect to and
\320\270
(1 This
means that we can reverse the sequence of the vertexpoints defining the
curve without changing the shape of the curve.In effect,this reverses the
direction of parameterization.
4.1 BEZIERBASISFUNCTIONS
=
\321\200(\320\270) \320\270\320\265[0,1]
2\321\200\320\225-\320\224,.\342\200\236(\320\270) (4.2)
(4.3)
BiB(u)=Qu1(l-u)-i
and where
n\\
\342\200\236if
i\\{n-i)\\
BQ2 = {\\-uf
S,,2 = 2\302\253(l-\302\253)
84 Bezier
\342\226\240 Curves
so that
= - -
p(\302\253) (1 uf +
2u(l
p\342\200\236 \302\253)p,
+ \302\2532p2 (4.4)
-
For four points, \316\267 3, and
\320\224\320\274=(1-\320\270)3
=
S,.3 3\302\253(l-\302\253)2
=
B2i3 3u2(l-u)
so that
= - + - + - +
p(\302\253) (1 \302\253)3
po 3\302\253(1 u)2 p, 3\302\2532
(1 \302\253)p2 w3p3 (4-5)
p(u) = (1
- po
\302\253)4 + 4u(l - \302\253)3
p,
+ 6\302\2532(1
-
w)2 p2 + (1
- + \302\2534p4
4\302\253\321\217 \320\270)\321\200\321\212 (4.6)
Matrix Form
or as
-1 3 -3 1 po
w2 w
3 -6 3 0 P.
p(\302\253)= [w3 1] -3 3 0 0 P2
1 0 0 0 \320\240\320\267
Letting
U=[\"3 \320\2702\320\270
1]
P=[po p, p2 \321\200\320\267]7\"
Bezier Basis Functions 85
\342\226\240
-1 3-3 1
=
3-630
M\342\200\236
-3300
10 0 0
0 0 0 1
1
0 0 1
3
Mi' =
1 \342\226\240>
0 1
\320\267\"\320\267\"
.1 1 1 1
\320\270\320\263
\320\270
U=[\302\2534 1]
1 -4 6 4 1
-4 -12 -12 4 0
=
\320\234\321\217 6 -12 6 0 0
-4 4 0 0 0
1 0 0 0 0
po
Pi
P =
P2
\320\240\320\267
LP4J
Bezier-Hermite Conversion
points are denoted as p0, pi, p2, and p3, where p0 and p3
are the curve end-
86 \342\226\240
Bezier Curves
P0u=3(Pl-^,)
points.
The two interior points contribute to the required tangent vectors in
the following way:
\320\263
B=[p0 p3 Mpi-P\") ^\321\200(\321\200\320\267-\321\200\320\263)]
For kO = k, = 3, the curve is identicalto the cubic B6zier curve defined by p0,
pi, p2i and We see
\321\200\320\267\302\267
that this is true from the following: The general
polynomial expression for the tangent vector at any point on the cubic Bezier curve
is
p\" (u)
=
(-3\302\2532
+ 6u -
3)p0 + (9u2
- 12u +
3)p,
+ (-9\321\2132
+
+ \320\262\320\270)^
3\302\2532p3
At =
\320\270 0, p\"(\302\253) at \320\270
= =
3(p,
-
1, p\"(l) = 3(pj
pu), and
- p2).Thus, if a cubic
Bezier curve is given by the four control points [p0 p, pj p3], then the
equivalent Hermite basis curve has geometric coefficients [p0 p3 3(p|
-
- curve is given by the geometric
po) 3(p3 p2)]. Similarly, if a cubic Hermite
coefficients[p0 p, pg p'/], then the equivalent Bezier curve control
points are
Bezjer Basis Functions 87
\342\226\240
Po iPo
+ Pi P\" Pi
ypo 3
We can express this conversion between the Hermite and Bezierformsusing
rather simple matrix algebra:
B = M?'M\342\200\236P (4.8)
or
P = M^MfB
(4.9)
where
1 0 \317\213
1 \317\213 0 1
0 \317\213 \317\213 1
=
\320\234,\320\263'\320\234\320\273 and =
\320\234\320\2711\320\234/\320\263
-3 3 0 \317\213
1
\317\213 \320\236
0 0-33
1
\320\236 \317\213 \320\236
=
\316\241(\";) \316\247\317\201151.4\",)
, ^(1
=
and then apply an affine transformation A such that p'(t*,) \316\221\317\201(\316\257\316\257;).
2.
Apply
an affine transformation A lo the control points such that
p'= Ap(,
and then evaluate the curve represented by these transformedcontrol
points at\302\253,, where
=
p'(\302\253i) v'.BU\".)
\316\243
Therefore
It
=
\320\230\321\200(\320\275;)
\302\243\320\270\321\200\320\224.\342\200\236(\320\275;)
1=0
88 Bezier
\342\226\240 Curves
algebraically
as
po + 2h(1- \320\275)\321\200]
=
(1
\321\200(\320\275)
- uf
+ \302\2532p2
<a)
The control points are the coefficientsof the Bernstein polynomial basis
functions (see Equation [4.2]).When we connect these points in the order of
90 Bezier
\342\226\240 Curves
their numbering with straight lines, we form the Bezier control polygon.All
points on a Bezier curve lie within the convexhull of the control polygon.
The partition of unity property of the Bernstein basis functions, that is
(a) (0
(b) id)
As is the case for Hermite curves,the basis functions are the key to the
behavior of Beziercurves.Figure4.6shows basis-function curves Bln for \316\267
=
2,3,4, and 5. For the examples in Figure4.5,the first control point p0, whose
contribution to the curve'sshape is propagatedby B05 (\302\253),is the most
influential when = 0. The
\320\270 other control points do not contributeto p(\302\253)for \320\270 =
through a weight
p\342\200\236 of zero. Less weight given to p0 and more to each
is
succeeding p, as \320\270
increases, reaching a maximum weight for each p, when \320\270
becomes i/n. Then all other weights decay gradually to 0 as the weight of p\342\200\236
reaches 1 when =
\320\2701. We observe a shift in the influence of each point (each
polygon vertex) as the parametric variable moves through its rangefrom 0to
Control Points 93
\342\226\240
1. This means that changing the posi lion of controlpointp, has the greatest
influence on the curve's shape at and near the parameter value i/n.
ability to modify a Bezier curve is demonstratedin Figure
The 4.7- In
Figure 4.7a, moving point p, to p5 pulls the curve toward that vertex. The
effect canbe weaker or stronger depending on the distance (or direction)
the point is moved.In Figure 4.7b, we see evidence of an interesting
degree of freedom. By specifying multiply coincident control points at a
vertex, we pull the curve in closer -and closer to that vertex. To do this, a
curve-generating might simply
programrequire us to specify a positive
integer for each The integer indicates
vertex. the number of coincident
points at a vertex. adding points coincident
By with existing vertex points,
we increasethe degreeof polynomial representing the the curve, in this
case without changingthe number of sjdes and shape of the characteristic
polygon.
If first the and last points of the characteristic polygon coincide, the
arrangement produces a closed curve. The closed curvein Figure 4.8a has C1
continuity where the endsof the curve join together at p0 and p5.This
continuity is produced by making points \317\201,,p0, ps and p4 collinear. A similar
condition exists in Figure 4.8c. However, the curve in Figure4.8bexhibits only
C\302\260
continuity.
The shape of a Bezier curve is unaffectedby the direction in which we
traverse the control points. We are free to order them in two ways: p0, p,,..., p\342\200\236
or _ i,...,
p,\342\200\236
p\342\200\236
The curve
\317\201\316\261.
looks the same either way; only the direction of
parameterization is reversed. We express this property as
= -
J]= (u)
p,-S;,\342\200\236 X u)
\321\200\342\200\236_|\320\224;.\342\200\236(1
1 0 1= 0
Fowler Barlels
and (1993) describe a curve-shaping method that permits
direct manipulation of certain geometric properties at any selection of points
on a curve of arbitrary degree and basis. The method affects the shape of a
curve at one or more points by establishing and solving an underdetermined
system of constraint equations. The constraints correspond to position,tan-
gency, or curvature conditions at the points.
The convexhull property expedites determination of the intersection of
two Beziercurves.It is a simple matter to find the min-max box enclosing
eachcontrolpolygon and then to check for an intersection betweenthe two
boxes. If the boxes do not intersect,then neitherdothe curves. This
0,0 \342\226\240
\342\200\224
e,q-
<a) <c)
Degree Elevation
=
+ 1(\320\270)
\320\245'\321\200^\321\217 \320\245\321\200,\320\224/.\321\217(\320\270)
or
\" +1 / \316\271
^-\"r'-^Ip^V'a-\\"
=
-\302\253)-']
\316\247^\316\267)1)\302\2534\316\220-\302\253)\"+,\", \316\243\317\201.(\[\302\253,(1-\")\"'\316\271\",+\302\253,\"+\316\271(\316\220")
original control
points and piecewise linear interpolation at the
parameter
values il(n + 1). Figure 4.9 shows Che results of raising the degree of a cubic
Bezjercurve while maintaining the original shape. Clearly, after raising the
degreeand before moving any control points to adjust its shape,the curve is
defined by more information than necessary.
It may be necessary to repeat this process several times to establish
sufficient modeling flexibility The general formula for producing a new set of
controlpoints for r degree elevations follows directly from the previous
discussion:
Truncating and Subdividing 97
\342\226\240
n + r
i
points defining the curve,we can find three new control points defining a
segmentof this curve in the parametric interval \320\270
\320\265 where
[u\342\200\236u,].
the
interval is normalized to a new parameter so
\316\275 that e [0,1]
\316\275
(see Figure 4.1\317\213).
In
p(H)=UM*P
where
U= [w2 \320\2701]
1 -2 1
MB= -2 2 0
1 0 0
98 Bezier
\342\226\240 Curves
P = Pi
P2
p(v)
= VTMflP
= VM\342\200\236P'
This means that
where
\316\224\316\267,20 0
T = 2\316\274;\316\224\316\274 \320\236
\316\224\316\274;
\320\275? \320\270, 1
0 0 1
M^ =
Li \316\271lJ
so that
Truncating and Subdividing \342\226\240
99
-
uf 2iij + 1
=
\320\234\321\217'\320\242\320\234\320\264
\320\274,2-2\302\253(-+1 +\320\224\321\213((\320\274;-1)
-
. \320\270) 2u, + 1 + \316\224\302\2532 -
+ 2\320\224\302\253,(\320\274(-
1)
+ 2\320\274,-
\342\200\2242wf
-2uf + + \316\224\302\253;(-2\316\274,
2\316\271\317\212; + 1) uf + \320\270,-\320\224\320\274,
- -
-2\302\253,?+ + 2\321\213(-\320\224\321\213(-
+ \320\233\320\2702
2\320\274, 2\316\224\316\274,2 -\320\275
4\320\270;\320\233\320\270,
2\316\224\302\253,
\320\270? _ (4.12)
p;
\317\201'=[\317\201\316\214 \321\200\321\203\320\263
where
p'o = (1
- u,)2Po + 2u,
(L
-
w,)p, + \302\253,2p2
= - w,)(l - + + + + \"i\"/p2
pi (1 Uy)po (-2u,-h; \302\273,-u,)Pi
p2 = (1
- po
\302\253,)2
+ 2\302\253/l
-
u;)p, + \302\2532p2
1 \320\236 \320\236
= 0
0.5 0.5
\320\274-\320\231]\321\202\320\274\320\260 (4.13)
0.25 0.5 0.25
and foru, = 0.5,u;= l
Po-s 0.5
= 0.5 0.5 0
Pi + \317\201,)
0.5(\317\201\317\205 Pl.O -! 0.5
0.25 0.5 0.25 p2 +
0.25(\317\201\317\2052\317\201,+\317\2012) P2.0-SO5
and
3 -3
-6 3
3 \317\213
0 \317\213
Po
Pi
P2
Lp3J
then,again,
p(if)
= VTMsP = VMflP'
TM = \316\234
\342\200\236P SF and F = \316\234
~i TM \342\200\236P
where
Auf 0 0 0
3u,Auf 0 0
T= Au]
of
(see the development Equation [3.28] et seq.) and where
\"\317\2130 0 \316\223
0 0 \317\204- \316\231
=
Mfl'
\"Hi 3 3
so that
(1-\320\271,-)3
(l-u,f-(l-u,fAUl
\316\234\316\262'\316\244\316\234\316\262- - -
(1 2(1-\316\234/)2\316\224\302\253(-+(1-11;^
\316\227,-\320\243
- - -
(1 u;f -3(1- if,)2
+ 3(1
\316\224\316\267,- Au]
\302\253,)\316\224\302\2532
3u,(l-u,f
3i(,(l
- if,)2
+
(1
-
3u,)(l
- \321\211)\320\220\320\270,
3u,(\\
-
u,f + 2(1 - 3U/)(I- -
\302\253,)\316\224\302\253, (2
- 3u)
3u,(l - u,)2
+ 3(1\" 3u.)0
^
\302\253\316\266)4\";
-
3(2
-
3\316\271/,-)\316\224
-
3u?(l \320\270,) \320\270]
+ \320\270, +
\320\227\320\270)
(I -\320\270,) (2- 3\302\253,)\316\224\302\253, \302\2532(\302\253,
\316\224\302\253,)
- + 2f(, - + (1 - +
3u? (1 \320\270,) (2 \320\227\320\270;)\320\220\320\270, Au,)1
3\302\253,)\320\224\320\2752 \302\273,(\302\253,
3u? (1
- +
\302\253,) 3u, (2
-
3u,)Au, + 3(1 - 3u,)Au2
-
(u, + \316\224\316\271\316\271,)3
3\316\224\302\253\316\257 (4.15)
P'=[PO Pi Pi P'AT
102 Bezier
\342\226\240 Curves
where
pS = 0 - u,f po
+ 3u,(l -
u,)2 pL
-
+ 3\316\271\316\256(1
u,)p2 + \302\253fr3
pi
=
(1
-
u,f (I
- + (1
-
\320\270\321\203)\321\200\320\277 h,-)(2u, + u,
- \320\227\320\270^^\321\200!
+
ul(2ul + \302\253,-3u,-ti/-)p2
+
u^u;p_i
pi=
-
(I u,)(l
- u;)!po +
(I
-
\"y)(2u/+ \302\253,-3u,u,)pi
+ + - +
u;
\302\253\321\203(2\320\270,\320\227\321\213^^\321\200\320\263
\320\270(-\302\2537\321\200\320\267
= - - p, +
-
p; (1 u,-)3 p,j + 3uy (1 \320\270
If 3u7(l u,)p2+ ujpi
Recursive Subdivision
for each of these two smaller curves,we perform the necessary parameter
transformations, repeating the subdivisionas often as necessary. Here is an
algebraic description of this process:
StepI. First, computewep(0.5)
= po/8 + 3pL/8+ 3p;/8 + p3/8.
Pi = Ms]T\342\200\236MBP
10 0 0
=
2 2
M\302\253'TeMH
\316\271 \316\271 \316\271
\320\276
4 2 4
A A A A
L8 8 8 8
Truncating and Subdividing 103
\342\226\240
so that
\"l 0 0 0 Po Po
I I
\317\205\317\205Pi 1
~2 ~2
(Po + Pi)
1 1 1
\317\205\316\2412
4 2 4 (p,, + 2p, + p2)
1 3 3
1 \320\240\320\267
8 8 8
=
\321\200; \320\274\320\271%\320\274\321\217\321\200
and
111!
8 8 8 8
\320\276
1 I I
=
\320\234^\320\242\320\254\320\234\320\222
4 2 4
ooii
2 2
.0 0 0 1.
Therefore,
104 Bezier
\342\226\240 Curves
3 3 1
Po -(p0 + 3Pl + 3p2 + p3)
\320\276
1 A I + p3)
Pi
P> = 4 2 4 ^(Pi+2p2
(4.16)
0 1
K-P, + u*>l+1-Pj
i
-
0, - 1
\316\267
joints.To explore these ideas, we again focus on the cubic Bezier curve and
extend the continuity criteria discussed earlier (see Figure 4.16).
First, we differentiateEquation(4.5)and rearrange terms to obtain
p\302\253(u)
= -
3u2)p0 + (3
(-3 + \320\262\320\270
- 12u+ 9uz)pi + (6u - 9u2)p2+ 3u2p3
by making upm,
p,\342\200\236_ q0, and q, collinear.
Figure 4.17 shows two cubicBeziercurves joined with Gl continuity (we
do not address parametriccontinuity here). We are free to move point D so
long as we also move and
\320\241 in
\302\243 a way that preserves the collinearity of C,
P2 P3 % 4,
p0
Ibl
continuity.
_ Zlfo-ptQxQpa-pi)!
Kn =
3ipi- po
_ 3(\317\201\316\257-\317\2011)\317\207(\317\2013-|>\316\257)|
\342\200\236.
3lp3- \321\200\320\267\320\240
We can easily generalize these equations for Bezier curveswith \316\267 > 3.
these are more complex than for cubic curvesand bicubic surfaces.
one of the first to observe that homogeneous coordinates are a useful way to
represent geometrictransformations and
projections.
\316\241(\302\253)=\316\243\316\241^\302\273 (4.17)
1= 0
where p(u) is the four-component vectorof a point on the curve, and the p;
are the control points, also given in four-dimensional homogeneous
coordinates. We know that
x(u) h(u)x(u)
\320\243(\320\270) h(u)y(u)
\320\260\320\264 h(u)z(u)
Jr(u)] . h(u) J
Rational Bezier Curves 109
\342\226\240
h-1--
hxa,hya,h
h = 1 plane
2(\=\316\2432\316\221\302\253(\302\253)
%)^\320\233\320\224\320\233(\") (4.19)
110 Bezier
\342\226\240 Curves
CO
= x(u)
h(u)
(4-20)
\320\201\320\234~\320\231
But = so that
\320\226, \316\233\316\274:\342\200\236
\316\243
hiX;Bitn{U)
(421)
W'ThAM
\320\245/\320\263,\321\200\320\224,\342\200\236(\320\270)
where the p, are the control points in three-dimensional spaceand the h, are
the corresponding t he
projective space coordinates; h, are also known as the
weights. Equation (4.22)reduces an integral or nonrational Bezier to curve
when all/z,= 1,which follows from: If all ft;= l.then \316\243
h,Blin (\302\253)= 1,
because
\320\243 land
\302\243,,\342\200\236(\302\253)=
\316\243^,\317\201,\316\222,.,,
(423)
YJ^--lP,B,Au)
We immediately see that for a rational Bezier curve the same set of control
points can produce many different shapes, interpolating endpoints the same
and with the same end tangents-. Changing one or more of the weights
changes the shape of the curve. This means,for example,
that a rational cubic
Bezier curve has four more degrees of freedomthan the nonrational cubic.
Let us see how this works for a second-degree rational Bezier curve in the
plane with control points po>pi,pz and weights hlth2,h3. In Figure4.19,we see
h0, h, > 1, h2
= 1 curve 1n homogeneous space
\320\222
\316\212-|\316\247\316\220\302\267\316\267\316\220\316\245\316\220.\316\212\316\220
\342\200\224_ ,C
=
= l,
hy>l, h2 0
h\342\200\236
curve projected onto h = 1 plane
\\ h = 1 plane
0IC^__^
' 1\\
= 1 curve
htX\\,h}yuh. We can think of this control point in its new position together
with the two unchanged end control points as defininga new Bezier curve in
the homogeneous or projective space.It is the projection
of this curve onto
the h = 1 planethat in turn produces a new curve in that plane. This is the
curve interest.
of It has, of course, the same controlpointsas the h-,~ 1 curve
and the same end slopes.Only one weight has been changed, and the effect
of this is to pull the curve toward the control point p\342\200\236
whose weight we
changed. All of this applies equally to three-dimensional rational Bezier
Because conies are second-degree curves,only three control points and their
associated weights are requiredto represent them. Thus, from
, + + h2p2B22(u)
l ' '
\317\207\320\2540\321\200\320\276\320\222\320\274(\320\270)
/11\321\200|\320\224,\320\264(\321\206)
=
1 '
h0B,li2(u) + hlBi2(u) + h2B22(u)
we can segments
generate of circles, ellipses, hyperbolas, and parabolas.If
the h, 1, =
then segments of parabolas are produced.Other weight values
produce the other conies. Space does not permit a full discussion of this
topic. However,theserepresentationsare also discussed in the section on
rational B-Splines(seeSection5.7).
Let us review the properties of a Bezier curve that make it an unusually
effective modeling tool. First,the curve has endpoints in common with the
polygon (the other vertices are usually not on the curve). Second, the slope
of the tangent vectors at the endpoints equals the slope of the first and last
segments of the polygon.Third,the curve lies entirely within the convex hull
defined by the extremepointsof Che polygon and generally mimics the gross
features of the polygon.Fourth,Beziercurves are variation-diminishing.This
means that they never oscillate wildly away from their defining control
points (they are smoother than the data on which they are based). Fifth,
compared to conventional polynomials or splines, Bezier curves do not
require us to input slopes, just daita points. Finally, the parametric
formulationallows a curve to represent multiple-valued shapes. In fact, as we have
seen, if the first and last points coincide(that is, if p0
= p\342\200\236),
then the curve is
closed. Bezier curves are specialcasesofthe more general B-Spline curves
that we consider next.
B-SPLINE CURVES
special set of basis functions that has only local influence and depends on only a
few neighboring control points. Connecting the controlpoints p, (see Equation
[5.1]) in the order of their numberingwith straight lines produces the B-Spline
control polygon.The B-Spline curve is contained within the convex hull of its
consider here both nonrational and rational forms of the B-Spline basis functions.
=
p(u) Xp,AU\302\253) (5-1)
= (u-t,)N,.t-,(u) +
ft- + t-w)JVl + U-i(K)
53
~~
i; + * -1 t, tl + k~ti + i
where 7\" is the number of knots. For nonuniform and open B-Spline
curves,
-.. \342\226\240
\316\244=[\316\261,\316\261, ,\316\261,\316\257*,..,\316\257\317\204\302\267-*-\316\271,\316\262,\316\262.
\316\262)
0<\320\270<\320\273-\320\232+2
(5.6)
point curvature
with
discontinuity. A triple knot produces a corner point in
the curve.
The basis functions
NlA(u),Nii2{u), and N^(u) corresponding to =
\\,K
= \320\232
basis functions
\316\235\316\257\316\233(\316\272) with = 5
\302\253 and/C= l,we find that 0<\302\253<6 and the knot
vector is [0,1,2,3,4,5,6], or
fo
= 0
u--4
=
\316\212 1 h= 5
(5.7)
f2
= 2 h-= 6
i3-3
=
\320\273\342\204\226)1 if 0<\302\253<1
-0 otherwise
= \316\271
\316\234.\316\271(<\302\2670 if 1 < \320\270
< 2
-0 otherwise
=0 otherwise
W4.i(\")
= 1 if 4 < \320\270
< 5
= 0 otherwise
if 5 < < 6
\320\270
= 0 otherwise
These six basis functions are plottedin Figure 5.1. They are obviously
identicalin form and limited to a different successive unit interval of the
variable.
parametric
Applying these basis functions to any set of six controlpoints
using Equation (5.2), we see that p(u) is given by a different equation for
each unit interval, so that
.\316\275,
,\316\271.\316\271
1 1 1 1
\\ i\
\342\226\240
vs>>
p('0
= Pi for 1 <u<2
The resulting curve is clearly not a curve in the ordinary sense of the word,
but merely the initial set of control points.(We could also interpret this to
represent six disjointcurve segments of zero length, each segment
concentrated at a control point.)
Next,for theNi2(u) basis functions with n~Sand \320\232~2,we find that 0 <\320\270
i0
= 0 i4 = 3
= 4
4=0 i5
(5.8)
h = \\ f6
= 5
l3 = 2 t7 = 5
= 1 f
\316\271 u = 0
\316\233\316\214,(\302\273
= 0 otherwise
= 1 0<\321\213<1
\316\233\316\212.\316\271(\302\253
=0 otherwise
NXi(u
=1 1 < < 2
\320\270
=0 otherwise
= 1
\316\2353\316\233(\317\205
2 < u < 3
= 0 otherwise
= 1 3<\321\213<4
\320\233\320\2234\320\273(\320\270
=0 otherwise
=1
\316\2355\316\233(\317\205 4 <w < 5
=0 otherwise
A\\,z(\302\253)
=
uNu(u) + (2 - u)Nv{u)
= - 1)N2! + (3 -
NX2{u) (u (\320\270) \320\270)\320\233\320\223\320\267\320\224(\320\270)
= - + -
\320\233^\302\273 (\320\270 2)\320\233\320\2233.!
(\321\213) (4 \321\213)\320\233\320\2234.,(\320\274)
= - + (5 -
Nu(u) (\302\253 3)\320\233\320\2234\320\233
(\320\270) \302\253)\320\234,(\302\253)
=
^(\320\270) (\320\270-4)\320\233\320\2235,1(\320\270)
on
depending
the value
They define
of u. the region over which the complete basis
function is nonzero, or the interval ofsupport for a curve's expression. These
basis functions are plottedin Figure 5.2; they are identical in size and shape,
=
\321\200(\302\253)
(2-\320\270)\321\200]
+ (\321\213-l)p2 for l<u<2
=
(3
\321\200(\320\274)
-
\302\253)p2+ (u
-
2)p3 for 2 < \320\270
< 3
=
p(\302\253) (4
- + (u -
\302\253)\321\200\320\267 3)p4 for 3 < \302\253
< 4
p(u)
= (5 - u)p4
+ (u
-
4)p5 for 4 < \320\270
< 5
= 0
f \316\271 fft = 4
=
\316\25720 = 4
\316\2577 (5.9)
=
f\320\267 1 is = 4
i4
= 2
*\302\253,\320\260<\">
K=2.
/Vai(w)
= l for = 0
\320\270
= 0 otherwise
Nu(u)=l for = 0
\320\270
= 0 otherwise
=1
\320\233^\320\270) for 0 < < 1
\320\270
= 0 otherwise
120 \342\226\240
B-Spline Curves
= 0 otherwise
for
\320\233\320\223\320\267\320\273(\320\270)=1
3 < < 4
\320\270
= 0 otherwise
AW(\=0
Nu{u) = {l-u)Nv{u)
N32(u)
=
(\320\270
- 1 )N3A(u) + (3 - \302\253)*\302\267.\302\273
M,(ti)
= (u - 2)Nu(u) + (4
-
w)ATs,,(w)
=
\320\233\320\223\320\260\320\264(\320\270)
(1-\320\270)2\320\233\320\2232.|(\320\270)
= - -
NU\") \320\227^\320\233\320\252\320\224\320\270)
\320\274^\320\224\321\213)
J\"(4 +|<2
= + +6u~ -
\320\233\320\254\320\224\320\270) 3)\320\234\320\273(\321\213) \321\213^\320\224\321\213)
^^\320\224\") ^(~2u2 +1(3
= - + - -
\320\220^\320\224\302\273)
\\{\320\272
+
1)2\316\2353\316\233(\317\205)
|(-2\321\2132
10\320\270 +
11)\316\233^4,\316\271(\302\253)
|(4
u)2N5il(u)
NA3{u)
=
]-{u -2fNiA(u) + + 20\321\213-
U-\320\252\320\2701
32)\320\234\320\224\321\213)
=
\320\233\320\2233\320\224\320\230)
(\320\270-3)3\320\233\320\2235\320\224\320\270)
basis functions to a set of six control pointsusing Equation (5-1), we find that
p(\302\253)
is given by a different equation for each unit interval in \320\270
through the
action of the NiA(u) switches, so that
Nonuniform B-Spline Basis Functions 121
\342\226\240
pi(\")
=
(1
- \2po")+ x\"(4 - 3w)p!
+ ~u2p2 for 0<\321\213<1
= - + + 6w
- + -(\320\270 - 1 )2p, for I <u<2
\321\200\320\263(\320\274) pi
\302\253)2 3)\321\200\320\263
^\"(2 ^(-2\"2
- - 11
=
\320\240\321\215(\320\270)
|(3
\320\270)^
+ +
\321\203(-2\321\2132
1 Ou
)p3 + |(\321\213
-
2)^4 for 2<u<3
P4(\") = |(4
- uf& + + 20w -
32)p4 + l(u
- 3)^ for 3<u < 4
^(-\320\227\321\213\320\263
\320\233\320\270\"\"
change affects only two segmentsof the curve; it isalso evident in the
preceding set of equations, because occurs
\317\201,
in only the first and second
equations.
From these
equations, we infer that only three controlpoints
same
influence each curve
segment. Conversely, a control point can influence the shape
of at most only three curve segments.Similar observations apply to K= 1 and
= 2 curves.
\320\232 In fact, we can generalizethis observation: Each segment of a
B-Spline curve is influencedby only control
\320\232
points, and, conversely, each
control point influencesonly \320\232
curve segments. A nonuniform cubic B-Spline
requires at least four control points,
>
\316\267 3, and at least eight nondecreasing
knot values.
What
happens if we the number of control points?Toanswer
increase this,
we must review Figures 5.1 to 5.3.In Figure5.1,w e see no evidence whatso-
Nonuniform B-Spline Basis Functions\302\253123
w,tl,M=i for -
\316\271 1< < i
\320\270
=0 otherwise
JV,.,.i(\302\253)-l
for ('<\302\253<('+ 1
^0 otherwise
for
\316\273\316\263(+3.\316\27100=-\316\271 r + 1 < u< f + 2
= 0 otherwise
W, + 4.i(\-l for + 2
\316\271 < < i
\320\270 + 3
= 0 otherwise
Next we compute
= - i + + -
N,,i(u) (\320\270 2)NU (\320\270) (i \320\270)*;+ i.i(\
- - 1 - u)Nl+ 2.i{tt)
A^iX\302\273) (\" f + 1)\316\233\316\223,+!,, +
(\320\270) (/ +
- ('- + 3 -
=
+ 3\320\224\320\270)
\320\233\320\223( (\320\270 lW + + (('
3.i (\320\270) u)N, + ij{u)
And, finally, we compute
+ 1)!^+\320\270(\320\270) + (\"-'\320\2471)(/\320\247\320\254#,\320\273(\320\274)
^*|\302\273^[(\"-|
+ 2
+ (\317\212 -
u){u - i)Nl+ 2,(u) + (r +2 - + \321\212\320\273{\302\253)}
\320\270)\320\251
= - + - + 2 -
NtM\302\273) */
\320\2362 + 2.i00 (\320\270 <){< u)N,M\
|[(\302\253
+ {i + 3~ u){u
- i - 1)\320\233^3,,(\320\270)
+ (/ + 3 - + 4.,(\316\274)]
\316\274)2\316\233\316\223,
=
-(('
\321\200(\320\270) + 1- ufp,
+ + (i + 2-u)(u-i)]pl + l (5.\320\250)
^[(u-i+l)(i+l-u)
+ +2
2-(\"-')\316\212\316\241'
+ + 2\321\213
+ 1)\321\200,\321\2021
+ \321\2132\321\200(
+ 2)
(-2\321\2132 (5.11)
\321\200;(\302\253)=^[(1-\302\253)2\321\200,
Matrix Form
We now rewrite Equation (5.11) using matrix notation, replacingi by r
\342\200\224
1 (i
1 -2 \320\223
pi-i
=
\320\240,{\320\270)
\320\270 1)
\\[\320\270\320\263
-2 2 0 \316\241; for ie[l :n-l] (5.12)
1 1 0 p, \316\271.
-1 3-3 1 pi-i
=
3-630 P' for
p,H JK \320\2702\320\270
1]
-3030 Pi + 1
re[l:n-2] (5.13)
1 4 \316\271
oJLPi+2J
1 -2 1
M< = -2 2 0
1 1 0
we have
Pi
= \320\270\320\274.
\320\240.\320\230 P: ie[l:\302\253-l] for open curves (5.14)
P/-M
-1 3 -3 1
3 6 3 0
*-i -3 0 3 0
1 4 1 0
we have
\316\241-\316\271
P<\"
= UM,
\321\200,(\320\270) ie[\\:n-2] for open curves (5.15)
p; + i
_p; + 2_
p,(w)
= UM5Px
ie[l:n + 2-K) (5.16)
where
U =[\302\253*\"* uK~2 - \320\270
1) (5.17)
and
PK = [p ] je[i-l:i +
K-2) for open curves (5.18)
126 \342\226\240
B-Spline Curves
5andX=3,('e [1:4]
po
=
pi(\302\2530 UM5 Pi
Pi
=
Pz(\302\253) UM5 p2
\320\240\320\267
(5.19)
\"p2
:=
UMS
\320\240\320\267(\302\253) \320\240\320\267
pj
\320\240\320\267
: = UMs
Pj(\302\253) p4
Ps
and for = 5
\316\267 and =
\320\232 4, ie [1 : 3)
Pl(u) = UM,
=
p2(u) UM, (5.20)
P2
p3(u) = UM,
P^
Pj
P^
Uniform B-Spline Basis Functions \302\253127
straight line segments (as in the case of the Bezier or uniform B-Spline
curve to interpolate a control point, includingthe first and last control points.
Equations (5-19) and (5.20)show which control points influence a particular
curve segment, and iheyshowthe influence of a single control point.
Figure 5.6 presents
- 4
the basis functions for ~
\320\232 2, =
\320\232 3, and \320\232 uniform
B-Spline curves. These basisfunctions span two-, three\302\267, and four-unit
intervals on the parametric line, respectively. Comparing these functions to those
in Figures 5.2 and 5.3, we see that they are invariant from span to span.
ir-
a*\342\200\224J\\r
|-e-.Iw =!-*\342\226\240]
cl\342\200\224-\317\210
1i\342\200\224
\320\233\320\223=4
o1
V
in more detail. We define N3= U3M3and N4 = UjMj, where N, and N4 are the
basis-function matrices for \320\232= 3 and =
\320\232 4, respectively. Performing the
matrix multiplications for \320\232
= 3
produces
where
\320\234\320\224\320\270)=|(\320\2702-2\320\270+1)
+ 2^+1)
\320\233\320\223\320\260.\320\267(\321\213) (5.21)
=-^(-2^
and for =
\320\232 4,
\316\2354=[\316\233\316\2634(\302\253)
\320\233\320\223\320\274(\320\270) \320\233\320\2234.4(\320\270)]
\320\233'\320\267\320\224\321\213)
where
= + \320\227\321\2132-\320\227\320\274+1)
\320\233\320\223]4(\320\270)
^(-\320\270\321\215
\320\276
= +
^2.4(\320\274) 4)
-^<\320\227\320\2743-6\320\274\320\263
(5.22)
N\\*(u)
= + 3i/2 + 3w + 1)
\320\245(~3\"3
p,(w)= \316\233\316\212.3(\\317\201(-\316\271")
+ Ww(w)pi + N^{u)p, + 1
(5.23)
i e[l : -
\316\267 1] for open curves
and for =
\320\232 4 yields
= + N1A{u)p,+ + NiA(u)pl
p,-(\302\253) Nl_A(u)pi.l NJA(u)p, + l +1
- 2] (5.24)
i e [1 : r for open curves
130 \342\226\240
B-Spline Curves
1 l\302\267\342\200\224I\342\200\224
-\316\233
^^\342\200\224\342\200\224
-
-4
\320\272
'
;,'
3 4
1
^I..
'
\317\206
\316\263^
<. F f >
^ ,\342\200\224 4.4- ._***
P(i- l)mo(i(n + l)
=
U3M-
\321\200,(\320\270) p/mod (n + 1) i e [1 : \316\267
+ 1] for closed curves (5.25)
.P(i + l)mod(.i + l)_
Closed B-SplineCurves \342\226\240
131
P{i-l)mod(.i + l)
= p/mod 11)
[\320\270
for closed curves
\320\2704\320\234^
\321\200,(\320\270)
+ + l)
i e[l:\302\253+l] (5-26)
P(i l)mod(n
where mod(n+ I) is the remaindering operator (that is, for example, 5mod4
= l,8mod3 = 2,4mod4= 0, and so on). The curve in Figure 5.8isa good
example
to work through. Here, = 5
\316\267 and =
\320\232 4; using these values in Equation
(5.26), we obtain
P(i\"-I)mwl6
Pjmud 6
re[l:6] (5.27)
P(i + l)mod6
.p(; + 2)mod6_
=
UjMj[P(J
\321\200,(\320\274) Pi P2 \320\240\320\267]'
=
UjMjfp,
\321\2002(\320\274) P2 \320\240\320\267
\320\240\302\253\320\223
=
p3(\302\253) UjMj[p2 Pj
\320\240\320\267 psf
= Pi
pJ(\302\253) UJM4[p3 Pj PoF
=
ps(\302\253) UiM^pj Ps Po Pi]''
pft(w)
= UjMj[ps po Pi ft]7
We evaluate each of thesecurve segments for some sequence of \320\270
values
Since only four control points define this curve, the perturbation of affects p2
the entire curve, although ihe most drasticchangeoccurs p';, while the near
\317\201, \321\200\321\201
S.S CONTINUITY
=
\316\235\316\252
[AT?\302\273 NUu) N$A(u) N'Uu)} (5-29)
where
(5.30)
6
and
=
\342\204\2264\320\270 N%(u)
[\320\233\320\223\320\230(\320\270) N%(u) Nfi(u)] (5.31)
where
Nft(u) = -u+l
V
(5.32)
Njft(u)
= ~3u + 1
Nft(u) = u
Now we can write
p,(l)
= + 4p, + )+Pl+3) (5.35)
-|(p,
and
pi + i(0)
= + 4p, +, + p, +2) (5.36)
-^(p,
=
\316\241\317\212(1) \320\240-\320\263) (5-37)
\342\226\240\302\243<-*+
and
p?+,(0)
= + pf+2) (5.38)
-|-(-p,
We see lhat p\"(0) = p','+)(l), demonstratingfirst-derivative continuity at the
pT(l)
= p(-2p, + i +
pit2 (5.39)
and
= pi-2pi , + (5.40)
pr?i(0) + p,-i:
on the continuity at segment joints are worth some further discussion. Here
is a summary of the continuity conditions:
Knot
multiplicity
=4 The curve is discontinuous, ending on
one controlpoint and resuming at the
next. The shapes of the curve segments
adjacentto the discontinuity are
unconstrained.
surfaces, and Barsky and DeRose (1989) discuss the geometric continuity of
subject of continuity.
which expands to
\317\213 \317\213 \317\213 1 -1 3 -3 1
1
1
0 0 1 3 -6 3 0
= \302\261
P\302\273
6 1 2
\317\213
3 3
1 -3 0 3 0
1 1 1 1 1 4 1 0
or
\316\2314 1 \320\236
0 4 2 0
\316\262-
0 2 4 0 (5.42)
0 14 1
convert
\320\242\320\276 from Bezier to B-Spline control points, we use
p^ = \320\2741\320\274\320\264\321\200\321\217 (5.43)
which expands to
0 --
3
0 1 3-630
\342\200\224
s
-3300
11
2 1 10 0 0
138 \342\226\240
B-Spline Curves
or
6 -7 2 \317\213
\317\213 2 -1 0
s~ 2 (5.44)
\317\213 -1 \317\213
\317\213 2 -7 6
= \316\234
\320\222 >' M5P5 (5-45)
which expands to
0 0 0 1 -1 3-3 1
b,1 1 1 1 1 3-630
6 0 0 1 0 -3030 Ps
3 2 1 0 14 10
or
14 10
0 14 1
It
-3030 p, (5.46)
0-303
Similarly, to go the other way, we have
P5 = M5MFB (5.47)
which expands to
0 - -! , 2-211
-3 3 -2 -1
.! =
\302\260101 \320\222
2
0 1 1 0 0 10
?
11
2 1 10 0 0
or
Nonuniform Rational B-SplineCurves 139
\342\226\240
7 2
3 3
2 1
3 3 \320\222
1 2 (5.48)
3 3
22 17
3 3
characteristics of projective geometry. This means that the NURBS curves are
invariant under translation, rotation, scaling, shear, and parallel and
perspective
projection. Like the rational Bezier curve, we can usea nonuniform
rational
B-Spline curve to represent exactly the conic curves,with the added
\316\243\316\233,\317\201,\316\233',\316\272
(\320\270)
= ^
\321\200(\320\270) (5.49)
wm
\316\243
= 0
\316\271
There are three ways to modify the shape of a NURBS curve; Change the
knot vector, move control points, and change the weights. Because it is
The NURBS curve is often the first choice of designers becausethey can use
it to represent a conic curve exactly. For example,seeQin, Sun, and Wang
(1992). A conic is a second-degree, or quadratic, curve, so we begin with the
X *,P,AU\
V(\=4\342\200\224") (5.50)
\316\243*\316\233*(\
We assert without proof that this is indeed the equation of a conic curve.
Moreover, the ratio
s-mT
(5'52)
Representing Conies with NURBS Curves 141
\342\226\240
p
= l for a parabola (5.53)
p>1 for a
hyperbola
1. The controlpoints\321\200\320\276,\321\200\321\214\321\2002
must define an isosceles triangle, where Z.p0=
^pz
2. h0
= h2 = l
'p^p\302\260'
xh^ -
2lp, pol
An
interesting variation on the B-Spline basis function is the Beta-Spline,
defined over a uniform knot sequence, it adds two more parameters,$} and
Lpi+J
where
-2$ 2(\316\2622+\316\262?+\316\262\316\220+\316\2621)
+ 1) 2
-2(\316\262\317\212+\316\262\317\212+\316\262\316\271
6\316\262? + 2\316\262?
+ 2$) + 0
= \302\267 -3(\316\2622 3(\316\2622 2\316\262?)
M\342\200\236
0
(5.55)
-6\316\262\316\257 6(\316\262?-\316\262\317\201) 6\316\262\316\271
L 2\316\262? + 4(\316\262?+\316\262,)
\316\2622 2 0
and =
\316\264 + 2\316\262\316\257
\316\2622 + 4\316\262?
+ 4fr + 2.
and
\316\262,
are
\316\2622 the so-called tension parameters, respectively.
bias and Both
affect the flatness of the curve. Manipulation of \316\262,
affects the tangent vector
on the parameter-increasing side of each control point, and increasing \316\2622
pulls curve
the closer to the sides of the control polygon.
As we increase $}
the curve asymmetrically shifts to one side of the control polygon. When we
increase the
\316\2622 curve uniformly flattens and more elosely approachesand
approximates the control polygon. A thorough diseussion of this interesting
curve (and surfaee) is found in Barsky (1988).
SURFACES
modeling,
and most of our studies here are particularly about the tensor product
parametric surfaces.
We construct, evaluate, and analyze points and curves on a surface to
display it, to reveal special properties, or to demonstrate its relationship to
other geometric objects, which may then become the basis for subsequent
143
144 Surfaces
\342\226\240
points
on a surface, curve nets, and embeddedeurves on surfaces.
Aw)-o (6.1)
is the implicit equationofa surface,where f(x,y,z) is a polynomial in*, y,and
such
\316\266 that
i.j.k
From elementary algebra, we know that the degree of any term in this
equation is simply the sum of the exponents appearingin it. In other words, the
degree of term a,jkx'y'zk is + j + k. The degree of the polynomial expression
\320\263
itselfis the maximum degree of its individual terms. If this equation is linear
special case. Finally, if one of the variables is absent from the equation,the
surface must be a cylinder whose generators are parallelto the axis of the
absent variable.
When we solvethe implieit equation for one of the variables as a function
of the other two, say, for as
\320\263 a function of and
\317\207 y, we obtain
z=/(xoO (6-2)
This representsthe same surface as Equation (6.1). However, this form is the
explicit equation of the surface.
It is also possible to express every rational and nonrational parametric
surface with an implicit equation.The processofconverting from a
t
parametric o implicit form is called implicitization. Although the implicitand
explicit
forms are useful, in representing surfaces they suffer from an
inherent weakness: their inability to represent an easily transformedand bounded
surface.However, we can either direetly adapt or closely approximatemost,
if not all, of these implicit and explieit forms by parametric equations. On the
other hand, they do have interesting strengths associated with intersection
compulations, point classification, and the inverse point computation.
Here is a relatively simplesurface-fitting procedure, based on an explicit
QUADRIC SURFACES
A D F G
\316\214 \316\222 \316\225 \316\227
Q- F \316\225 \320\241 J
(6.6)
'-\320\246\320\242
Q'=T Q[T ] (6.7)
Certain properiies of Ihe matrixof quadrie equation coefficients Q are
invariant under rigid-body transformations,including the determinants IQI
and IQJ. This allows computation of surface type, cenjer, vertex, and axes
(see Table 6.1).The jeststo determine surface type are critically dependent
on computing whether certaininvariants are positive, negative, or zero.
Again, this is often computationallyimpractical or unrealizable with
floating-point arithmetic.
Using the following definitions and tests, we easily determine the type of
quadrie surface:
A D F
= \316\214 \316\222 \316\225
Q\302\253
F \316\225 \320\241
Quadric Surfaces 147
\342\226\240
- rank
rx Q
r2 - rank Q,(
s = signalure of Q\342\200\236,
where the signalure s of a quadratic form is defined
+
\317\204^\316\221 B+C
z1 = AB + AC+BC~D2-E2-F2
=
bl z2 + z1K-G2-H2-J2
&2
= ABC + ACK + ABK+BCK+ 2(DEF+ FCJ + DGH + EHJ)
- D\\C+ K) - + F2(B + K)- G\\B + C) - + C)
E2(A K)- H\\A
-J\\A + B)
a:Ti>0;IQ\342\200\236ki<0 or \317\2042<0
\316\262:\317\204\317\212>0;\316\231\316\237.\316\231\317\2041>0
A
quadric surface of revolution is produced by Totaling a conic curve
aboul its axis. This surfaceis in its canonical position if and only if its center
Table 6.1 Classificationof quadnc surfaces
\320\2231 \316\223\316\271 s Other Condi lions Surface Type
1 0 0 Invalid
I 1 1 Coincident planes
2 0 0 Single plane
2 1 1 >0
\316\264, Invalid
or vertexis at the origin and its axes of symmetry coincide with the
coordinateIn this position
axes. there are no crosstermsin the equation.Thus, D -
\302\243=F-0,sothat
Ax2 + By1 + 2C>x + 2Hy + 2Jz + K=0 (6.8)
where AG- BH=CJ- f), since there is only one term in each variableif the
eenter or vertex is at the origin.An additionalconditionisnecessary. The axis
Cone x2 + f-Lz1 = to
Paraboloid x2 + y2 + Mz = f)
Prolaieellipsoid xl + f + Li2-N = Q,L<\\
Oblaie ellipsoid j-!+ / + /,;2-(V-0,7,> 1
\\ X
eorner points and edge eurves. This follows from the possible combinations
of |he two limits of |he two parametrie variables. We find the corner poinls
by subs|i|uting these four combinationsof 0 and 1 into p(u,w) to obtain
p(0,0),p(0,l),p(l,0), and p(l,l)- On the other hand, the edge or boundary
eurves are functions of one of the two parametrie variables. We obtain Ihese
by allowing one of the variables remain to free while fixing the other to its
limiiingvalues. This procedure results in four and only four possible
combinations
yielding the functions of the four parametric boundary curves
\321\203
Ml Ml
\320\256.1) u,, 1 (1,11
a-0 \316\267-
1
10 = IW-
(e,6)
la.W vi = 0
(1,0|
(0,01
are straight lines parallelto the \321\203 axis. The boundaries of Ihis plane are \317\207
= a,
Parallel ol latitude
= curve o( consiani \320\270
=
\316\233\" + f COS U COS W
\320\224\"\320\276
- + \320\263
cosu sin w w
\320\243\320\243\320\276 [0,2\317\200] (6.13)
2'2~
Z-Za + r sin \320\270
where is
\321\213
analogous lo latitude and w to longitude, both angles in
with
radians.
Obviously, curves of constant are
\320\270
parallels of latitude, so lhal a circle is
\317\207
-x(u) cos w
-
\321\203 x(u) sin w ue[0.1J, we[0,2Tc] (6.15)
z= z(u)
The
parameter space of a patch differs from that of a eurve, because we
must account for two
parametric
variables. Thus, we have a set of hybrid
three-dimensionalparamelerspaces defined
by (u,wr*c), (u,w,y), and (u,w,z)
b com sinui
\320\260
\320\24105\320\246
COSIil
model spaee.
The surfaee in Figure 6.8 has the following properties: poo
and p01 lie in |he
y,z plane; p|0 and
pn He in |he x,y plane; eaeh boundary curveis planar. The
graphs
on the left show the paleh's componenls parameier in
space. Shown
at the lop
left in the u,wrx syslem is a componenl
coordinate patch given by
the equation \317\207 =
x(u,w); the u,w,y and u,w,z patches are given by similar
\316\234
In the next three chapterswe consider the Hermite. Bezier, and B-Spline
parametric surfaces,including rational Bezier and nonuniform rational B-
Spline representations.As with curves, of course, the nonrational forms are
specialcasesof the rational forms. The hierarchical relationship between the
Hermite, Bezier,and B-Spline Surfaces: An Overview 157
\320\266
curves applies equally to these surfaces, with the rational B-Spline surface
being the most general. We will consider only the tensor product, or
rectangular, forms of these surfaces. There are, however, well-knowntriangular
or othermultjsided varieties of each of them. See for example, Farin (1993a),
GreinerandSeidel (1994), Kato (1991), and Warren (1992).
The bicubic Hermite patch is defined by its four corner points, tangent
vectors of the four boundary curves,and the so-calledtwist vectors at the
corner points. Composite arrays of these patches may be assembledto represent
complex surfaces. This surface representation scheme exhibits advantages
and disadvantagessimilarto those for the Hermite curves.
The Bezier patch is definedby a rectangular array of control points, whose
dimensionsdetermine the degrees of the curves comprising the
curve
isoparametric net. curves interpolate the corner points
Its boundary of the array
and are tangent to the plane defined by the two edges of the control
polyhedron at each corner point. It has the convex hull property, and like Bezicr
curvesit is the easiest surface to subdivide. Local controlis not a
characteristic,because the effect of moving any control point is propagated globally
hide the nature of these surfaces. For example, it may be useful to know that
the surface of a hole is a circular cylinder; the test to determineif a NURBS
surface is indeed a cylinder is a numerically unstable computation. Of
course, sophisticated modeling systems work around these problems, but
r/lrlso that
\320\255\321\200/\320\255\320\271,
_\316\233^
(6.16)
fti dujds
or in matrix form
\320\263
[*] =
\320\223 dlt;
\320\255\321\200] =
(6.17)
ds Irl
or
-1
duf\" \320\263
\320\223\320\255\321\200\"
\342\226\240
=
ds (6.18)
dll, :r:
CURVE NETS
Two related subjects are of interest here: Ihe general formulation of curves
embedded in a surface, and netw orks of curveson surfaces. The curve nets
of interest are the parametric, orthogonal,and conjugate nets, all of which
have special properties. Olher types of curves on surfaces include lines of
constant or equalcurvature and geodesies. Our goal is to become aware of
certain systems
of curves on surfaces we can use when applying surfaces to
modeling problems.
Of course, the simplestand most obvious curve net on a patch consistsof
the
defining isoparametric curves; those curves on a patch where one
that is,
of the
parameters varies while the otheris constant. If the parameter w is
fixed while \320\270varies, the locus of the is a w = constant
point \321\200(\320\275,\320\275>) curve on
the patch.By continuing this process, we can define a one-parameter family
of curves that completely covers the patch. Next,we interchange the roles of
u and w and define a one-parameter family of \302\253= conslant curves. Thus,
these two families of curvestogetherconstitute the parametric curve net. A
curve net a
on patch p(\302\253,w) is two one-parameter families of curves
constructed so that through each point there passes just oneofeach family.
Furthermore, the two tangents of the curves at the point must be distinct.
A net may be covariam to its sustaining patch;|ha| is,it can be defined in
a way that is invariant under rigid motionin space. However, this is not
necessarily always the case. With a suitably chosen transformationof
parameters,the parametric net can be made to coincide with any specified net on the
surface. Although we will not develop the proofs here, we can transform any
covariani net to a parameiric net-This allows us to concludethat |he
geometryof a surface is independent of the analytical representtion usedand is,
|herefore,independen| of the choice of parameiric nels,If the parametric nel
is a covariant net, then we find that properlies of the net are also properties
of |he surface itself.
r = r(u) s =
s(w) (6.20)
and
from u,wto rj, or from u,w |o s,r. Finally, we see that the normal vectorat a
p*pH=0 (6.22)
An orlhogonalnet is useful in many analytical engineering applications of
geometric modeling; example,in structural
for analysis, fluid flow, and ther-
Embedded Curves 161
\342\226\240
p\"\".ft = 0 (6.23)
primitive
shapes.
The curve on the surface in Figure 6.12is definedin the u,w parameter
space of |he patch. Here we introduce a new parameiric |o
variable
distinguish
the curve formula|ion,and wc denolc the curve as c(/).Notethai in |he
u,w parameiric curve is necessarilya planecurve.
plane, |hc Also no|c |ha|
poin|s on the curve have vector componentsin the \320\270
and w direc|ions.Thus,
c(l)
= u(l) + w(l) (6.24)
we can define this curve in many ways in the u,w plane: explicitly, implicitly,
with Bezier or B-Splineforms,with the parametriccubicform, and so on. We
define c(/) in Hermite form as
c(/)=TM,Bc (6.25)
where
T=[P l2 t 1]
by first computing c,', the tangentvectorto the curve at u(t),w(i) in the u.w
plane. We determine the direction cosines of this vector (that is, with respect
to the u,w coordinate system) and denote them k\342\200\236
and Next
k\342\200\236. we compute
and at the
p;;\342\200\236, p;;\342\200\236 u,w point determined by c(/) at / and find that
I 'Piiii'1
'Pun1
surface. We may segment the total surface ofa modelin this way so that each
region is itself then
mathematically tractable, where often the total surface is
not. We map each region and its boundary curves onto a unit square or m x
\316\267
rectangle in parameter space.
Earlier wcdefined a surfacein parametric form by specifying analytical
relationships between the model-Space coordinates and two parameters, and
\320\272
w : p(u,w) \342\200\224
[x(u,w) y(u,w) z(u,w)]. We can think of these parametric
variables as surface coordinates. Every point on a surface has not only the familiar
Cylinder
Disk
\320\241 J^)
uni| square in the u,w coordinate plane, where we derived the parametric
equaiionsof the surface from certain boundary conditions or control points.
As mentioned above, the boundary curves of a surface are frequently
irregular. For real objects, they may not correspond to the limits of |he
parametric surface established by the domain of |he parametric variables.
Usually by intcni. the underlying parametric surface always equalsor exceeds in
cxteni |he objeci's surface region that we are modeling. Thus, boundary
curves may be necessaryto delimit a subset of poinis on |he patch. The
points in this subset are in a one-to-one correspondence wilh points on the
real object's surface.
ject see Casale (1987), and Casale, Bobrow,and Underwood (1992). Other
references include Miller (1986). Farin (1993a).Shantz and Chang (1988),
and Farouki and Hinds (1985).
We may need to decide if a given poini on |he unii square lies wilhin a
bounded region. This is called point classification. A somewhat bruie-force
way to do this is to a point q thai we know to lie in
specify |his bounded
region. Then, given any other point p, we caneasily test whether or not it lies
R = \320\244(5,\320\254\342\200\236\320\247) (6.29)
Here, S is an m \317\207
\316\267
rectangular array of parametric patches normalized on a
unit square in the paramelric pJane u,w. b; is a set of paramelric curves
mapped on|o the same planeand expressed as functions of a parameier t;
that is,
=
\320\270
u(t) and w - w(i). q is a point on the parametricplane inside the
active region.
An allernative, and perhaps more elegant, way to indicate the active
region is to specify the intersection of an appropriate set of two-dimensional
half-spaces. Using this approach, we merely test each candidate point against
the implicit defining the
functions half-spaces (see Figure 6.15). More
sophisticatedpoint-classification methods are found in the references listed
previously.
We slated earlier that we can decompose the total surfaceof any physical
object inlo a collection of smaller surface regions.In Figure6.16we see an
There are six parametric surfaces. Sj wraps around the entire cross section
and defines the extrusion'slongitudinal surface (before cuts and slots are
168 Surfaces
\342\226\240
made). S2 is a plane surface normal to 5\316\212 that completely defines one end
plane of the extrusion. 53 is a closed cylindrical surface intersecting S, to form
a slot in the extrusion. 54 is an open cylindrical surface that takes a nick out of
the bottom flange.5, is a plane normal to 5, that establishes one facet of the
near-endplane.S6 is also a plane, but it takes an angular cut through S^.
Each surfaceis a unique in \317\207
\316\267
array of parametric surface patches. We
establish each region onR a surface by intersecting the surface with adjacent
surfaces. We define the interiors by six points qi- q6. (Alternatively,
\342\226\240 we
could use an expression defining the intersectingtwo-dimensional half-
straight line. By counting intersections that occur between this line and each
of the surfaceregions,
we can determine the test results. If there are no
intersections, then p,. is obviously inside the object. If the line intersectsthe
bounding surface an odd number of times, thenit liesoutsidethe object. All
even intersections bring the point backinto the interiorof the object. It is
easy to determine if a
point lies exactly on the surface of the objectby
testing the distance of pv from each region.
THE BICUBIC HERMITE
SURFACE
Two families of cubic Hermite curves forming a parametric net are the basis
geometric form. Four coiner points, together wilh two tangent vectors and a
twist vector at each of these points, are the necessaryand sufficient
conditions defining the bicubic Hermite patch. Sixteen points, four of which are
where
\302\273,\302\273\316\265[0.1] (7.2)
The a(J vectors are the algebraic coefficients of the patch.Thereasonfor the
169
170 The
\342\226\240 Bicubic Hermite Surface
patch bounded in a regular way. We wi II discuss this restriction and the use of
irregular boundarieslater.Thetensorproduct method allows us to describe
a rectangular patchas a product of the curve-defining polynomials.
Expanding Equation (7.1)and arranging the
a,y
terms in descending order
produces a result similarto Equation (3.2)
for curves:
p(u,w)
- + a^w2
\320\260\320\267\320\267^\320\275\"3 + a^icV + \320\2603\320\276\320\2702
+ a^irw3 + a^ii2iv2 + a2\\U2w + a^u2
(7.3)
+ a]3i(w3 + anuw2 + atiuw + a]0i(
+ + a02w* +
\320\260\320\276\320\267\320\270^ + \320\260\342\204\226
\320\257\321\211\321\213
patch, the
and it is
expanded algebraic form of the bicubic Hermitepatch.
p(u,w)
= UAWT (7.5)
where
\320\2702\320\2701]
U=[i?
W=[h\"3 w2 w 1]
a33 a32
a23 a22 a2i a2J
a13 a12 all a10
\320\260\320\264\320\260
\320\260<\320\270 \320\260\320\271
\320\260\320\256_
actually
a4x4x 3 array
As we found with the Hermite curves, the algebraic coefficients of a
Hermite patch determine its shape and position in space. Patchesof the same
Algebraic and Geometric Forms \342\226\240
171
Parametric spaces
Figure 7.1 A bicubic Hermite patch mapped into model space from its
componenls in parameter space.
172 The
\342\226\240 Bicubic Hermite Surface
approach used for the cubic Hermile curves.We will use |he four paich
corner
pointspoo,pio,poi,pn and the e'ghl tangenl vectors\321\200\320\271\320\276,\321\200\320\271\320\276,\321\200\302\245\320\276,\321\20
They,
\317\201\316\212\316\212,
\317\201\317\200.
of course, define the boundary curves
=
\317\20110 \317\201\317\213\316\277\316\277
\321\200(\320\270,0)\320\240[\321\200\320\276\320\276 \321\200\320\223\320\276\320\223 (7.7)
=
p(\302\253,l) F[poi pn Pm \317\201\317\212\316\271\316\223 (7-8)
=
p(0,w) F[pfl0 p&
\321\200\320\270 \316\241\316\260.\316\223 (7-9)
=
\321\200(1,\320\270\320\236
\320\240[\321\20010 pTb
p\342\200\236 \316\241\316\271',\316\223 (7.10)
,\342\200\236, w)
\320\2552\321\200(\321\206,
poo
- ^ ^ at \320\270
-U,w -u
\342\200\236-\320\277\321\213-\320\277
an aw
-=^ul
\320\2401'*\320\243
at u = l,w =0
aw
\316\261\316\271\316\271
%
01
-= -, -,
?pb^
\320\240\320\232\320\237 at a=0,w = l
an aw
-i^uiaa aw
Pl1~ aI u =
1>w = 1
W)
\320\2552\321\200(\302\273, lit: 1 1 1
Sit aw
+ 4\320\26022\320\274\320\270>
+6\320\2602\320\267\302\253\320\275'2 + 2a2iii
+3a13w2 + 2a12w + an
When we evaluate this equation at the comer points,we obtain
pBo=\"u
=3\320\26031+2\320\26021
\316\241\317\212\316\277 + \320\260\320\270
= + 2\321\21712+ \320\257\321\206
\320\227\321\2171\321\217
\317\201\316\232\317\212'
= 9\320\260 + 6\320\26032
\320\270 + \320\227\320\260-,
+ 6\320\26073 + 2\320\260\320\263,
+ 4\320\26022 + \320\227\320\260,3
+ 2\320\260,\320\263
+ \320\260,,
\317\201\316\220\317\212\"
174 > The Bicubic Her mite Surface
Having gone this Ear wi|h |he jwist vectors, we now do the samefor the
plO
= a30 + a2() + aI0 + a00
p01 = + a02
\320\260\320\250 + a01 + aM
pi \316\271 + \320\26032
=\320\260\320\2643 + \320\260,1
+ aM + an + a12+ a21 + aw
= a io
poo
poo = %
= + 2\320\2602\342\200\236+\320\26010
\320\227\320\260\320\266
\321\200\"\320\276
pU)
= aS] + a21 + + \320\257(|]
\320\260\320\230
+ 3\320\260\320\271+
=3\320\260\320\267\321\215
\321\200\320\275 + \320\260\321\215\320\270
\320\227\320\26031 +2a2J +2a22 + 2a21 + 2a2(l +au + a]2 + +\320\260\321\210
\320\260,,
=
3aH
\321\200\320\271 + 2a3: + as1+ 3a\342\200\236
+ 2a22 + a21 + 3a13+ 2aJ2 + \320\260\320\270
+ 3ao3 + + %
2\320\260\320\264\320\260
computing
and
p(l,w,-)
\317\201(\316\237,\316\271\316\275,)
at w = w, from Equations (7.9) and (7.10). Next, we
must find the tangent vectors pu(u,)V;) and To
\321\200\"(1,\320\270>,-).
do this, we observe
that, for the generalcase,poo and are not
\321\200\320\271] pu(0,>v) must change
equal.Thus,
as w changes from w \342\226\240=.
0 through w, w = same
lo thing happens to
w = 1. The
the tangent vectors
p\"(l,w) along curve p(l,w). Mathematically, we express
this change in the tangent vectors as (3/3w)(pjj\342\200\236,)
and (dldw)(puln), but
\320\255\321\200\321\206(0>)
\320\2552\321\200(0,\342\204\226)
3iv dw
\320\264\320\270
(71\316\240
=
\317\201\317\213\316\231\"(0,<*0
Algebraic and Geometric Forms \342\226\240
175
I 1 \302\273J
0 \302\253', 1
and similarly
\320\255\321\200\320\274(1,\342\204\226)
\320\2552\321\200(1,\342\204\226)
dw dw
\320\264\320\270
12\\
/\316\267
can specify intermediate tangent vectors along a boundary curve by the two
end tangent vector values and correspondingtwist vectors. We find points
=
p\"(0,w) WMji[p\"w p'd, pSl' pKT (7.14)
Equation(7.14)describescurve a that we might visualize as being formed
by
the arrowhead endpoints of the intermediate tangent vectorsas w varies
176 The
\342\226\240 Bicubic Hermite Surface
7.3. Note that theordinates are labeled p(l,w) and \321\200'\320\246 expediently denoting
the x, y, or \316\266
components of these veclors.
interesting mathematical property of twist
Anolher vectors is lhal at any
point on the bicubicpatch,p\"\" = \321\200\320\270\".
That is, the order in which we take the
mixedpartial derivalive is not important. This properly means that and
\320\270 w
are completely interchangeable and no experimenton a physical manifesta-
Next, we fill the first two columns with the geometric coefficients of curves
p(u,0) and p(w,l),noting that some of these coefficients are already entered.
Column I: p(w,0)
J- Column 2: p(i(,l)
4, I
poi poo
\316\241\316\277\317\205 poi
pin \321\200\320\270
\321\200\320\242\320\276
\321\200\320\270
poo poi
\316\241\317\212\316\271
\316\241\316\257\316\277
We have 12 of the 16 vectors enteredinto the matrix. Now, we must use the
auxiliary curvesto finish filling the matrix.
Algebraic and Geometric Forms \342\226\240
177
4^ 4- J-
\316\271 J^
I
\342\200\224>
P_(_l_.w). __Pi\302\253l Pii_ Pw______P_n____
coefficients of the four boundary curves and the four auxiliary curves.
When we partition the malrix into quadrants, we observe thai the four
vectors in the upper left define the four corner points. The upper righi
quadrant contains the langenl veciors with respeel tow at the corner points,while
those with respeel to \320\270
are in the lower left. Finally, the lower right quadrant
contains the twist vector or cross-derivatives at the corner points.The
pattern of these vector subscripts repeals in a regular way.
Using this matrix of geometric coefficients,we can evaluate a point on the
patch at a specificpair of u,w values, say, w, and w,. Figure 7.4 illustrates
the geometryof situation. this Here we see that the point of interest liesat
the intersection of the curves p(w,,ii') and \317\201(\316\271\316\271,\\\316\275}).
This problem
is easily
reduced to finding a point on a curve at a given value of a parametric
variable. We can work with either curve, so we arbitrarily choose to begin with
p(u,,w). First, we determine the geometric coefficients of this curve, \321\200(\320\270,,0),
p(Ui,l),p\"'(\"\342\200\2360),
and p'Vj.lJ.With the.se coefficients, we can then determine
the coordinates of the point p(u\342\200\236wj).
p(w\342\200\236l)
=
Fi(\302\253,)pM
+ F2(ut)pu + F3(w,-)pSi + Fa(ut)pb (7.16)
We
compute p\"(uh0) using an auxiliary
\317\201'\316\247\316\257\316\257,\316\237),
curve:
= + + + ^(\"\316\237\316\241'\316\257\316\277
\317\201\"\302\267(\"\342\200\2360) F2(\302\253,-)pii>
^(\320\270;)\321\200\"\302\253 ft(\"i)pi\302\273 (7\302\2671?)
= + +
pu'(ii\342\200\236l) /\316\257\316\234\316\241\316\277\316\212+ /\320\234'\320\236\320\240\320\231'
^(\"\316\237\317\201\317\212\316\212 (7.18)
^(\"\316\237\317\201\317\212\317\212'
p(u/,Wj)
=
Fiiw^F^ypa, + /s(^)p,o + /^(\"Opoo + Ft(u,)p40]
+
ftW^uJpui
+ b(u,)V% + ^(\"iJpBo+ /\320\247\320\270,)\321\200\320\255\320\224
+ /^^(\"^pKi + +
^(w/Jpff
/\320\234\"0\320\240\320\270 + ^(wOP'aJ (7.19)
We could obtain the sameresultby using curve p(u,>Vj) as the initial
working curve. Equation (7.19) can certainly be reduced to matrixform.We will
pio \320\240\320\270
\316\241\316\252\316\212.
\316\241\316\252\316\271
F2(u)
\321\200(\302\253,*\320\253\320\257(\302\253) Fi(u) Fa(u)]
P&i
\321\200\320\223\302\273 \321\200\320\271\321\201\320\242
\316\241\316\277\316\220
(7.20)
Pfo \316\272 Pffi'
\316\241 \317\201\316\220\316\257
vectors] produces
=
p(u,w) F(u)BF(\302\273>)T (7-21)
Now we eliminate the function notation and use the Hermite basis-function
transformation Because it is also true that \320\251\320\270)
matrix. = UMF, and because
w and w are symmetrical and interchangeable parametric variables,it is also
Hermite Patch Basis Functions \342\226\240
179
= UMfBM/.'W'''
p(H,\302\273v) (7.22)
A = M,-BM\302\243 (7.23)
and
=
\320\222 AM/
M^ (7.24)
The basis functions for the bicubic Hermite patch have the same form and
serve same
the
purpose as the basis functions for the cubic Hermitecurve.
Because the
patch has two independent parametric variables, we use the
basis functions twice. We see this in Equation (7.21) and, of course,in the
=
pw(u,w) F(u)BFw(w)T
puw(u,w) = Fu(u)BF\302\273'(w)T
or
= VMfBMf\\VT
p\"(u,w)
= VMPBM\302\243TXVT
p\302\273(u,w) (7.25)
p\"\"(u,w) = UM\302\243BM\302\243rWr
\320\240(\320\270^)
=\316\243 \320\245\320\254.\320\233\342\204\242(\/>(\")") (7\302\26726)
/=0 / =0
180 The
\342\226\240 Bicubic Hermite Surface
Computing
and understanding the significance of the parametric derivatives
of the bicubic Hermite patch basis functions are similar to these same
processes in the cubic Hermite curve. The difference is that the bicubic
functions are expressed in two independent variables instead of just the one for
curves. This means that we must deal with partial derivatives. Earlier, wc
developed expressions for the tangent and twist vectors and extended the
notation system we used for curves. Let us briefly review these procedures.
The
tangent vectors are the partial derivatives
p\"(H,w)=
\320\255\321\200(\302\273,\320\270\321\200
and r = dp(M,w) (7.27)
r v
dudw
(7.28)
'JO1]!) m.olff
/\342\226\240\320\233 >\"jji',T
curves. This is interesting. We can fix the four comer points and boundary
curves and still change the interior shape of a operations on
patch through
the twist vector magnitudes (see Figure 7.5).The figure indicatesthe result of
a
change in the twist vector at \321\200\321\206,
where \317\201','5''-\302\273
The
(\317\201\317\2127)'.
dashed curve net
on the patch highlightsthe effectof this change on the interior. Wc note that
7.4 NORMALS
(730)
\342\200\242(\"\342\226\240\"^fcti
pH1. The order in which the vector productis taken determines the direction
interpretation.
convention gives a consistent algebraic sign when summing the area of several
surface patches.
A more convenient way to write Equation (7-30),one that takes
=
[x\"
k\342\200\236n \321\203 Z\"]x[*\"' \320\243\" zw]
=
[(y\"zw
- -
x\"z\")
-
y\"z\") {z\"xw (x\"yv y\"x\]
The \317\207
component offi is
Normals 183
\342\226\240
Ip\" x \317\201\"\";
To rewriteeachof the terms y\", z\"', y\"\\ and their matrix form, we make
z\" in
use of p\"(u,w)
= UM?BM?Wr and p\"(u,w) = UMfBMfWr of Equations
(7.26), and find that
(7.31)
-
(UM/B>.M^Wr)(UM^B,MiWr)]
and similarly fori),, and \302\253,.This is a biquintic polynomial in w and and
\320\270> is
where
Nil
ft?\"
\320\257; \316\256'\316\257\\\316\256
points supplies and satisfies the 48 conditions (see Figure 7-7). However, we
must also choosevalues for w and w at these points. There are severalways
to do this: by estimating the u,w values for points other than the corner
points using a ratio of line segment lengths to get values between 0 and l,or
by assuming u,w values at the one-third points.
Expandingthe algebraic form of the patch p(u,w) = UAWr produces
=
aHii3w3 + + \342\226\240-
+ aM
\320\260\320\267\320\263\320\2703\320\270>2
\321\200(\320\270,\320\270>)
This is, of course, Equation (7.3).We can generate 16 of these equations, one
for each of the 16 points. Let us use the u:,w,values in Figure 7-7. Thus,
+ \"J - +
p(~A =
*J\\](PY
+
\\)\\\316\270\316\263 aOT
(7.33)
\321\200|\320\235)=\320\247\320\267)\320\250+'\320\271(1)(\321\202|+-+\"\321\216
= + \320\260\320\267:(1)3(1)2+- + \320\260
\321\200(1,1) \320\26033(1)3(1)5 (\302\253\316\271
p(lt;,Wy)=E>
or
\320\225_1\321\200(\320\270(-,\320\270',)=\321\217 (7.34)
p((i,w)=UNFPNiWr (7.35)
We replace the \320\222
matrix by a matrix P, where
\317\201(\317\213,\316\237) \320\240(0,1)
\321\200(\321\207) P(o,f)
>(H p(if) W
P= \321\200\320\271)
(7.36)
\317\201\316\237,\316\277) \320\240\320\236\320\224)
>\320\232) >(\302\267!)
9 27 27 9
2 2 2 2
45 9
9 18
N,- = 2 2 (7.37)
11 9
9 1
2 2
1 0 0 0
This is, of course, the same matrixwe encountered earlier while investigating
the four-point form for curves. With the 16-point form, ihc input data \316\241
are,
= LPL7
\320\222
(7.38)
where
1 \317\213 0 0
0 0 0 1
11 9
L = M^NF = Q
2
1 (7.39)
2
9 U
-I -9
2 2
pin
\342\200\224 Pll Ph. PTi
\320\222
\316\271 (740)
pSo Pci
\317\201\317\213\316\277
\320\240\320\2311
Pi'c Pn
\316\241\316\257\316\277\"
\316\241\317\212\316\271
\342\200\224
qoi =Pn 4oi \316\24111
II\302\267\342\200\236
\320\273 W
qiu-pix) qn =Poi qi(i -\317\201\342\204\242qi'i =\321\200\320\271
\342\200\224
\320\222 (741)
483- =
'2
= =
q5i
\320\247\320\262\320\276\320\276
-\321\200?\320\271 -p?i -\317\201\317\212\317\212
4\302\267\316\2574=-\317\201\317\212\316\223
Soi =
\342\200\224
sm-pn Pm \320\276\320\264\320\260--\321\200]| \316\257\316\277
\321\214\320\2761\342\200\224
\316\241
sic>J=r poi Su -
pi\302\273 \320\254\321\216-
\342\200\224poi\320\254\320\270-
\321\200\320\276\320\276
B<
=
II
\321\201 \342\200\224
U (7.43)
\342\200\224pnsSi 11 01 \342\200\224
\321\214
=-\321\200?\321\217 \320\254\320\276\320\276\342\200\224
\320\254\320\276\320\276\342\200\224 \321\200 10
\321\200
_
c\302\253 \342\200\22411
S 11 \342\200\224
pOl
_\320\254\321\216 sHi=-p\"\302\253. p 01
\302\273\316\271\316\277\342\200\224 \321\20000
_
from Wi to w/. Figure 7.9b shows the same patch,except that the parametric
variables range from r, to \320\246
and from vk to 1^.We let Bj denote the matrix of
geometric coefficients in the first case and B2 the matrix in the second:
\302\273.i
ty
q* qc 4. q;;
4i*
\342\200\224 q* qi* q>
\320\222
,2 (7.45)
qi* q!v q?
u* q;; q;j
<\317\212\316\257
=
py*
\320\247\321\203*
(7.46)
=
q/; p/i
q,i=py
that
\316\257\316\257,-\316\257\316\257,
and =
4' (747)
^VP'
For the cross-derivatives,we obtain
If Wj
and are
\316\267, successive pairs of integers, then \320\270,-\320\270,-\320\223,
similarly for f(-
i;, W]
-
Wk, and v, - vh. As we noted for curves, is useful when
this relationship
dealing with
arrays of contiguous patches. In Figure 7.10,individual patches
in the array are readily identified by the array indexingschemeof successive
integers.
Qoo = \321\200(\320\270/,\320\270>/)
=
qio p(\",.w*)
(7.49)
qoi =p(\"\342\200\236Wi)
qn =p(uj,w,)
=
qfo=(\302\253j-\"i)p\"(li;.M'*) qw (wi-wk)p\"(uk,wk)
=
(7.50)
qoi (^-\302\253i)p\"(\302\253i.H'i) qoi =(w,-wk)p\"'(Uj,w,)
=
qIi (H/-\302\253,)p\"(\"/.\302\273'/)
New parch
and and
p\"w(u\342\200\236wk),p\"K(uhwi), using Equalion
\317\201'\342\204\242'(\316\257\316\257(,\316\271\316\275,) (748):
- - -
quo (\302\253y \320\270,)(\320\251 wk)p\"\"(u;,wk)
qio =
- -
(\"/ \302\253i)(wi Wk)9m(uhwk)
(7.51)
qSi = (jj; - h,)(>v/
-
w^p'M(uhw/)
qi'i - (Mj
-
u,)(wi- Wi)p>\342\200\236i*i)
(see Figure 7-13),and in the effeclof the twist vectors on the continuity along
this shared patch boundary.ToensureG1continuity across this boundary, the
coefficients of the respective auxiliary curves must be scalar multiples of
Curve \317\201
=
\320\240|\302\253.\320\270>) %\316\223 \"\316\241,
Curve \317\201
Curve q
each olher. Given Ihe coefficientsof the auxiliary curve of patch p(u,w)
along p(l.w) (namelyp'fo. and
\317\201\317\212\316\271,
\317\201\316\212\342\204\242,
then
\317\201\316\220\,")
Ihe corresponding
coefficients of
q(u,w) are related as follows: q'oo = <?\317\201\317\212\\>,
q'6o'
=
qi'u
=
\320\264\321\200\"\320\276. 4$'
=
\302\253\317\201\317\212\316\271.
When Ihese
\316\257\316\220\317\201',\342\204\242.
conditions prevail, we find lhal q\"(0,w)= iip\"(l,tv) al any
\320\232
-+- .1.
\"\321\207
1 \316\274\316\271\316\277
\342\226\240
4
\"\316\241\". \"p;;
--1 1
-11IU
disjoint patches
have a total of 96.
At a corner of any patch, four -vectors contribute to its shape throughthe
operation of the basis functions on them. Because the basis functions are
invariant, all the shape-determining powerlies in these four vectors, p(u,w),
p\"(if,iv),p\"'((i,>v), and p\"w(u,w).Four patchessurround and share an interior
corner point of a compositesurface.In many modeling situations, it will help
us to consider thesemeshpointsor corner points as the centers or foci of the
shapingparameters.
Figure 7.15 shows conditions at an arbitrary internal point p,( of a
composite surface where four patches meet. Each quadrant surrounding this
point contains a list of the vectors applied to the patch in that quadrant.
Clearly,all four patches share the commonpointpy. Consider next the
common
boundary curve between patch I and patch II. The tangent vectors in
the w direction must be identical to ensure that the respective boundary
curves do match. The tangentvectorsin the \320\270 direction must only be in the
same direction, differing only by a scalar multiple to
\320\272 ensure Gl continuity
Patch 1/ Patch 1
\302\273\316\256
\302\267*? \342\200\242V
kK \"K\" \"3
*v w \"\320\246
!\320\260\320\270.\320\232
*.*:\342\226\240V/C \"3 \320\223\320\247
along the curve through the point.And since the cross-derivatives affect the
slope along this boundary, as we have seen, they, too, must differ only by a
scalar multiple.
By continuing this analysis for the other patch boundary combinations we
generate the relationships between vectors, as the figure shows.We conclude
that at an arbitrary point pl7, only 14 degrees of freedom are available to
control the local shape of the composite surface (that is, four vectors and two
preserving
a constant scalar-multiple relationship between adjacent auxiliary
1 1 \"i/.i \302\253\316\223,.\316\271
*, k: K,, \320\276
1 i
'm ',-=
i
*f Vm w
1 i 1 1 \317\201\"
\316\275. \317\201,',.. Pi.r.;,
*, *( '\320\223\",,
\316\241\317\213\342\200\236, *... *,., \317\201?..,-., \320\263
\320\240\320\223\320\274.,
1 i \320\263 1
';\302\273 '/\342\226\240\342\226\240 '/- '/\302\267.
*r 1 *!.. 1
\316\275 *\342\200\236\316\233\316\271 '/..
1 \316\234\316\271
\"if \317\201? 1 1 \317\201,\302\267,., 1 1
\321\200\320\223,.,\302\267 \302\253\\.l., \320\252.,
1 1 1 ' 1 I 1 1
r \316\212 '; \320\263 '/ '/
1 1 \316\271
*l V/ ', *,-, *\342\200\236,', '/ *i.j *\302\273'', '/
curves along a curve of constant u-, or wt. Also notice that when \320\270and w take
on integer values at intervals correspondingto the i,j indexing scheme, repa-
rameterization is not necessary,because,for example,ui+i- \321\211~1. In the
figure, only the \320\272
and /scale factors are shown in three of the four quadrantsat
each (,/' node. They multiply the corresponding vectors in the first quadrant
of the node.
The distributionof scalefactors for a 4 5
\317\207
array of patches with seven
+ lpi+f./
\"\316\271 + lpr
\"\316\271 + l./ +1 \"i + lPi+l./ fti + i'; + lPi+(.; + !
created this way usually lacked G' continuity, unsatisfactory for most
applications.
1,5 6.5
\316\271
iyii'ii'
*\302\267[,,\302\267,,,,\302\267,,t\\>t\\.\\\\\\,\\ N\342\226\240\342\226\2401
\342\226\240\342\226\240-\321\207\321\211\321\200\32
\342\226\240I
\316\223\316\271,\316\271|\316\220\316\220\316\271\316\271\316\271\316\231'\316\234
\342\226\240!\320\242/\320\226
jfe^
\316\246
1,1 6.1
17 family of curves
\316\267 in terms of the parameter t. Then, for a typical curve,
1 f- S, 1 V ',
and (7.54)
m \" = I '11
\316\271
The double subscript on s and t denotes their value at the intersection node
indicated.The parameters and
\320\270 w are normalized to map the entire surface
198 The
\342\226\240 Bicubic Hermite Surface
into the unit square in u,w parameter Space. Each s curve corresponds to a
=
\321\200(\320\270)
\320\247\320\224-(\320\270)] \320\240\320\230=\320\223,[7\302\273]
p(u,w) = \302\243
=
F,(w) q,(ii) (7-56)
i l
= s0
f,<w,)
-0 if i*j (7.57)
- 1 if '=/
Composite Hermite Surfaces 199
\342\226\240
p(u,w) = (7-58)
XW',(\302\273>)
p(\302\253,w)
=
J F{u) r,(w) + \302\243/\302\267\302\273 -
\321\206,(\320\270)
\302\243 F{w)
\302\243 F;(u) (7.59)
p\342\200\236
/- I 1=1 i=1j=l
where are
p\342\200\236
the values of at
\317\201
the i,j mesh points.
completely
defined at the outset of the modeling problem.It is likely lhal the
initial data will be in the form of discrete points distributedin some semi-
4;00 = \316\243\320\222\320\224\320\240\320\260
and
\316\234\")
-
Wv\302\253
\316\243 (7-6\302\260)
- \316\241
\320\243 i = 1
\"I /I
f- l/ = \316\271
However, each patch element formed by the two families of curves is the
equivalent of a bicubic patch in the sense lhal, within any quadrilateral patch
element,the interpolation may
be expressed as the familiar
Composite Hermite Surfaces \342\226\240
201
(7.62)
\316\223
_+_._ \342\226\240\320\247--1
I
f
-1\342\200\224r-
I
\342\200\224 __L
--v\342\200\224t\342\200\224! I\342\200\224
L_J
\316\267\342\200\224\320\263 \"T
\316\271
\316\271
.\316\247.
4-4--I--. -J\342\200\224r- i\342\200\224
I
I
\342\200\224
__L\302\267- \316\271
1- +--|-\321\207
\316\271 I
+ \342\226\240
-r -+\342\200\224!
\342\226\240T-t \316\223\"
J__ \342\200\224
-r \\\342\200\224
1\342\200\224I\342\200\224 r
\320\223--\320\223--\320\223- r\342\200\224\317\204
|_4
I
-i 4--f - -I
--1--+-
-r\342\200\224\316\271
it. Now consider the problem of a surface with transitions from a complex
crosssectionto a simple one (see Figure 7.21).The number of pointswe need
to define the simple section is less than for the
complex one. To preserve a
rectangular meshof initial data points, we would have to specify moredata
points for the simple sections than these shapes would otherwisewarrant.
We conclude that the rectangularity constraint requires us to supply \320\256\320\276
much data, and thus it is inefficient. To avoid this, we can use the following
strategy.
We assume thai in most cases we prefer to supply data for a series of cross-
section curves rather than for a rectangular grid on a surface. We let nQ
denote the number of data points required define to the most complex cross-
section curve and m the number of crosssections. A
rectangular mesh
requires m \317\207
nQ mesh points; however, instead of a rectangular mesh formal,
we now allow the model input to consist of the exact number of points
necessary for each cross section individually Thus, we could describea linear
cross-section curve using only two points. Using this approach, the total
number of points required to describe the surface is
\316\235=\316\243\316\267' (7-63)
rectangularmesh.
Insofar as composite surfaces are concerned, we have barely scratchedthe
surface (pardon the pun). The literature abounds with a great variety of
representational mathematics and construction techniques for most modeling
situations.
There are several ways to construct a plane patch, and we will investigate
three of them here. Figure7-22shows the simplest construction, which we
interpret as
= +
\321\200(\321\213,\320\270>)
\321\20000
ur + ws u,w e[0,l] (7-64)
This equationdefinesa plane patch through the point pTO
and parallel to the
vectors rands. It is a specialcaseofthe bicubic Hermite patch. We set all the
1.1
algebraic coefficients in
Equation (73) equal to zero except a^, and
\320\260\320\260\320\264, a0i,
resulting in
= + \320\275\320\260\321\210+
wa0
\320\260\320\276\320\270
\321\200(\320\275,\320\275>) (7.65)
- r, and av, =
identical to (7.64), and we find am - \321\200\321\210,
Equation (7.65) is a]0
s. We can determine the geometric coefficients for this constructionas well:
Poo -
= + s
pixi poi \317\201*
+ \320\263
\321\200\321\216=\321\200(\320\256 pn-poo + r+S
\320\263 = \320\263
\316\241'\317\214\316\277= \316\241\316\277\316\271
(7.66)
= \320\263 - \320\263
\316\241\317\212\316\262 \317\201\317\212\316\271
Pot=s =S
\316\241\316\277\316\271
= s
\316\241\316\252\316\277 pn=s
= \317\213 = 0
\321\200\320\271\320\276 \316\241\316\277?
(7.67)
= \317\213
\317\201\316\257\316\277 \316\241',\316\244'=\316\277
+ s
\321\200\320\274 \321\200\320\276\321\202
s s
+r poo + r +s s s
B = poo (7.68)
r r 0 0
r r 0 0
Figure 7.23 illustrates method of construction. Here we start with
a second
three points, poo, pm, poi- From elementary geometrywe know that three
points define a plane. We construct all the other geometric coefficients from
these points in such a way as to guarantee that the patch lies in this plane.
Using the elementsfrom the figures, we easily assemble the \320\222
matrix:
~~ ~~
poo poi poi poo poi poo
+ Poi \"poo
- -
poo
B = pin
\316\241\316\257\316\277 pm poo poi
(7.69)
-poo
\316\241\316\272\316\271-\316\241\316\277\316\277
\321\200\321\210
0 \317\213
=
l'oi Pm
\"\316\277\316\212
' /oiP\302\253!
\316\232
'\",\316\271^+\316\233\316\271\316\237\316\261.
\316\232
-'\342\200\236\316\241^+\316\257|,\317\201\302\243
+ *,, PS
, =Pqd+ \302\260..pSo
= +
\316\241|\316\270
\316\241\316\277\316\277-,\"',\316\277\316\241\342\204\226
\316\257\316\212\316\257\316\241\316\252\316\271
PTo^mPSn+^olu
We use these tangent vectors as a basisin the planeof the patch and define
the other geometric coefficients as linear combinations of them. We can
define the cross-derivatives or twist vectorsto bezero,or we can define them
by some relationship, such as pig' = (vti
- + - Once
\321\201,(,)\321\200\320\276\321\201
{d-\321\206 <^)\321\200\321\210- again.
we can assemble the elements of-\320\260\320\222
matrix from the figure:
poo poo
+ <Woo + \320\254\320\276
[PS) pr\302\253 eoipoo + /[iip\302\253)
+ flfopoo + Npoo poo + onp&i+bnp;;)
B= pm eiipoo+/np!xi
\320\265\321\216\321\200(\321\216+/\321\216\321\200!\321\216
(7.70)
pHoo + ^\316\262\316\257\317\201\316\264\317\214
\320\24101\320\240\320\2310 0 0
cmp!io
+ f'loprSj + ^npiio 0 0
cnpoo
Cylindrical Surface
A cylinder is a surfacegenerated by
a straight line as it moves parallel to
itself along a curve. Here, we will construct a cylindrical bicubicHermite
patch.
In Figure 7.25, we see a curve whosegeometric coefficients are fpo pj
Po\" Pi\"]''> an^ a straight line defined from pr) to p2. The geometric
of the line in the cubic Hermile format are [p0 -
coefficients straight p2 (p2 pa)
(p2 - po)]7- Using these elements, we readily find the matrix
\320\222 for a patch
defined by the given curve and line:
Line
po P: P: - po p2
-
po
-
pi + P2
- -
B =
Pi po p2 po p2 po
(7.71)
\320\240\320\231 PS oo
LP\" Pi' 0 0 _
where p(u) is any space curveand r is the direction vector of the straight-line
rulings (see Figure7.26).We do not restrict the function p(u) to the cubic
polynomial form. A cylindrical surface is a special caseof a ruled surface.
Ruled 5urface
Qo Qd
-
po 9i)
- Po
po
\342\200\224
B= pi Qi Qi-pi Qi pi
(7.73)
PS q& 0 0
LP? 41 0 0 .
Each parametric curve of constant is
\320\270 a straight line. Thus, a general ruled
surfaceis a linear interpolation between two curves.
The hyperbolic paraboloidis a specialcase,because both families of
parametric curves p(t(,wf) and p(ujtw) are straight lines. Given the four corner
points, we define the eight tangent vectors as straight lines and the four twist
vectors as equal to zero (seeFigure 7.28). From this, the \320\222
matrix follows
directly:
Pi \320\240\320\267
\320\240\320\267
-\321\200\321\200
\321\200\320\267-\321\200\321\200
B= P2 p4 p4-p2 p4-p2
(7.74)
P2P1 p4p! 0 0
.p2-pi 0
\321\2004-\321\200\320\267 0
= + wd(u)
g(u)
\320\240(\302\273,\320\2700 (7.75)
where g(u) is a curve and d(u) is the direction straight line at
vector of a
point on
\320\270 the The parameter
curve. w
gives the distance ratio of the point
p(ti,w)fromg(u) (see Figure 7.29). If u,w e [0,1], then ld(u)l equalsthe length
of the straight line when w = 1. The vector functions g(t() and a(u) in this
form are not necessarily restricted to the cubicpolynomialform.
An alternative expression based on the straight-line rulings joining
corresponding points on two space curves d(t() and h(u) is
210 The
\342\226\240 Bicubic Hermite Surface
p(u,w) - (1 - w)g(u)
+
wh(u)
(7.76)
w[h(u) - g(u)]
=
g(t() +
where u,w e [0,1]. Again, in this form the vector functionsg(u) and
h(u) are
not necessarily restricted to cubic polynomials. Figure 730 illustrates the
vector construction of a ruledsurfacevia Equation (7.76).
Degenerate Patches
shapes. Almost invariably, these strange shapes are the result of an array of
P|'\"f- Pat4)
poo Pm pop
\320\240\321\210
0 Pi'o \316\241\316\257\316\257
\316\241\317\212\316\271
poo poo
\321\200\321\210 \320\240\321\210
pio
\316\241\316\257\316\277 \316\241\316\252\316\252
\316\241\317\212\316\271
pio Pn \316\241\316\257\316\220
\317\201\317\212\316\277
B<d- (7.79)
pSo poo pi',:
\317\201\316\257\316\257\316\271
.\316\241\316\220\316\277pio
\316\241\317\212\316\271
\316\241\316\212\316\244
*Vio
\320\240\320\276.\320\257\321\200\320\256
{0
pio
\316\241\317\211 poo \316\277\316\271
\316\241
Given two disjoint bicubic Hermite patchesp(u,w) and q(ii,w),we can find a
third patch r(u,w) that blends smoothly them, creating a G1
between
continuous
composite surface. We assume the common boundaries are such that
r(0,w)
= and
\321\200(1,\320\270>) r(l,w)
= q(0.w) (see Figure 7.32). The modeling
conditions are a direct extension of those shown in Figure 7.16 for continuity
requirements across a common boundary between two patches. The blend
214 The
\342\226\240 Bicubic Hermite Surface
0, I I. I 0, I I., 0, I I.I
! P,,
Pi\302\273 \"\316\257\316\277 %a I ioi ! iSd 43,
; PEl
\316\241\317\212\316\271
\317\201\317\212\302\260 pt; MlBo i VSi ' \320\272\320\260\320\2478\320\276
\302\253
\320\247\320\225;
patch has
\320\263(\320\275,\320\234')
two degrees of freedom, kt and that
\320\272\321\212 allow us to vary its
shape somewhat.Thereareno restrictions on
p(u,w) and q(u,w).
\320\230
1
-
w2- W|
1- w2
w2- wl
(7.81)
11
lli- \302\253[
1- \302\2532
=
\320\272\320\273
UZ- t(]
0,'
! ! ^Pdi
\316\241\316\277\316\271 \316\271 P\342\200\236 ^p?d
P\302\260i pn
\316\234>\317\212\316\271 \342\226\240
W,
Pod \316\271
Pd, \316\271
Pdo \342\226\240
Pqi p,o Pn PTo \320\230
PS.
\316\2418\316\257 PES PET k'P% *<\316\241\316\252,
*,PI\"a \316\272<\316\241\316\220\316\220
: vs<:
k3ps\302\253 ^m \302\253\320\266
\316\241\316\257\316\277
! \316\241\316\252\316\252
i \320\240\320\247\320\223
\316\241\317\212\316\271
1 1
1 1
\316\241<\317\207>
! ! K|PfjD ! \320\240\321\216
! ! Wo
1 1 \342\226\240
\320\223 -\316\271 h h -r h \317\204 \"I
Pud k,Pui p1D ! ! M?d
1 1
! \320\272\320\267\320\240\320\225\320\276
! P%
\316\247,\316\232\317\205\316\241\316\222\316\252
\"\316\212\316\241\316\252\316\252
I I
'.0
applicable to these surfaces, but discussed under Bezier curves, are not
Points on a Bezier patch are given hy the following tensor product, a simple
extensionof the general equation for points on a Bezier curve:
= e [0,1]
p(u,w) \316\243 Bhi(w)
\316\243\317\201,\316\221\302\273
u,w (8.1)
= (\316\231
\316\271 = II
\316\271
The
comprise
\321\200\321\206
an (m + 1) \317\207 +
(\316\267 1) rectangular array of control points
definingthe verticesof the characteristic polyhedron of the Bezier patch,
which lies entirely within its eonvex hull. B,Ju) and are
5;\342\200\236(w)
the basis
functions, defined in the same way as for Bezier curves.
The general matrix equationfor a Bezier patch is
=
UM\342\200\236PM\302\243Wr
\321\200(\320\270,\320\270>) (8.2)
or
=
p(\302\253,w) U1Xi,lMamxi,lPMX\342\200\236M\302\243(IX(IWiX|
217
218 Bezier
\342\226\240 Surfaces
relationship
to the control points. The Bezier patch need not be describedby a
square array of control points, although we will begin by exploring a 4 x 4
array
of points, which defines the bicubic Bezier patch.
p(U,W)= 4^4*1
\320\2701\321\2074\320\234\321\207\320\264>,\320\264\320\2404.^\320\234^4\302\253 (8.3)
3w(l - wf
P(\".w)=[(l-\3") 3ti(l-ii): 3u2(\\-u) u3]P - (8.4)
3w2(l w)
wJ
where
control
\321\200\321\2154
the end slopes of the boundary curves.Thefour interior points \321\200\320\270,
and
\321\20023\321\202 pjj
\321\20032\321\202
control the cross slopes along the boundary curves in the
same way as do the twist vectors of the bicubic Hermite patch. As this figure
--- w-1
Piu.1)\302\267 curve
P\302\253=Pf1.1)
\320\240\321\206=\320\240(0.0)
- u-1 curve
p{1.w).
\320\240\342\200\2361-\320\240(1.0)
P2 = P 3wX\\-Wi)2
\320\240\321\215 3w,2(\\
-
w,)
(8.6)
Lpi [ \302\273'?
on pb
wherethe singlesubscripts p2,
and so on indicate that these points are
curve-defining.
The
point pj lies on the patch boundary curve puiv, and the
point lies on
\321\200\320\264 curve Points
pi,\342\200\236. p2 and p, control the slopes at either end of
the curve and do not lie on it. Now we canwrite an
expression for a point on
the patchalong the curve \321\200(\321\213,\320\270>,):
Pi
- P2
=
p(u,w,) [(1 u)3 3u(\\-uf 3u2(\\-u) \316\2673] (8.7)
Lp4
(\\-wy
or
Pii
Pl2
p(0,w)=[(l -w)3 3w(\\-w)2 3w2(l-w) w3]
Pi3 (8.9)
.Pk
Pl4
p24
p(u,0)=[(l-u)3 3h(1-u)2 3u2(1-u) u3]
P34
(8.IU)
.P\302\253.
p\"*(u,w)
=
[(-3u2 + 6u~3) (9u2 - 12u + 3)
(~3w2 + 6w - 3)
(9w2
- 12w+
3)
(-9u2 + 6u) (3u2)]P (8.11)
(-9w7 + 6w)
(3^)
For the twist vectors at the patch corner points we have
= + p2z)
Poo 9(pii-p2j-p^
(8.12)
+ \316\24124)
\316\241'\317\214\317\212'-9(\317\20115-\317\20123-\317\201,4
= - - +
\316\241\316\212\316\244
9(\317\2013\316\257 p44)
P\302\253 \320\240\320\274
point in question affect the twist vector at that corner (see Figure8.2).
8.3 A 3 \317\207
5 RECTANGULAR ARRAY OF CONTROL POINTS
Figure 8.3 has a three-point Bezier curve along boundaries - 0 and \320\270
\320\270 - I
A3 5 Rectangular
\317\207
Array of Control Points 221
\342\226\240
\320\240\320\263\321\215
\320\240\320\263\320\263
\320\240\320\263.
+ \320\240\320\263\320\263)
\342\226\240\321\200\320\2325-9(\320\240\321\206-\320\240\320\263'-\320\24015
and a five-point curve along boundariesw = 0 and w= 1. The equation for the
= 0
\320\270 is
boundary along
Pi \316\271
=
p(0,\342\204\226) [(l-\302\273')2 2w(\\-w) w1] piz (8.13)
pis
Psi
for B, obtaining
B=Mf-1MflPMBr[M/]-1
Degree Elevation in a Bezier Surface 223
\342\226\240
(8.18)
Here we see that the tangent vectors and are equivalently
twist vectors
expressed in terms of points defining the vertices of the characteristic
polyhedron. The tangent vectors are given solely in terms of pointson the
boundary
of the polyhedron, while the interior points contributeonly to the twist
vectors.
A similar process appliesto convert from Hermite to Bezier. Thus,
P = Mi'MfBM/[Mj]-1 (8.19)
applied
to Bezier curves (see Section 4.2). We begin hy adding control points
in a way that does not change the shape of the patch.To elevate the degree
of the Bezier patch in the \320\270 direction, we begin by equating the two shapes
+ i I,
\316\240, ,\342\200\236
\342\200\236
\316\243 flii\302\273(\",)=XZpA\"-(u)^(w)
\316\243^\316\233-^\316\271\316\257\")
= 111=0
\316\271 =
\320\263-();()
= 1- (' = 0,. . . jn +I
1\320\233\320\240*
+ 1
\342\226\240P-i,+
1 = 0,. . . ,/? (8.20)
m m+ j
+
i = 0,... ,m
1 (8.21)
\"*-ui*- '-^r j = 0 + I
\316\267
224 Bezier
\342\226\240 Surfaces
Pi - U - \316\271
Pi-
+ 1
\321\217 i = 0,.. ,m +1
1 -
\320\270
=
\316\234\316\241\342\200\236
m+ 1 m+ 1 Pij-i P'j 1~-
. ,\302\253+1
n + 1
(8.22)
Palch 1 Patch 2
\316\241
13 \316\241>4 \316\241
Pll \316\241
2
\317\204--
\316\241
6 \317\201
7
-\316\271
I. . 1 - -
\316\223_-
\316\271
\316\271
\320\240\320\263\321\215
\320\240\320\2634|
\320\240\320\263>
\320\240\320\263\320\263 1 \320\240\320\263\320\265
\320\240\320\2637
\316\271 ,
\316\271 1 \342\226\240\316\271
\316\231
pj
\320\240\321\215\321\215
-
Pi \316\271 \320\240\320\267\320\263 Li*
-\342\200\2241- ,
\320\24035 \320\240\320\2557
\316\271. 1
_--_\317\204
1
\316\231
\316\241\302\253
| \316\241\302\253\316\271
! \316\2414\316\257
P41 P\302\253 j \316\24146 \316\24147
.,
\316\223
points /
'\"
Set of collinear Points defining the
boundary curve
1 \316\2311
' \342\200\224\"Tt
H^ u
\316\212 - hU \320\263
L \316\267
'
,
\316\271 1 \342\226\240
1 1 j \316\271 \321\201
j
1
r-i \320\263
\316\212 I \317\200 n
\316\223
1
1
1
LJ L 1 J L J
J L J
\320\263 \316\271\316\271
II \342\226\240 1
\316\243 Bj\342\200\236(w)
\316\243\316\233</\316\241\316\206\"'(\")
' ~
\"
n(u,w)= ji, (8.23)
patch,
but it isnot itself a tensor product.The properties and effects of the
weights h4
on patch shape are direct analogs of those for the rational Bezier
curve.
226 Bezier
\342\226\240 Surfaces
One way to evaluate curves and points on this patch proceeds as follows.
For a curve of constantparametervalue, say, w = w,\342\200\236we
treat each column of
control points (or each row, if -
\320\270 the characteristic
\316\271\316\267
\320\270\321\214) polyhedron as
control
points defining the characteristic polygon of a rational Bezier curve.
We evaluate each of these curves at w
- the
including
w\342\200\236, computing
corresponding weight. Thus,
2XpA\302\253K)
p, =
= 0,... ,m
^r ,\342\226\240 (8.24)
h, - j>>AK) (8.25)
We
interpret the p, and h, as the control points and weights describing the w
= wa curve on the surface. In general, h{\\jim \317\210
l,so that we may need to repa-
rameterize.
B-SPLINE SURFACES
The
equation
of a B-Spline surface follows directly from the equationof a B-
Spline This
curve. relationship is analogous to that between Beziercurves
and surfaces. Furthermore, we define the B-Spline surface,like the Bezier
surface, in terms of a characteristic polyhedron.The shapeof the surface
= 0/
\316\257 =0
The p,, are control points and are the vertices of the characteristic
polyhedron. The
N;,K(u) and NhL(w) are the basis functions,and they are the same
as those for B-Spline curves.The degreeof each of the basis-function
polynomials is controlled by and
\320\232 L, respectively.
For a nonperiodjc B-Spline surface,we select the values of K, L, m, n, and
compute the t, and tj
knot values just as for curves. We compute NiK(ii) and
array.
228 \342\226\240
B-Spline Surfaces
+
1) rectangular array of points is
se[\\:m+2-K\\
=
UMsP^M^W 1e + 2 - L]
[1 : \316\267
pD(u,w)
\320\275,\320\270>\320\265[0,1] (9-2)
where and
\320\232 L denote that control the continuity
the parameters of the
and W is
- w
wL~2
\\\316\275-[\316\271\316\275\302\243-] I] (9.4)
Elements of the full \316\232 L
\317\207 matrix of control points necessary to fill PKL
/e[i-l :s + K-2]
Pkl = pj
je[t-\\ :t+L-2] (9.5)
The matrix Ms is identical to the transformation matrix for the B-Spline
curve.
,ve[l :m+l]
Open and Closed B-SplineSurfaces\342\226\240
229
ie [I :n+2-L]
i e [(s -
1) +\\):(x mod (m + K-2) mod (m + 1)]
1 1 in ^ jj = 2
1 1
I
( 1
) 1
1 __ \316\271
. .^-\342\200\224.\342\200\224.
\321\214 -j
(a)
Po.6 \316\2414.\316\225.
\317\201\342\200\224 \342\200\224\320\276
\"\316\244
1,1 2.1 3,1
\316\241\"\342\200\224*\342\226\240\316\223
\342\200\224J
1 \316\244\"
P. 1.3 2,3
\320\223 3,3
i L^i
\316\241
\316\241 1 K = L=3
\316\274- m = 4
-\316\227* .i = 5
1,2 \316\2522.2 3.2
\316\241
\316\257
.L\302\267. .J
0>)
the control points and patches. Let us look at some examples. All of the
following examples
are periodic B-Spline surfaces generated by specific
instancesof Equation (9.2).
\",'
m,s \302\267
<\320\254)
When -
\320\232 L quadric B-Splinesurfaceis produced.
- 3, a This surface
If m - 4 and \316\267= a 3 x 4
control points (see Figure 9.1a). 5, then array of
m = it = A
\320\226
m
\321\210\302\260\320\230
i
(a)
Po,f 9* \320\233
\320\255 \342\200\224\342\200\2240
\342\200\224 u . \321\203 1
K = l.= 5
m = A
\320\23131 = 5
\302\253
1
\342\226\240
\321\202*\320\240\321\207
4,1
\342\226\240
\342\226\240\342\226\240
\342\226\240
\342\200\224-< -i I \302\267
> _
\302\267 1 ^. \342\200\224i
Po.0 Pj.o
(b)
Quartic surfaces are shown in Figure 9.3and quintic surfaces in Figure 94.
Notice that as the degree of the basis-function polynomials increases,more
controlpoints define each
patch. This is particularly evident along the patch
and control-point array boundary regions.
It is often more efficient to definea B-Spline
surface with K = L. For
. \342\200\224\342\200\224,
;\302\267> -J
\342\226\240
\342\200\224*
:
..-\342\226\240:\342\226\240
\316\275 \342\226\2401
\342\226\240
1 \342\200\224
\342\226\240. \302\273\342\200\224\342\226\240\342\200\224
\316\227 <' (
(a)
'.6 Pe.6
0 1 1 1I <
\342\200\224\"\342\200\224p
.--\342\226\240-.----Ml
\316\275\302\267\"-;
'\316\271.
L..\342\200\224
-___J
t\342\200\224-
\320\236 \342\226\240
1 - . >\342\200\224 .
\302\273_\342\200\224. \342\200\224\320\276
(\320\254)
2
array of patches requires 25 control points. A 3 \317\207 3 array of patches
requires 36 control poinls, and a 4 x 4 array requires 49 control points.We
find that np
- +
(na 3)2, where np
is the number of control points defining an
\317\207
\317\2000 na array of patches. As na increases, (n\342\200\2363)2 approaches
+ n\\. If the
\342\200\224Q
1.3 2,3
I K-4
(\342\200\224-. J t- 3
11,2 m - \317\200
- 1
| -\320\254\342\200\224\320\247
\342\226\240
, r
B,(
\342\200\224\320\271
\320\240\320\276\320\273 Pi.\320\236
\320\240\320\276.\320\273
\342\200\224\320\276\342\200\224 \342\200\224a-
'
.1-:\302\267 I f 1
\342\226\240'\342\226\240
4,3.Iv\" 1,3 . 2.3 \302\243\342\226\240::\342\226\240
3,3.
[-\342\226\240'.\342\226\240 4.3
-:-. = \320\273\321\202.
- 1. 1
t'-ij:.\",' \".V;\" :,!\342\226\240.\342\226\240;\342\226\240-
\316\271,\316\271r-.;.; 2,\316\271 j.4,1
.:;\\\316\220:\302\267..\302\267\302\267.;\302\2673.\316\271.,\302\267
\316\212,\316\271'\302\267;\317\206..;\302\267,
\320\240\320\276\320\264
- \320\251\320\234
P(m,w) (9.9)
circular cylinder, general ruled surface, sphere, and torus, are discussed in
modifying
the shape of a rational B-Spline surface directly from its definition,
using
the weights and control points.
This
page intentionally left blank
SOLIDS
supporting
a more
complete solid-representation scheme.
There are severalwell-known methods for creating simple solid shapes,
simple in the sensethat the solids are not Boolean constructions or
otherwise complex assemblies simpler solids. The discussionhereincludes
of even
instances and
parameterized solids, sweeps, and solids generated by some
form of nonlinear transformation. Appendix \320\241
and Mortenson (1995)
provide valuable supporting discussions for solid shape transformations.
237
Solids
23\320\222 \342\226\240
Face surlace
\316\241
100
sively fixing combinations of the other two at their limiting values. This
results in the 12 possiblecombinations yielding the defining functions of the
12 parametric edge curves p(u,0,0), \321\200(\321\206.1,0),\321\200(\321\206,0,1), p(G>,0),
\321\200(\320\274,1,1),
\317\201(0,\316\275,1),\317\201(1,\316\275,1),
\316\241(1,\316\275,0), \317\201(1,0,w), p(0,l,w),
\317\201(\317\213,\317\213,\316\271\316\275), and \317\201(1,1,\316\271\316\275).
SOLID
10.2 THETR1CUB1C
source of the term tricubic: Each of the three parametric variables can
+a32iU3v2wi + \342\226\240
\342\226\240
\342\226\240
+\320\260(\320\250 (10.5)
where
U = [u3 \320\2702 it
1]
\\ = [v3 \316\2752\316\275
1] (10.7)
W-[w3 w2 w 1]
=
P(\".v,h>) X \316\243 \316\243 V\302\2734\"'^\"^4\"* (\320\256.8)
/=1 ;= 1 \320\272=1
This equation is compatible with the one we will encounter for the
geometric and
form, more acceptable form of tensor
it is a notation. We can further
simplify this by dropping the summationsigns and adopting the convention
lhal for cubics the range of the indicesis from 1 to 4. so that
=
p1(lw a(,tu4-'v4-V-1 (10.9)
=
\342\226\240
\316\241 F,(u) \317\206) Fk(w)bllk (10.10)
0O1
(a) (b)
tangent
\316\241\317\212\316\277\316\271 vectors jLJLA.
du dv'dw
\316\241\317\212\317\214\316\271
\316\241\317\212\316\257\316\271
PlOl
triple mixedpa
-?\342\200\224
10]
\316\241 I
dudvdw
(10.11)
which we expand to
-
\317\201 F,(u)b[ + F2(u)b2 + fi(a)b3 +
FA(u)b4 (10.12)
The Tricubic Solid 243
\342\226\240
and interpret as
= + + +
\316\241 \320\222\320\224\321\200\320\276 /\320\255\320\224\320\240\302\273
\320\222\320\224\321\200! \320\227\320\224\321\200'/ (10-13)
-
\317\201 F,(u) /vO)b,y (10.14)
which we expandto
-
\316\241 F(u) F,(w)bu + F(u) F2(w)bl2+ F,(u) F3(w)bn + F^u) F,(w)bu
+F2(u) F,(w)b2, + F2(u) F2(w)b22
+ F2(u) F^w)^ + F2{u)\320\240\320\273(\321\213)\320\25423
point. And because the index is even, we assign a one to the geometric
coefficient; the result is p,. For a sur face,given bAi, we obtain \317\201\317\2120.
For a tri cubic solid,
or more compactly as
=
\320\260\321\206\320\272 (10.18)
\320\234\320\260\320\251\320\277\320\234\320\272\320\277\320\2521\321\202\320\260
is the
\320\234
\320\235\320\265\320\263\320\265 Hermite transformation
basis matrix, and the various
subscripted indices denote specific elements of the matrix.
Stanton and Crain (1974) developed a slightly different approach, treating
the 64 hyperpatch parameters as 4 sets of 16 parameters.This allows us to
understand more easily the basis-function properties and the relationship
between patches and hyperpatches. They beginby defining three distinct but
equivalent forms: the familiar algebraic and geometric forms, and a point
form where p(u,v.w) is given at tbe points of the parametric vari-
one-third
ables.The point form thus requires 64 points to be complete.Theseformsare
given as the following triple summations:
F\",(u), F\"(v), F\302\243(w) are basis functions applied to the algebraic coefficients,
defined by
= \320\2703
Fi(u)
= u2
F$(u)
(10.22)
Fi(u) = 1
and similarly for and
\316\275 w.
coefficients, defined by
Fftu)
= -
2\302\253s 3u2 + 1
F%(u) = -2u2 + u2
The Tricubic Solid 245
\342\226\240
F%(u)
= ri3 - 2u2 + \320\270
(10.23)
= - \320\2702
\316\257\316\2573
F%(u)
(10.24)
-
\320\262. [\321\214,71]
-
\320\2622 [\320\260\320\264
-
(10.25)
\320\262, [\320\260\320\264
=
\320\262, [\320\260\320\264
We
expand them as follows:
\\fim
pooo \320\240\320\276\321\216
\321\200\320\276\321\216
\321\200'\320\276\321\216
Pioo \321\200\320\270\320\276
\320\240\320\272\321\216
\317\201\317\212\316\212\316\277
B,= \342\200\236III\302\267
\316\241 in
\302\253\317\207\316\271
\317\214
\316\241 \316\241\317\213\316\257\316\267
\321\200\320\276\321\216
pooi Pom
\320\240\320\276\320\270 \321\200\320\276\320\270
pioi pin mi
\316\241 \317\201'\316\257\316\271\316\271
B,=
\321\200\320\270\320\273 Pitoi \316\241'\316\277\316\257\316\271
\321\200\320\263
\316\267\"1'
\316\241\316\252\316\277> Pioi plli
\317\201'\316\257\316\271\316\220
(10.26)
pom
\321\200\320\266\321\216 pom
\317\201\316\257\316\272\317\212\316\277
pioo
\316\241'\316\257\316\277\316\277
\320\240\320\277\320\276 Pun
\320\262,- \342\200\236III. nv
\342\200\236\320\270
Pnii)
\321\200(\320\232\320\256 p \302\253\316\272\316\271
\320\240\320\276\321\216
\342\200\236H1V\320\270\320\270- \342\200\224
II HI'
_ pino 1111
\316\241 Piwi \320\240\320\277\320\276
\320\271\320\277
\316\241
\317\201\317\214\316\277\316\271
\321\200\320\276\320\270 \316\241\316\271\316\220\316\271\316\271
111
KU
\316\241
\316\241\317\212\316\277\316\271
\321\200\320\242\320\275 III
\316\241
\320\222,- \342\200\224
\320\235\320\230'
(\302\253\320\270
\316\241 \316\241 pun
\320\274\320\270
\316\241\316\252)\316\212\316\212
\316\267\"\"\"'
. \316\241
\320\232\320\230 Pin
\316\241',\",\", \316\241\317\212\316\277\316\271
= = =
V2-[Pifl],
\321\2001 [\321\200\320\224 \320\240\321\215
\320\253, (10.27)
\321\2004 [\321\200\342\200\236\321\207]
\317\200\342\204\242
\321\200\320\254,
\316\241?\342\200\236 \316\241\316\277\316\271\316\271
\317\201\316\232
pS\302\273 &
\320\240\320\276\321\216 \317\201\342\204\242
\316\241\317\213\316\223\316\277
VW
Pcoi Pq\342\200\236Pool \320\240\320\276\320\270 \316\241\316\2777\316\223
\316\241|\316\271\316\237
\320\240\320\260\321\216
POIQ PSoo \316\241\316\277\316\212\316\277
\317\201;,. \317\201\316\220\316\223
\316\241\316\277\316\220\316\277\"'
\"\316\277\316\257\316\277 \321\200\320\223\320\223,
Pa\302\273 \316\241\316\277,\316\214
\316\2222
\316\241\316\252* \316\241\316\271\316\231\316\237
\316\241\316\220\317\216
\320\262,
\317\201(\317\213.\317\213,\317\213) \317\201(\316\237,\316\231,\317\213)
p(o,j,o) p(o,|,0J
p(J,lo
p(H \317\201(\316\257\316\2570Plj.fo)
Pi
P(i,o,0) p(LLO)
P(i,j,o) pfi,f.o)
I
PI \302\260
At Pi
o,f
\321\200(\302\260'\320\243\320\243
\316\277,\316\271,-
\316\241
\320\227'\320\227'\320\227 \320\227'\320\227'\320\227
P2 =
\321\200(,\320\267\320\264\320\267 \321\200(,\320\243\320\273'\320\243
1 J
\316\271'2
\316\267 2\320\246 111 .
\316\271'2
\320\240(\320\243\320\233'\320\243
\320\227'\320\227'\320\227 \320\227'\320\227'\320\227
I 1 ,.21
\316\271.
\316\271,\316\277,-r\317\201
\316\241
'\320\227'\320\227
pi1 -\321\203
-\320\267
\317\201
,\342\200\23612
\321\200\320\276\320\264
'3 p(4i
\321\200(\302\260'\320\243'\320\243 \320\240(0,.|
111 111 ,1 . 2
\320\227'\320\227'\320\227 \320\227'\320\227'\320\227
\321\200(\321\203\320\273\321\203
-\320\270
LLPs'
11 ,-, 2 2
\321\200\320\237
\320\240|..\320\276| '\320\227'\320\227 \321\200(]'\320\243'\320\243p(Ll|
\321\200(0\320\2241) P(0,1,1)
\321\200^\320\236.\321\203.1 Plafi
,12.
Pf
\316\211 >(11 \320\243'\320\243'1
\320\240\320\267
,22.
p( yy\302\2671
\317\201(\316\231,\316\237,\316\231) P| .1 P(LL1)
p(l,y,l i.f
248 \342\226\240
Solids
Figure 10.5 illustrates the point distribution within the unit cube in
parameter
space.
Because the algebraic coefficients a-llk
are too cumbersome to present this
way, we express them in an
unexpanded matrix format, determining them by
operating on the geometriccoefficients with the universal transformation
matrix M.Thus, we obtain
=
\316\234,,\316\234\316\222^-\316\227
a,\342\200\236 \320\234|2\320\234\320\2222\320\234\320\223+
\320\2341\320\255\320\234\320\222\320\255\320\234\320\223+
\320\234\320\230\320\234\320\222,\320\234\320\223
a,p= \320\2342|\320\234\320\222,\320\234\320\223+
\320\234,2\320\234\320\2222\320\234\320\223+ \320\234\342\200\236\320\234\320\222,\320\234\320\223
\320\2342\321\215\320\234\320\2223\320\234\320\263+
0.291
v\316\240 '
=
a,;1 M3|MB1Mr+Ms2MB2Mr+M1;iMB3M7+MMMBJMr
ailt
= + \316\234^\316\234\316\222,\316\2341
\316\234^\316\234\316\222,\316\234' + \320\234,3\320\234\320\2223\320\234\320\223+
\320\234,,\320\234\320\222,\320\234\320\223
A2 = =
\320\220^\320\263\320\260\320\224 [ail2], \320\220, [a;/J]
\320\2203=[\320\260,\321\203\320\267], (10.30)
or,in general,
=
\320\220* [\320\260(,\320\233 (10.31)
G^M-'NPjN^M\302\2671]1 (10.34)
where is
\316\234 the basis matrix
transform\320\260\320\270'\321\215\320\277 and N is the array of basis-
function coefficients F/1 from Equation (10.24). Thus,
9 27
_27 9
2 2 2 2
9 _45_
18 _9
2 2
N= (10.35)
11 9 _9_
1
2 2
1 0 0 0
(10.23) evaluated at the one-third points. The expanded form of this matrix
is
\302\245\321\214
./1
Ft F\302\247
,3~
\321\200\321\202\320\260- (10.37)
'2 ,\320\2532
\316\220 \316\267\\\317\204\\ \321\211=\320\263 Fill
1 0 0 0
\317\213 0 0 1
=
[\320\237] 11
\342\200\224
9
9
\342\200\224 1
1
(10.38)
2 2
9 11
-1 -9
2 2
1 0 0 0
20 7 4 2
- 27 27 27 27
w 7 20 2 4 (10.39)
27 27 27 27
0 1 0 0
We recognize them as the arrays from Equations (3.37)and (3.38),
respectively.
Computing
the parametric derivatives of the tricubic solid involves
oil
(10.40)
\342\226\240=g^(\302\253,V,40
-
p;;;\302\267,, p(w,v,w)
dw
The Tricubic Solid 251
\342\226\240
^\321\215^*\"^
(10.41)
\320\2553
lC\"= a a a p(\302\273,v,w) (10.42)
Just as these vectors change and control the shape of Hermitc curves and
surfaces, so do they also control the s-hape of a tricubic solid.Thesevectors
control not only the shape of the edges and faces, but also the interior
distribution of the parametric variables. Figure 10.6 illustrates someof the tangent
vectors in place on a solid. Noticethat the triple-mixed partial vectors p,,\342\204\242,\"\342\204\242
\321\200\302\273\321\202
P;\302\253\321\200\320\223'1'
\321\200^-\320\270\320\274\320\262=\320\270\320\274[\321\200\302\253
These vectors
provide a variety of ways lo control the exterior shape of a
solid. By fixing Ihe corner points of a solid,we can create concave and
convex faces at will by
manipulating the tangent and twist vectors. For simple
boundary surface of two joined solids. Figure 10.8 gives the details of the
conditions across Ihe interior of this face. We will have satisfied all required
continuity conditions acrossthe adjoining external bounding surfaces of the
two solids p([(,v,w)and q(u,v,w). Also, we will ignore curvature continuity
and focus on \320\241parametric continuity across this surface. To ensure C\"
continuity,
we must meet the following condition on Ihe commonsurface:
=
qo.,
Piv\342\200\236. (10-43)
=
\321\200\320\270\321\205\321\200\320\270
\320\263>\321\200\320\263*, (\320\256.46)
then the tangent vectors indicated are also normalto the surface.
way,
a paramelric solid supports a Ihree-dimensional curvilinear coordinate
system on which we can define both curves and surfaces,the simplest being
the isoparametric curves and surfaces. An isoparametric curve, for example.
results when we hold two of the three tricubic parametric variables fixed al
someconstantvalues.The curve in Figure
p\342\200\236&11. 10.9 results when we assign \320\270
-
a and -
\316\275 b, where a and b are constants.
In the same figure, we find two
isoparametric surfaces p0V11, and p\342\200\236blr
254 - Solids
\317\201(\",\317\205\317\201\317\204\317\205)
c(0
= u(0 + v(f) +
w(f) (10.47)
In model space, the curve is expressedas
=
c&,y,z) p[u(t),v(t)M0] (10-48)
Curves and Surfaces Embedded In a Solid 255
\342\226\240
Suifacei' = i\302\267,
p\342\200\236fc^
000 \"
Parameter space
000 \316\267
Parameter space
example is shown in
Figure 10.13. The solid has one of its cornersclippedand
defined by a nonisoparametric surface. The surface is convenientlydefined
initially in either parameter space or model space, dependingon the
modelingsituation.
Parameter space
\316\206\316\231\\)2--\316\212\342\200\236
vectorelementsof the algebraic coefficient array A
~
aihl2--->n
ith component oialil2...la
\\h
=
-/\342\200\236 vector elementsof the geometric coefficient array \320\222
ith
component of bjl)2__ hi
p(X\\,Xl,. . . =
,*,\342\200\236) point vector in model space (dependent variables)
[(= parametricvariable(independent variable)
rrijk
= elements of the transformation matrix \316\234
= - \342\226\240 \342\226\240
\342\226\240
\321\205,(\321\211,\320\2702...
.,\302\253\342\200\236)
\316\243 \316\243 \316\243^.^''1\"'\"''' \"\"\"'\342\226\240') (\316\214.51)
=
J, 4\\=l /\342\200\236=1
=
*,(\302\253,.^) \316\243 \316\243\316\275'\"'1\"5''1 ief1:3i (10-52)
=1/2 = 1
/\316\271
4 4 4
\342\226\240
\342\226\240
\342\226\240
x&MuUi \302\253\342\200\236)=
\316\243 \316\243\"'\316\243 Fit(ui)Fb(ud FiSu\bm---i/ieV") :m]
= 1/2 = 1
/l 1,1=1
(10.53)
/r =
-
3, = \320\270? 2u2r
\320\240\321\212{\320\270,)
+ \316\267,
Ft(ur) =
= 4, -
/', \320\270} uzr (10.54)
Z>,:=[1),y,(1)=,y,(I)
260 > Solids
J>1 = 0
\320\270, 1
= 1
\320\270, 1
= 0
\320\274,
\320\255\320\271,
u, = l
\320\255\320\270,
Example 2. =
\317\2002, bicubic Hermite patches
\320\255
=
[1]
\320\254,\320\270
\320\255\302\2532 \317\203\316\257\316\2572
\320\255\316\257
\316\257 \321\215
6,4J =
\342\226\240*,(0,1)
\320\255\320\271
\316\271\320\255\320\271,
Example 3. = 3,
\320\273 tricubic Hermite solids
\320\260
\320\254\320\23724={1][1
,i(o,U),^ui
\320\255\320\270\320\260 \320\255\302\2533
\320\255 \320\255\320\247-0.1\320\224)
b,J44
^ =
*;0\320\224\320\224)
\320\255\320\271?
\320\255\302\2533 \320\255\302\2731\320\2551;2\320\255\302\253\320\267
\320\255
=
\320\231/413 [1 ,,(1\320\2200),^1\320\2501
\320\255\302\2531 \320\255\320\230; \321\215\302\253,\321\215\302\253\320\267
The braces [ ) indicate and separate the operators. The operations do not
forming it into a new shape by using scaling operators. Equal scaling of all
UniT cube
5
\320\222
C=^
UnlL cvlmdei
Figure10.14 Instances.
Instancing a primitive shape is not limited to such simpleprimitives; for
example, note the shape in Figure 10.15.We can transform this section
\316\226
by
equal or differential scaling into an infinite number of instances.Bui,as
specified here, there are certain built-in restrictions: The widths of the top
and bottom flanges will always be equal,and the thickness of the section
will always be one-tenth the height. And look at what happens
to the
circular arcs defined by the bend radii: They become elliptic arcs. This is not a
fatal flaw when instancing,but restricting shape change to three orthogonal
coordinate scale factorslimits the prospects of a modeling system based
solelyon these transformations. Using fully parameterized shapes removes
this limitation.
A few key dimensionsare usually sufficient to define the shapes of simple
objects.If each dimension is an independent variable, then we can producea
particular shape within by specifying the key dimensions
a class of objects or
section in Figure 10.16, for example, we can apply the following restrictions
and easily check them: \321\217,
fc, /z, /, / > 0, Z> < > 2r,
\321\217
\321\201/, and h > 4/.
We can develop parameterizedshapes with variable topologies, such as
(he \317\204\317\204-celled
structure in Figure 10.17, but most parameterized-shape
procedures are restricted to a single topology.
A related scheme,calledgroup technology, came into use in concert with
certain computer-aided manufacturing techniques to encourage
standardization in part design and production. The central thesis and main advantage
of group technologyis that many manufactured parts can be grouped into
classesor families of similar shapes, where individual members are distin-
= numbei of
\320\273 cells
i - wall [hickness
o,b = tell dimensions
f = length
prevent it. For example, we could envision a modeling system that converts any
primitive instance into a boundary representation (probably
an envelope of
surfaces), evaluates it to Boolean combinations of instances, and forms more
complexshapes.
Parameterized-shape
or group-technology models are easy to validate and
use. They are unquestionably concise; however, the number of useful generic
primitives, though large, is limited. Modeling systems built only on this type of
shape means that only a small data setisneeded specify the shape. to
Procedures defining a particular type of sweep flesh out and develop full
the
point-
wise shape representation. They are mathematicallyconciseand often form
the data and analytical framework for subsequentinterpretation as a variety
SSS/SA \320\243///\320\243/\320\233
ZZZZZ2
\320\243////\320\233 VmL\302\267
curve, where the generating curve remains parallel to itself if it is a plane curve.
A general sweep is one whose generatingshape follows some arbitrary
curved path, and which itself may change size, shape, and orientation. Thus,
for solid modelingwe need two ingredients: an object to move and a path to
move it along. The sweeping object must be a curve, surface,or solid,and the
path must be analytically definable.'Hie term generatordenotesthe
sweepingobject,
and the term director denotes the path. Unfortunately, the word
sweep is used as a or
noun, verh, adjective. Fortunately, the meaning is
usually clear from the context.
When does a sweep become so generalized that it is no longer a useful,
intuitive
concept in application? This is a difficult question with no easy
answer. However, we cannot go wrong if we insist on the presence of a
generator shape, a director path, and rules controlling the orientationof the
generator
at each point on the director.
Sweep shapes arc in geometric
important modeling because they
accurately represent
of
a largeengineeringdass and manufacturingobjectsand
processes,
and in contemporary modeling systems they prove to be practical
and efficient for modeling cons tant-ciOss-scetion mechanical parts. We can
use them to detect potential interference betweenparts of mechanisms; for
\316\234 id)
results for most applications, but sometimes the results are expected and
Sweep Solids 267
\342\226\240
\320\236
<\320\254)
\316\257\316\237
(\320\265) ff)
Limil Diane
PD curve
Trans rmed
\320\223\320\276
, \342\200\236
orlhogonal axis
m = !..___!_ aipoinlp,
ld' \" \316\241\"'
on curve
n= I x m
I =
ip'/i
d, * Pi1 (10.56)
m =
Id, \317\207
p'/l
n = I xm
cross section. Positive and negative generator curves are used to create
complex cross sections with high variability in the axial direction.Multiple PD
270 - Solids
Swepi solid
Reference dneciion
Consiam
Cfoss-secriori
(genefarc-f curve
PD curve
Parametric variable
Rotational 5weeps
One way to generate a surface of revolution is by revolving a plane curve
around an axis line in its plane (see Figure 10.25). The plane curveis called
the profile curve, and. in its various positions around the axis,it creates
meridians.The circles created by each point on this curve are calledparallels.
For the simplest case, we let the axis
\316\266 be the axis of rotation and definethe
curve -
x(u) + z(r\316\271)in the \317\207,
\321\200(\320\274) \316\266
plane. Then Ihe surface of revolution has
the equation
=
x(u)
\317\201(\316\272,\316\270)
cos + x(u)
\316\270 sin +
\316\270z{u) (10.57)
Of course, the profile curve might be a general curve, elliptic segment,
circular arc,and soon.
in Figure 10.26. The given or initial elements are a cubic Hermite curve
defined by its geometric coefficients,a unit vector a defining the direction of
the axisof revolution, a vector b locating a point through which the axis
passes, and the angle through
\317\210 which the curve rotates to sweep out the
surface. We would like to find a bicubic Hermite patch that describes such a
surface in terms of these elements. First, we must determinethe scalars k0 and /\321\201,
and the vectors r(( and r,. We do this by solving the following sets of vector
equations:
+ kpa
\320\252
+To-p0 where a-r0-0 (10.58)
and
b +/c,a+11!
=
pi where a \302\267=
r, 0 (10.59)
The condition asserted by
a \302\267-
r0 0 makes a and r0 mutually perpendicular;
similarly for a and r^
From Equation (10.58), we obtain
\320\233\342\200\236=\320\260.(\321\2000-\320\254) (10.60)
= - - \320\254
r0 po \316\234 (10.61)
= - - b
r, p! A:,a (10.63)
Now we can proceed to find the other two corner points p'0 and p',.
Clearly,p'0= b + faa + r'0 and = b +
\317\201\316\212
+ r\\. Thus,
\320\272\320\263\320\260 we must determine r'0
and \320\263',
(see Figure 10.27).
The unit
tangents lo the circular arc al p0 and p'0 are denotedby to and t'0,
respectively We will have to determine thesevectorslo find the final tangent
vectors at these points.The unit vector in the direction of the vector product
of and a
\320\223\321\206 produces tu, so that
=
r(|Xa
t0 (10.64)
lr0 a I
\317\207
\320\223(1
= I rn
\320\223\320\277 sin \317\210 (10.65)
lr0l lr0 al
\317\207
or, simplified,
. . r0 \317\207
a
r0= r0cos\\ii + lr0l -smf (10.66)
lr0x al
We can also define (he unit tangent vector to as the sum of two
components in the directions of tfl and r0:
to = cos
t\342\200\236 \317\210-\316\263--sin \317\210 (10.68)
lr0l
or
a
\317\207 .
\316\223\316\267
= \342\200\224 \320\263
r\342\200\236 cos - ~r0 sm
\317\210 \317\210 (10.69)
lr(l al
\317\207 \342\226\240i\"oJ
points of the arc. We will do the same now.We find p2 by computing the
intersection of the two straight lines p0 + /nto and po + iiit0. By symmetry, we see
that = -\321\202.
\316\267 Furthermore,
po + \342\204\242t0=pO-mto
and
Ipo-ppl
m =
itn + t;j
Ipo-pol
= +
p \320\273P\302\273
Ito + toi
1 - cos p2-po
(\317\210/2)
pu=4lr0l sin - (10.70)
(\317\210/2) Ip2 Pol
and
1 - cos (\317\210/2) po-p;
41\320\2630
\321\200\320\276\",=
sin - (10.71)
(\317\210/2) lp \320\276 pz'
We use this same procedure to
and
\317\201',\316\214 pjl, at the other end of the
find
Next, we compute (he tangent vector p^, which is, of course, the result of
rotating pi!through the angle around
\317\210 a. First we sec that lp;(il
=
Ip'ol (see
Figure 10.28). Also, vectors have identical projections on the unit vector
both a,
so pm =
\302\267
a \302\267
a.
\316\222
\317\201
We use the symmetry of the construction and realizethat the
projection of \321\200\321\210\"
onto the unit vector in the direction of r'0 has the same
magnitude as the projection of po onto the unit vector in the direction of r0. Now
we are ready to define p^ as the sum of its components along a and t'0
t=t(u)
Then Ihe deformed curveis
p'= r[t(u)}+Pim (10.73)
where 1 = r1, m= 1. and
\317\207
\316\266 is (he
\316\266 unit vector in the direction.
\316\266
p', =
m(m' + nn'
(10.74)
Axial Deformations
of Ihe
Axial deformations are a generalization methods discussed in (he
preceding sections. This technique controls shaping operations, such as scaling,
bending, twisting, and stretching, hy reference lo some convenientaxisin
which wc induce the desired deformations subsequently lo be passedon lo
the model. Lazarus, Coquillarl, and Jancene (1994) have worked in this area,
drawing on earlier work by Borrel and Bechmann (1991),Welch and Wilkin
n/
)p;
Pi
\316\271 m
\302\273. ^- *\342\226\240
\317\207
Spline curves and surfaces, then axis deformations are simply passed on to
these points. Each control point is \"attached\" to a point on the axis and
located within a local coordinate system defined at that point. This may he
the Frenel frame,usedas in the work of Lossing and Eshlcman (1974),or a
frame such proposed by Bishop (1975)orKlok(1986).
as that Next, the axis
is deformed to achieve the desired resultsin the model. If the axis itself is
defined hy control points, then the points may he movedto producethe axis
deformation. Finally, transformed model control points are computedand
used to represent and compute the deformed model.
Bfvariate Deformation
We can create a deformed shape by defining it in an embeddingspace.
Deformations of this space are passed on to the object. For example,we
define a Hcrmite, Bezier. curve c(r)and emhedit
or B-Spline in a normalized
parametric plane defining the domain of the parametric variables ti,w (see
Figure 10.31). We define a bivariate surface, p(u. w) in the \320\273-,plane
\321\203 or in .\316\275,
\316\266
\321\203, space. Then we map the curve
=
V, p[u(t),w(t)] (\320\256.75)
TVivariate Deformation
=
p\302\243 p[\"(0. v(0\302\267w(0J (10.76)
278 - Solids
p{u,w)
(b) in 2D
p{u,v,w)
in 3D
\320\230
DeformableSurfaces
Celniker Welch and
(1992) describe a method for sculpting B-Splinesurfaces
that leaves a set of local geometric constraints invariant,such as interpolated
points and curves. Their method seeksto achievea fair shape by minimizing
a global energy function.They demonstrate how to constrain any parametric
point to a fixed location;a parametric curve embedded in the surface to
maintain fixed contours in the world coordinate system; and how to
constrain surface normals on the surface.
along a parametric curve
Relatedwork in this area includes and Battels (1993),whose
Fowler
method allows direct manipulation of geometric properties and
relationships
to control surface shape, rather than to control verticesor deformation
lattices. Also see Battels and Bcatty (1989), Clark (1976), Coquillart (1990),
(1982), Serano and Gossard (1987), and Witkin, Fleischer and Barr (1987),
among others.
This page intentionally left blank
COMPLEX MODEL
CONSTRUCTION
the
associating curves and surfaces that comprise the boundary ofa solid.
In the
early chapters, we discussed the basic elements of a geometric
model: parametric The and implicit curves, surfaces, and solids.Appendix \320\241
281
282 \342\226\240
Complex Model Construction
Complexmodels require
considerable attention to their topology. We must
understand how simpleelementsare connected lo form the complex model
and how its topology is preservedwhen subjected lo a variety of
transformations.
Topological properties are not metrical, but concern such things as
connectivity
and dimensional continuity. The properties of geometric shapes
that are invariant under transformations that stretch, bend, twist, or
compress a figure, without tearing, puncturing, or inducing self-intersection, arc
topological properties. The properly of being an open or closed curve or
theorem, and define the concept of total curvature. Hubert and Cohn-Vossen
(b)
(d)
'
(e) (f)
a powerful
crossing points, capability
A simple exercise demonstratesthe link between local and global
information contained in the theorem. We can walk arounda closed path, perhaps
as defined set of written instructions,carefully
by a accumulating our total
turning (taking clockwise as positive).If we complete the circuit and find on
returning to the startingpoint that the total turning does not equal \302\261360\302\260,
then we can assert that somewhere the path must have at least one crossing
point. Although we do not know where the crossingpoi\302\273ts are and we were
observe them while
unable to the theorem
traversing the path, by applying
we can determinethat one crossing points must
or exist. Thus, the
more
simple-closed-path theorem is an example of powerful principle: It is often
a
possibleto determine global properties by accumulating local information.
This theoremis useful in determining the validity of a model.
stretched, so that the path becomes a square.We can even consider the playye
such a deformation. Many of the changes thai are legitimate (he for
happen with a deformation in the plane. We observe that crossing points are
neither created nor destroyedduring plane deformation.
Plane deformations are more conservative than path deformations. Every
plane deformation is a path deformation,but a path deformation that
introduces crossovers is loo violent to be a plane deformation.Themathematical
term for a path deformation is regular homotopy, while a rubber sheet
deformation is an ambient isotropy, An important observation to make here is that
any simple closed path can be deformedinto a square, and, moreover, this
can be done with a conservative deformation; that is, a plane deformation.
In summary, we ean stale the deformation theorem for simple closed
curvesasfollows:Forany simple closed eurve in Ihe plane, there is a rubber
sheetdeformation of the plane that reduces the curve to a square.
\\ V \316\224 \\- \\ 1
\\ \\V \\ !AXt
\\ \\ O^-ViVr^.
\320\233\320\224?\321\221^\321\206^\321\213-
=\320\250\320\266
\320\272.
^ v
^
j
-\342\226\240*
4-
0*\302\267
/\302\267 /
**
\317\207_
plane (that is, the region may be planar or nonplanar). Figure 11.3 shows a
curve deformed into a rectilinear polygon,wherewe see that the total turning
is reduced to summing clockwiseand counterclockwise turns
90\302\260 or angles.
Angle Excess
74 \302\243=360\302\260
(11.1)
polygonal subdivision.
3. For any topological disk on an arbitrary surface, the angle excess around
the boundary is equal lo the total curvature of the interior.
i\\ E-K where k- 1/r2 (if \302\243ismeasured in radians). For a simple closed path
the surface
\320\276\320\275 of a sphere, total turning in radians is expressed as T-2n-A!r.
where A is the area enclosed by ibe path and r is the radius of the sphere.
In general, for an arbitrary surface, \320\272 is measurement taken at any point
on the surface.Thevalue of \320\272 at a
point is the excess per unit area of a small
patch of surface containing the point. We call the
\320\272 curvature density of the
surface at a point. We use the term density because \320\272 is \"something per unit
area\" and the term curvature density rather than excess density because,
although \320\272 is measured using excess, it tells us how curved the surface is at
the point. To approximate a small patch of an arbitrary surface by a small
patch of some surface we know very well, we observe that within a small
enougharea, almost any surface will appear planar.
We can make an even better approximation by using a small piece of a
sphere. We will choose the approximating sphere to have the same excessper
unit area as the patch of a surface. Therefore,if \320\272 does not change radically
in the small patch, then all of the geometry there\342\200\224angles, total turning, and
so on\342\200\224isvery close to the geometry on a sphere whoseradius is determined
by
-
\320\272 smaller the radius of the approximatingsphere(that
1/r2. The is. the
greater the curvature density), the more curvedis the surface. A football, for
example, is not very curved in the middle; is
\320\272 small there. But at the pointed
ends, the football is curved as much as a sphere of small radius. Fromthe
middle to the pointed ends, \320\272
gradually increases.
Curvature density is a local quantity that is measured in the vicinity of a
point on an arbitrary surface. A global version of curvature density is called
into polygonal pieces. For each polygon, we computethe excess and sum the
excesses for all the pieces.The resultisthe total curvature of the
\320\232 region. Of
course, in order for this definition to make sense, we must be sure that if we
subdivide a regioninto polygons in two different ways, the sum of the excess
of the pieces is the same in both cases.
If the initial region is itself a polygon,the additivity theorem implies that
is
\320\232
precisely equal to the excess around the boundary of the polygon.
Therefore./i kind of excessover the region, with the condition that
is a it is
true for any region on the surface, not just for polygons.
Topology of Models 289
\342\226\240
curvature
changes in the process. Let us explore this process a little more.
Wc start with a sphere and flatten out two regions on it. From each region
we cut out a flat disk and attach a handle in the holes left by the disks. The
handle is topologically cylinder, a but the edges of the cylinder must be
flared out to blend with the flat regions around the disks. The resultis
topologically
a torus
(see Figure 11.5). In other words.
sphere- 2disks + handle = torus
(11\302\2672)
Next, we compute the total curvature on each sideof the equation. The
has - 4\317\200;
\320\232 the disks were - 0. The torus, as we
flat and thus have \320\232
sphere
Figure11.S Sphere
with a handle.
290 \342\226\240
Complex Model Construction
The important fact about spheres with handles is: Any closed surface in
three-dimensionalspace is lopologically equivalent
to a sphere with some
equivalent to a sphere with six handles. What about the object in Figure
11.6b?(Hint:Topologically deform it as shown, then count handles.)
We see from Equation (11.4) thai the total curvature of any closed surface
in three-dimensional integer multipleof4\317\200.This topological
space is an
characteristic of closed surfaces applicable to the synthesis
is immediately of
<a| <b|
Remember that total turning for a closed curve path is always an integer
a
have total curvature equal to multiple of This
2\317\200. class of surfaces is not
significant in geometric modeling.
Knots
by Jordan
\320\241 (1838-1922), although Jordan did not solve the problem
completely.
Even though Jordan's original proof has by now been greatly simpli-
fied. it is still not easy to prove this apparently obvious theorem.The well-
definednotionof inside and outside for simple closed curves has direct
bearing
on many geometric-modeling problems. Incidentally, it is also useful for
those who want to build or escapefrom mazes.
Jordan's theorem also applies to embedded circlesin three-dimensional
in this context requires keeping the endpoints of the string fixed. Bringing
the ends together to form a circlecreatesanother familiar problem, but one
that is easier to handle mathematically
We call a knot trivial or unknotted if it can be deformed into a conventional
circle. special case of the general problem is to determinewhen a knot is
A
unknotted. For example, if we are given a pile of string, how can we tell if a
knot is present? We notice that we cannot distinguish between trivial knots
intrinsically because they are all the topological equivalent of circles. Our
problem
here is to distinguish between various possibleplacements of the
same circle in three-dimensional space, and thus this problem is different from
<a| (\320\253
dimensional Euclidean space and its associated knot group, which M. Dehn
had defined in 1910. Knot theory, however,is very difficult, and many
important unanswered questions remain. We have mentioned
this topic only
because it has another topological characteristic that might prove useful in
geometric modeling.
entirely on one side of each of its polygonal faces. Although convexity is not
294 > ComplexModel Construction
a topological property,
it does imply one: Every convex polyhedron is a
simple polyhedron.
A toroidal polyhedron is a nonsimple polyhedron.
Euler's
Formula
regular
polyhedra.
To prove us digress slightly and explore an application
this, let ofEuler's
theorem to
geometric modeling of a more classical vintage. W e will
determine all
possible regular polyhedra; that is, those polyhedrawith every face
1 1 1 1 \342\200\236,
\342\200\236\320\2
= \316\231+'1<! \316\231_\316\231
= 0
\316\277<\316\247
\316\225 h \320\272 2 4
+
4 2
v/
(\316\227.8)
(3,3,6), (4,3,12). (5.3,30), and (3,5,30) are the only possibilities. They are, in
fact, realized by the tetrahedron, the cube, the octahedron, the
dodecahedron,and the icosahedron. respectively Observe that we did not really use
the fact that the edges of the polyhedron all have the samelength. As long as
the numbers h and \320\272 are constant:, we still have only five
possibilities (up to
stretching or contracting).
Topologyof Models\342\226\240
295
/\320\245\320\226\320\226\320\223\320\233
sides are parallel to the other faces.The two end faces are beveled, or
faceted, merely to emphasizethe properly interconnected grid of edges,
vertices, and faces. The other faces are treated the same way but have more
holes. None of them can be deformed into a sphere.
A connectivity number N is associatedwith every polyhedron. If the
surface of a polyhedron is divided into two separate regionsby every closed path
(loop) defined by edges of the polygonsmaking up its faces, we say that the
V-E+F-2(l-G) =0 (11.11)
where2G =
N, the connectivity number. This is the Euler-Poincareformula.
Conversely, by counting the vertices, edges, and faces, we can determine
the
connectivity and genus
N=-V+E-F+2
(11-12)
G= (-V+E-F+2)
2
Thus, we can deform simple polyhedra into a sphere and the rectangular
parallelepiped with a through hole into a torus. We can also replace more
complicated structures by topologically equivalentpolyhedra.
surfaces. Any surface formed in this way will obviously be flat everywhere
Topologyof Models \342\226\240
297
except possibly along the edges where the piecesare glued together. In fact,
if all the planar pieceshave straight edges, then the glued surface can have
curvatureonlyat the vertices.
straightforward
representation is simply to describe each face separately and keep track
of which edges are adjoining. This data structure is calledan atlas.Figure11.11
shows the atlas of a truncated pyramid. This topologicalatlasis similarto an
\302\251\342\200\224
-\320\232\320\255
respective faces. However, if one arrow points clockwise and the other
counterclockwise, the construction is orientation-preserving. Including
orientation-reversing joints in an atlas enables us to construct new surfaces,
including some mathematical curiosities called nonorientable surfaces.
In Figure 11.13.
we take the collection of matched-edge pairs as the atlas
for a closed piecewise square surface. We label each edge with a pair of
numbers
specifying the face and edge of the face of interest.We number the faces
sequentially starting from 1, numberingthe four edges of each face clockwise
from 0 to 3. For the cube shown, the atlas is
We interpret this as edge 0 of face 1 with matched edge Oof face 2, and so on.
12 3 4 12 3 4
\316\227 \320\263-\342\200\224\316\271
\316\231
\316\271 \316\227 1\342\200\224l \316\227
3 4 4 3 2 1
<al (b|
0 0 0 0
3 2 1 3 3 1 3 4 1 3 5 1
2 2 2 2
\320\276
3 e \316\271
face, the commands to go left or right will generate the same orientation
each time we return to a given point. This potential reversaland confusionis
exactly what happens
on the Mobius strip.
A surface on which left and right are never reversed is orientable, and wc
are able to establish a consistent left and right definitionon the surface.If we
find a path that confuses left and right,the surfaceisnonorientable. We can
point \317\201on the surface S and imagine standing at that point.Next,we decide
which of the two possible rotations to call clockwise; this is called an
orientation at p. Now, we let q be another point on S. (Note: q may equal p.) As we
walk to cf along some path, we keep track of which rotation we defined as
clockwise. This induces an orientation at q; that is, a sense of clockwise or
counterclockwisefor rotationsat q.
There are obviously many paths from to
\317\201 Furthermore,
q. there is not
always a uniqueshortestpath.Different paths may induce different
orientations. If we obtain the same orientation no matter which path we take, then
the surface is orientable.However,if we of \320\260
walk around |he meridian
Mobius strip, we will end up with the opposite orientation from our
original
one. Therefore, we again conclude that the Mobius strip is nonorientable,
and our new definition agrees with the old. We conclude that orientability is
an intrinsicpropertyof surfaces.
Any closed surface that fits into three-dimensional space must be topo-
logically
the equivalent of a sphere with g handles, where g can equal zero.
Now we add another condition,namely, that the surface must be orientable.
A sphere is orientable.and it is not hard to show that adding a handle cannot
change that. Note that the Mobius strip does fit into three-dimensional
strip, it is nonorientable.
rather drastic
operation, but the best we can do in three dimensions.The Klein
bottle will not fit into a three-dimensional space without self-intersections.
If we start with a Mobius strip and close it up by making a second
orientation-reversing identification, we produce another type of surface, the
projective plane. The projective plane is nonorientable and topologicallydistinct
froma Klein bottle.
Topology
of Models 301
\342\226\240
<a| (\320\253
W (dl
Figure 11.14 Atlas of: (a) a cylinder; (b) a torus; (c) a Mobius
strip; and (d) a Klein bottle.
The atlas must specify not only which edges are identified, but also
whether the orientation is reversed. Wc denote this by including or-1, a +1
the transition parity. Figure 11.15 shows several examples of a notation
scheme, including
the transition parity number. It should now be obvious
that simple bookkeeping changes produce dramatic changes in the
topological
properties of a surface.
*\342\200\224\302\273
0
3 1 I'
2 2
\302\273\342\200\224\302\273
(1,01(1,3)
t 1],[11,11(1,2) +1] (1.0)0,2) + I]. 1(1,1)0,3)t 1]
10,01(1,2) til.[(1.11(1,3)-]] - 1]
[(1,01(1,21-1],[(1,11(1,3)
<d|
=
\316\232
\316\243\316\225, (11.13)
!=1
where excessofa
Ej is the around path
the vertex ;'.
this expressioninto
To transform the
simplest, most meaningful terms, we
recall that excess is equal to minus 2\317\200 the total tumijig, and we rewrite the
equationas
\316\232=\316\243(2*-\320\223() (11.14)
<= \316\271
where 7\", is the total turning of a path around the vertexi Factoring out the
terms
2\317\200
(one for each vertex) we obtain
= 2\317\200 -
\316\232 V
^ Ti (11.15)
= 1
\316\271
Topology of Models \342\226\240
303
clarify this expression if we rewrite is using the fact that the total turning
around a vertexis equalto the sum of all the interior angles meeting at that
vertex. over all the vertices gives us all the interiorangles
Summing of all the
surface. Regrouping these anglesaccording
faces in the to the faces they lie
in, we compute total curvature as
F
K^lKV-^ft (11.16)
where/ isthe sum of the interior angles of the face i.
This is a surprising
result because we compute the second term without
knowing how the edges are joined together. Therefore, if we have all the
individual faces of a piecewise flat surface and we know V, we can compute
total curvature without knowing anything about the atlas.
For piecewise square surfaces, the formulais even simpler, since the sum
of interior angles of any face is 2\317\200. Therefore. \320\232 V - 2\317\200
- 2\317\200 F or \316\232= -
2\317\200(\316\275
f).This equation for total curvature does not depend angles on at all! And
we can do even better. Curiously enough, we can compute the total
curvature of
any closed piecewise flat surface without knowing any angles. We
need only know the total numberof faces and vertices and the number of
edges. For a closed piecewiseflat surface with V vertices, \316\225
edges, and F
faces, the total curvature is
K =
2n(V-E + F) (11.17)
Because we already know that = 2\317\200
\316\232 V \316\243\316\257=
-to
\\f\342\200\236prove Equation
(11.17) we must show that the sum be
Xf=]/can expressedindependently of
the particular values of the angles. We do not know much in general about
the sum of the interior anglesof a face, but we do know a closely related
quan ti ty\342\200\224the sum of the exterior angl es. The boundary of each faceisa
simple
dosed
path, so we know that the sum of the exterior anglesis 2\317\200.To
relate the exterior angles to the interior angles,we notice that each exterior
angle pairs off with an interior angle to sum to \317\200
= and
18\317\213\302\260, there are as
many of these pairs as there are edges to a face. Therefore,
= - exterior
f, [sum \316\277\316\257(\317\200 angles)]
= nxf,- (sum of exterior anglesof the face) (11.18)
= \317\207
\317\200 - 2n
e,
where e; is the numberof edgesof the face i. Summing this quantity over all
the facesgives
304 \342\226\240
Complex Model Construction
= (11.19)
Xf, Xe,-2nF
;^ = \316\271
\316\271 \316\271
=
\316\243/, 2\317\200(\316\225-\316\267 (\316\2311.2\316\231)
1= 1
\316\232=2\317\200\317\207 (11.24)
faces on the surfaces not as flat polygons but as topological disks, and edges
not as straight lines but as simple arcs with a vertex at either end, We will
The
definition Euler characteristicraisesa question:
of the If we can draw
an infinite number of different nets on a surface, how do we decide which net
to use in computingthe Euler characteristic? The answer is that it does not
matter which one we choose, because all valid nets on the same closed
surface have the same Euler characteristic.
To prove this, we couldimaginestarting with a particular net on a surface,
then transforming this net into a different one by adding or deletingvertices
or edges. We can do this in several ways.
We single out two elementary net
transformations:
invariant. This means that now we have two topologicalinvariants for surfaces\342\200\224
for any surface? It does,and we may now assert the following theorem: For
any closed surface, the total curvature and the Eulcr characteristic are
related by
=
\316\232 This
2\317\200\317\207. is the Ga ass-Bonnet theorem.
There are two proofs of this theorem. The first is based on the fact thai \320\232
and arc
\317\207 both topological invariants. We start with an arbitrary surface and
deform it into a piecewise flat surface. Since and
\320\232 are
\317\207 both topological
invariants, the deformation leaves them unchanged.Sincewe know that =
\320\232
for
2\317\200\317\207 the piecewise flat surface, then it is true for the original surface as
well. only caveat
The in this proof is that we must show that any surface can
be deformedinto a
piecewise Intuitively, this seems possible.The
flat surface.
approachis to flatten surface the
piece by piece, pushing all the curvature
into the edges between the pieces. Then we flatten and straighten the edges
piece by piece, pushing all the curvature into the vertices. The details of this
procedure are difficult \321\216
express more rigorously, and ihey are not
necessary here. A second proof that \316\232-2\317\200\317\207
is based on a direct computation of \320\232
for any surface and is similar to the way we proved the theorem for piece-
wise flat surfaces.
Euler Operators
Eulerobjects always satisfy Euler's formula. The processes that add or delete
faces,edges, and vertices to create a new Euler object are the Euler operators.
These operators provide a rationa I method for constructing solid, polyhedra-
like objects and ensure that they are topologically valid (that is, closed and
oriented).
The connectedness
of the
boundary surface of a solid is a property distinct
from, independent
andof, the enclosed interior points. Connectivity,
orientation, and the characteristic of being non-self-intersecting are global
properties of the surface and depend on all of its parts. Euler'sformula asserts a
any solid whose surface we can expressas a net of patches, curve segments, and
vertices.To apply the formula, however, certain other conditions musl be met.
Topology of Models 307
\342\226\240
shapes by making the straight edges curves and the faces nonplanar surfaces
does not change the applicability or validity of the formula. Figure 11.17
demonstratesthis with two examples of spherical nets.
Vertices,edges,and faces added to a model must produce a result that
satisfies both the Euler formula and the four conditions mentioned above.In
Figure 11.18a and 11.18b, a cubical polyhedron is legitimatelymodified. In
Figure 11.18c, the formula is certainly satisfied, but notice that edges (1,5)
and (2, 5) do not adjoin two faces. Furthermore, only two edges meetat
vertex 5, and edge (1,2) adjoins three faces.Therefore, as it stands, the ohject in
Figure 11.18c is not a valid solid. We can remedy this situation by adding
edges(3.5) and (4, 5), resulting in a net gain of two edges and two faces.
Edges (1, 2), (2, 3), (3, 4), and (4, 1) no longer define a face. Figure 11.19
shows valid modifications to the spherical nets.
An interesting modification of Euler's formula states that for a three-
dimensional space divided into \320\241
polyhedral cells, the vertices, edges, faces,
V- E+F-H + 2P = 2B (11.26)
5
A
/ \\
\\
\\
1
\320\243 \320\243
1
/
/\320\243 a
S
1
1
1
1 .
\320\270
'2
<a| (b| <c|
<a| <b|
satisfy the original Euler formula. (The individual faces,as as the well
are
interior, each simply connected entities.)
A polyhedron exhibits nine classesof topological relationships between
S\320\243
/
/- \316\233
<a|
/1
/ \320\243
|b|
// /
/
\\
/
> S
W <d|
? M\342\200\224 7
/
\316\223\316\221 ^ / 4N X
\321\203
V-E
V
\302\243
+ F-H + 21>\302\2612B
/ y-E+F=2
X
\316\226\316\233
/
\316\265
\316\275 V: F
F
1
E: V \320\257:
\316\225 E: F
FA
l/
F. V F- F.\\ F: F
F
L._K
v, \302\243, F.
j
E\342\200\236ElrE \302\2432, Ex,
\302\243], \302\243\342\200\236
F\342\200\236F,.F4
^2 \302\2432 Fi
F\342\200\236F5.F. F,,F3,F,
^ \302\2433 F3
^2. ^
l\302\267\302\267,,
\302\243\342\200\236\302\2432,.. \302\243\342\200\236,...
disjoint in loops
\320\273\320\265\320\263-boundary representing holes. This characterizes the
more highly structured systems and offers computational advantages for
complex (multiply connected) solids.
Forsolids represented as planar-faced polyhedra,many economies are
available with graph-based systems. Because all edges are straight-line
segments, we can store them as vertex pairs, and face boundaries as ordered lists
containing all its nodes and enough branches t o maintain connectivity with-
out creating any circuits.
Vertcs
I 2 3 4 5 6 7 {j
I II 1 0 1)000
2 I 0 1 0 0 10 0
3 0 I 0 10 0 10
\320\233 1 0 I 0 0 0 0 I
__- \342\200\224\302\243
5 I 0 11 0 0)01
6 0 1 0 0 J 0 I 0
7 0 0 1 0 0 1 0 I
8 I 0 11 0 1 1 0 I 0
Face
A \320\262 CDF, F
4 0 1 I 1 0 I
a 1 0 1 1 J 0
1 = Connectivity
0= Wo connectivity \321\201 I I 0 0 11
u. D I I 0 0 1)
\316\225 0 I 1 J 0 I
F I 0 11 10.
Figure 11.24 Connectivity matrices for a polyhedron.
314 \342\226\240
Complex Model Construction
(a)
We may represent a graph in many ways. One way uses a list of vertices
(nodes) and their connectivity matrix (branches), as we saw earlier.Another
interesting way uses matrix elements, which often results in
bit vector
considerable efficiency for graph algorithms. Lists may represent a graph by
having a list of adjacent vertices associated with each vertex or node. Figure
11.25b showsa directedgraph with six nodes. Its connectivity (or adjacency)
matrixis
A B CD \316\225 F
A 0 1 0 0 0 1
\320\222 0 0 1 \317\213 0 1
\320\241 0 0 0 1 0 0
D 0 \317\213 0 0 1 0
\316\225 0 0 1 0 0 0
F \317\213 0 0 0 1 \317\213
both a(J and a;i from the matrix. In the case of adjacency lists, we create a
supplementary array to link the double entries of edges and speed the search
process.
Again, a tree is a directed graph with no circuits. A tree has the following
additionalproperties:
1. There is one and only one node, called the root, which no branches enter.
2. Every node except the root nodehas one and only one entering branch.
3. There is a unique path from the root node to each other node(shown in
The terms entering branch, exiling branch, parent node, and descendant
node are all relative to the root node.
Although it
may be trees with roots at the top and
disconcerting to see
leavesat the bottom, Given two adjacent nodesa and
that is the convention.
b, as in Figure 11.26, if the branchis directedfrom a to b, then a is a proper
ancestorofb (sometimes called the father of b), and bis a proper descendant
ofa (a son of a). A leaf node has no properdescendants.
R = iqqj nude
height of node b is the length of the longest path from b to a leaf. We also
notice that the height \316\277\316\271
the tree Ls the height of the root. The level of anode
If the descendants of each node are in order, say, from then left to right,
the tree is ordered.When we study Boolean models in Section 11.3, we will
use a specialtype of tree, called a binary tree, which is an ordered tree where
each node has two descendants\342\200\224a left descendant and a right one. The tree
in Figure 11.26 is a binary tree.
The binary tree in Figure 11.27 is complete. A binary tree is completeif for
2. Visit in preorder the subtrees with roots dL and dR. in that order.
(a)
1. Visit in postorder the subtrees with roots dL and dR, in that order.
2. Visit the rootr.
318 \342\226\240
Complex Model Construction
The discussion of Boolean models begins with a brief review of set theory as
it affects Boolean models and operators. In geometric modeling, when we
Boolean Models * 319
A = B (11.27)
wheneverset A and set exactly the same elements.Two sets
li contain A and
arc
\320\222 in one-to-one correspondence if we can pair each elementin A with
to-one correspondence.
Any set/1 is a subset of setti only if every element in A is also an clement
in B. The symbol \321\201
indicates the subset relationship.Thus,
\320\233\320\265\320\271 (11.28)
menls are all of the elements in A together with all of the elements in B; that
is, the union of A and B. We write this as
C-AuB (11.29)
By the union of two sets, wc mean the set of all elementsin one set or in the
other set or in both sets. For example, if A = [a,h,c) and \320\222
-
[c,d,e,f], then C-
Akj B= [a,b,cfd,e,f].
Notice that there is no repetition of elements in C, even
though
element is in
\321\201 both/1 and B. We may read A kj \320\222as A or \320\222.
Here, the
or is what logicians call the inclusiveor because AkjB includes the elements
that belong to A as well as B.
If we forma setD comprised of elements common to both/1 and B, selD
is the intersection of A and B, expressed as
D=AnB (11.30)
By the intersectionof two sets, we mean the set of all elements, and only
those elements, that are in both sets.Thus, if A = [a,bfcfd},B- [c,d,e,f,g],and
D=AnB, then D =
[c,d].
If/1 and are
\320\222 their difference (or more formally,
sets, then their Boolean
difference) A- B denotes the set of elements i n A that are not also elements
in B. Thus, if A = [a,b,c,d], and \320\222
=
[d,e,f\\, then A-B- [a,b,c] and \320\222 -\320\220 =
[e,f]. C|early,/4 -A = 0.This minus sign does not combine with in the way
\317\205
subsets, then/1 - =
\320\222 A ncB and Au \320\222
= These two identities
ncB).
\321\201(\321\201\320\220
\320\273
\321\217
\320\270
(\320\260)
\320\233-\320\222 \320\237
(\320\220 \320\270
\320\257) \320\237
(\320\233 \320\241>
(c) (J)
Let us consider the real line defined by a continuous set of pointsin F.1,
X = bXuiX (11.31)
where bX denotes the set of boundary points and iX denotes the set of
interior
points.
We are now ready to see how theseconcepts allow us lo use simple shapes
to create morecomplexones.We will use the set operators union (u),
intersection (n), and difference (-), also called Booleanoperators, and the rules
for their application and combination, calledBooleanalgebra.
Boolean Operators
1. \320\220
\320\270 is a
\320\222 set. Closure property.
2. \320\220
\320\270 ~ \320\222
\320\222 \320\270\320\233 Commutative property,
3. (du8|uC =A \320\270
\\j (\320\222 \320\241) Associative properly.
4. \316\221 = A
\317\205
\317\206 Identityproperty.
5. A \\jA = A Idempoiem properly.
6. A\\j cA- \316\225 Complement property.
Intersection Properties
1. \320\220 Is a sei.
\320\263\\
\320\222 Closure properly.
2. \320\220\320\263,\320\222=:\320\222\320\223\\\320\220 Commutative properly.
3. {A ri B) r\\ \320\241 = \320\220
\320\223\\ \320\263,
(\320\222 \320\241) Associative properly.
4. A nE=A Identity property.
5. Ar\\A~A Idempoiem property
6. A r\\cA = \302\247 Complement property
Complementation Properties
and difference to combine simple objects to form more complex ones. The
a<x <b
Open sei
a ^ ^ b
\317\207
\317\207
a Closed set *
A and are
\320\222
parameterized in a consistent direction. In this case, they are
Ob
2 \320\227\320\242
I
\316\271
\316\271
\316\271
L_
i-P^
-\321\213-
\316\271 \316\271 L I
Union: U \320\257
\320\233 Difference: /1-\320\257 Intersection\302\267 \320\224\320\237\320\222
1. Find all the intersection points of the edges of A and B; points 1,2,3. and 4.
2. Segmentthe edges of and
\320\233 \320\222.
Thus, if the boundary polygon of A is
-
parameterized from -
\320\2700 to -
\320\2701 and from
\320\222 = 0
\316\275 to \316\275
1, then the boundary
of A in the example has four segments: e
\320\270
\320\263*\320\263],\320\263*
[\321\206; \320\265[\302\253>\302\253^],
\320\265[\302\2532;\302\253\320\267],\302\253
and \320\270
\320\265
[\302\253jjuj.
also
\320\222 has four segments: e
\316\275
[vj; v3]. \316\275
e [v3; vz], e [v2\\
\316\275 i-'i],
and ve [\316\271\316\257;
\316\275\316\221].
B, point 1.
5. Find the intersecting segmentof B, and trace along it in the direction of
increasing \316\275
to its intersection with A, point 4. At this point, we discover
that we have traced back to the starting segmenton A, but we have not
yet exhausted the list of segments. We have found only one loop.
Boolean Models 325
\342\226\240
-Wangling edge
Set-theoretic Regularized
intersection intersection
A
\320\222 \316\262
(a) ft)
\316\262 \320\262
\317\211 id)
bAniBcbC* (11.38)
So far, have successfully
we accounted for Figures 11.34b to 11.34dof the
set-theoreticintersection effort the regularized
in our to determine
intersection.We must
analyze (bA r\\bB)
now (see Figure11.34a) to determine which
of its subsets are valid subsets of the boundary of C*. The isolated point is a
valid member of bC*,becauseit must always be a member of both (iA \316\267
\320\252\320\222)
perpendicularly
from it a distance e to the right (relative to the direction of
parameterization),
and a similar
point p,_ to the left (see Figure 11.35). We do the
same at a point p2 on segment 2. Next,we construct a table for each segment
to test whether each point pR and p; is inside A or B. For segment 1, neither
test point is insideboth A and S, whereas for segment 2, test point pL is
inside both A and B. This test determines that segment 2 is a valid boundary
of C*.Thisprocedureanalyzes the neighborhood of points on the segment so
that we can properly classify it.
Another, simpler classificationtest is available ifwe adopt a consistent
convention for the direction of parameterization. At p, we compute the
tangent vectorp/' from the A boundary representation and p', from the \320\222
boundary representation. In our example, they are in opposite directions.
We do the same for segment 2, where the tangent vectors arc in the same
direction, From this we conclude:If the respectivetangent vectors at a
C*=An*B (11.39)
Segment InB
\316\231\316\267\316\233
1
Pr 0 1
o-*~ Pi 1 0
P, Pfl
Segment InB
\316\231\316\267\316\233
7
PR 0 0
Pi 1 1
P2 Note1 = yes
L. -\302\273U 1 1
0= no
P\302\253J
where
C* = bC*uiC*
(11.40)
= Valid,, \316\267
(\320\254\320\220
\320\270
(iA
\320\254\320\222) \316\267 \320\270 \316\267
(\320\254\320\220
\320\254\320\222)
\320\270
\320\250)
\316\267
(\320\263/1 iB)
C = AuB (\320\237-41)
C=Mu6flui/lu6fl^MuiBuMu/B (11.44)
\320\222 \320\262
{< ) (\320\254)
A
\320\262
(0
= bB^JiA
\320\270 kjiB
(11.45)
\320\254\320\220
iC* = \317\212\316\233\317\205\316\257\316\260\317\205
[Valid, \316\267
bB)]
(\320\254\320\220 (11.46)
where
Valid ~
\320\254\320\220 not
\320\254\320\220 in iB and part on bB (11.48)
or
Valid \320\254\320\220-\320\254\320\220- \316\267 \320\270 \316\267
[(\320\254\320\220iB) Valid^M bB)] (11.49)
Similarly,
C^A-B (11.52)
to yield
W (d)
Two things are immediately clear from the figure.First.tC* must equal iA -
bB - iB; in the case of our example, two disjoint sets result. Second, C* \317\210
\320\241,
Therefore the
\320\241*,
- 5),is
regularized (A
C*= (bA-bB- \320\270
(iA \316\267
bB) u Valid(M \316\267 \320\270
(iA
\320\254\320\222)
- bB - iB)
iB)
(HAS)
Other relationships
between A and are
\320\222
possible. Figure 11.38 shows a
particularly useful example.Here,objectA completely encJoses B. The
equations just developed verify the results. This is a \\vay to model holes.
If we execute a sequenceof two or more Boolean operations on a set of
objects, then the result depends on the order of the sequence.In Figure
332 \342\226\240
Complex Model Construction
|a) aus
\320\273
\320\262
\316\221
|\320\254) \316\223,\316\222
(\320\241)\320\220-\320\222
Set-Membership Classification
ary of a given set. Three important subsets of any regularized set A are: the
set of all ils interior points,denotediA; the sel of all points on its boundary,
denoted bA; and all points outside ii, denoted cA. Assignment of a specific
geometric
modeling was done by R. B.Tilovc (1980) and others at the University
of
4. Solid interference. Given two solids, do they interfere (that is, intersect
unintentionally)?
lb) Id
\316\262
/
4r
i 4\321\2027
/
47 /
/7
/\317\210-\316\263
/
Id| {e| |f)
the back extension of the line or on the forward extension of the line. Finally,
a point can beto the right or left of a line or curve on a surfacerelative to its
direction \316\277\316\271
parameterization. A simple test for right-left status is to first find
compute
the winding number (see Apostol [1978] or any other calculus textbook).
The sign of the winding numberdependson the direction of parameterization
\321\203\342\200\224\302\260\321\215
/
\316\257\316\261
1 2 1
la) [\320\254)
Id Id)
Inside Outside
\302\253 *-x
la) lb)
- same sign,\317\201
pointing normal, then if and
\317\200
(p q) have the is outside the
solid; otherwise, it is inside (if not on the boundary,in which case\317\201
-
q
- 0).
Figure 11.43bpresumesa solid defined as the Boolean intersection of
half-spacesin \302\243\\Here, we simply test against
\317\201 the set of inequalities
defining Ihe half-spaces. As we proceed through an ordered list of these
we
inequalities, update a status flag on p. As long as \317\201 satisfies each successive
half-space dcfinilion. it is inside the solid, and we so flag it. 11 \317\201
identically
satisfies a half-space limit (for example, p. - e),then we change its slatus to
on the boundary. If the point \317\201 fails any test, the algorithm terminates, and
we
flag the point's status as outside the solid.
Set-membership classification also extends to curves and straight-line
segments and, perhaps most importantly, to straight lines and polygons.Figure
11.44shows the principal relationships hetween two curves and two straight
lines. Detection and computation in Figures 11.44aand 11.44bfor curves,
and Figures 11.44c. Il.44h.and 11.44i for straight, lines are fairly
The
straightforward, remaining cases are examples of overlap. Forstraight lines, dctecl-
overlap because, unless forced to do so, most incidental matches will not mate
identically.
Line and polygon classifications are shown in Figure 11.45: the polygons
represent regularized sets in E2. A
single line segment defining an edge of
polygon
R intersects polygon A in three ways. The membership-classification
function M[ ] subdivides and classifies this line: \316\233-,
is a suhset of the
boundary
of X2
\320\224 is a subset of the interior of A, or \316\247\317\204,
is a subset of the outside or
complementof/1. Several
membership tests these conditions
\316\257\316\277\317\204 were
suggested previously, so we will not discuss them again here.
In Figure 11.46, we see the tangent vector convention,also mentioned
earlier. This convention permits us to locate the directionof the inside of an
la)
If)
lb)
lg)
|h)
id) ii>
always points outward, away from the interioror material of the object.
Then, on overlapping surfaces, we can easilyclassify a neighborhood. -
If \320\277\320\273
nfl, the iA and iB are on the same side, and \316\212\316\221
iB is not a null set. If n,,
\316\267 =
-na, then iA and iB are on opposite sides and do not intersect in the
neighborhood.
Boolean Models 339
\342\226\240
\320\222
\317\207,
\321\2051.\321\2052.\321\2051\321\201\321\214\320\262
\321\210
X2C\\A
X^CcA
V. \321\217
1
\320\226
\\\316\221\302\267
3\316\257
L4ftifl
\320\233/ \320\243
// / j/ \320\262
\317\207
\"\320\262-
-1 *\342\226\240
\302\267\342\200\224
\"\320\273 \317\200
/ ^
/ / \320\243
/\321\203
=\316\267\316\257
\320\260\320\273
three-dimensional solids.
\320\250\320\2501
\320\262
^
\316\212
fej ibj
8oolean Models
the new solid it creates. It only specifies the procedure for combining the
primitive constituents.It doesnot tell us the coordinates of the vertices of
the new solidor anything about its edges or faces. We may know all thereis
to know geometrically and topologically about A, B, and C, but all wc know
about D is how to assemble it. Therefore, this leads us to say that the Boolean
model is a procedural representation, or an unevaluated model If we want to
know more, then we must evaluate the Boolean model, compute
intersections to determine new edges and vertices, and analyze the connectivity of
thesenew elements to determine the model's topological characteristics.
r *_j-
D - fAUBl -C
directed surface is a surface whose normal at any point determines the inside
and outside of the primitive solid. unbounded An surface divides Cartesian
space into two unbounded regions; each region
is a half-space- The Boolean
intersection of an appropriate set of half-spaces
can form a closed three-
dimensional solid.
We
may use directed surfaces defining half-spaces to construct an entire
model. Each directed surface by an implicit equation of the form
is given
f(x,y,z)- 0- The function is zero at the surface and positive insidethe object.
Thus, we define a complex object hy the union of the intersectionofdirected
surfaces:
f=G(n^ (11.56)
belonging to the
object's point set or to its complement, respectively.Fora
fuller treatment sec Mortenson (1989). Parametric surfaces do not formally
define half-spaces, because they do not divide spaceinto two parts in a direct
analytical way They would first have to be converted into implicit surfaces.
Othersystems opera
te with solid, bounded primitives. At any node of the
binary tree, two valid solids combine to producea third valid solid. The
Boolean model of even relatively complex solids is generated quickly in
let denote
\316\240 a primitive object. Here is a
\316\240\316\271 rectangular parallelepiped and
is
\316\2402 a right circular cylinder. 7\", denotes a transformation that scales and
positions the primitives.First,the union operator combines and
\316\223,\316\240, T2l\\z to
produce i'b a hub-like shape with rectangular ears. Next. and
7'\320\224\320\242, '\320\223\320\224\320\242?
Se = ^6 ~ ^7
^4
\302\2736=
- ^5
s2=r3n1uriln2
- -
\342\204\226 S5)
- \320\270
(78\320\2372 \320\237\320\2372)
- \316\267 - -
u \316\2447\316\2402) \320\270
\342\204\226 \316\2442\316\2402)
(7\342\200\236\316\2402 7\320\243\320\2372)
(\316\244\316\230\316\2402
=
(\320\220',-52)\320\277^\320\2372-(76\320\2372\320\2707\321\202\320\2372)-(\320\2238\320\2372\320\270\320\2239\320\2372)
-(\320\223\320\271\320\270\320\2237\320\237\320\263)-(\320\222\320\224\320\270\320\242,\320\237\320\263)
- \317\205 - u 74\316\2402)
(7\"6\316\2402 77\316\2402) (\316\223\302\253\316\2402 (11.58)
7\320\263\320\2372\320\27775\320\2372=7\320\263\320\2372
\316\267
\316\223?\316\240,
-
\316\2445\316\2402
\316\2443\316\240,
\316\244,\316\2402\316\267\316\2445\316\2402=\316\244,\316\2402
A sophisticated modeling system will detect the condition and will not
primitives or subobjects, then the complete boundary of A(OP)B is the sum of the
A-B
AS
AUB-C
11.53a are important, because they are the bounding points of the active
regions of the bounding curves of A and B. There may be more than two
points of intersectionof the two-dimensional boundary curves, depending
on their shapes.
The order in which we perform combining operations in a Boolean model
is important; for example, in general
AuB-C*A-BuC (11.-59)
However, we can randomly mix the order within a sequence subset where all
the operators are rhe samerype without affecting the resulting shape. Thus,
Boolean Models\342\226\240
347
A uB-C=BuA -C (11.60)
or
H-B-C-Du\302\243M-(3uCuO)u\302\243
^-(SuOuC)u\302\243 (11.61)
M-(DuBuC)u\302\243
and so on.To understand order dependence better, see again Figure 11.39.
A geometric-modeling system must accommodate many interesting,
difficult, and potentially pathological situations when evaluating the boundary of
a complexshape. Some of these situations are shown in Figure 11.54. The
union of two disjoint primitives (that is,nonintersecting)appearsin Figure
11.54a; the difference of two disjoint primitivesappearsin Figure 11.54b; the
union of two primitives where one wholly contains the other appears in
Figure 11.54c; the difference of two primitives where the positive primitive
wholly
contains the negative primitive appears in Figure 11.54d;the
difference of two primitives where the negative primitive wholly contains the
positive primitive
appears in Figure 11.54e; the difference of two primitives that
creates two or more new objectsappearsin Figure 11.54f; the union of two
primitives that are tangent appears in Figure 11.54g; and the union of two
primitives that creates inner loops or cavities (bubbles) appearsin Figure
11.54h. Not shown in this figure are the operations^ <jA or A -A Although
the preceding situationsare two-dimensional, each also has a direct three-
dimensional analog.
Somegeneralizations are in order (see Figure 11.55). Modeling systems
use algorithmic equivalents to check the validity of results or to speed
computations. If two closed planar curves intersect, they will intersect at an even
numberof points\342\200\224a tangent condition is not counted as an intersection(sec
Figure 11.55a). If two closed coplanar curves-4 and \320\222
do not intersect, and if
348 > Complex Model Construction
*/ \\ s
1 I
1 1 1 I
rn
1 1 ' 1
a point is inside
\320\276\320\275
\320\222 curve A, then curve is
\320\222 entirely inside curve A\342\200\224the
converse is also true (see Figure 11.55b). If a closed curve intersecis the
\321\202\321\210.
\321\203 \320\273
f S >
\320\266 1* /
*>\342\226\240\342\200\224'
\320\247
>
\321\207 _^s
\342\226\240^
i primitive
\320\237
height values must all be positive real numbers). Other common primitives
are the cylinder, sphere, cone, and torus.These and other examples are
shown in Figure 11.57 with their corresponding parameters (excluding
position and orientation).
The more modeling systems can also generate
sophisticated quasi-
example, the block and cylinder alone have the same descriptive power as
the primitive set consisting of the block, cylinder, wedge, fillet, cylindrical
segment, and tetrahedron if both sets have the same combining and
transforming operators.
The primitives themselves are usually represented by the intersection of a
set of curved or planarhalf-spaces. For example, the primitive block is
represented by the regularized intersection of six planar half-spacesand the
\316\212
\316\227
Cylinder
(\320\254)
|d) Insidefittel
~L\302\267*^
/1
\316\223
\316\227
R>*j
\\
evaluator determines where component faces are truncated and new edges
and vertices are created or deleted. Where boundary elements overlap or
coincide, the evaluator mergestheminto a single element and thus maintains
a consistent, nonredundantdata structurerepresenting a solid's boundary.
New edges are created where surfacesof two combined solids intersect.
The boundary evaluator finds these intersectionsand then determines by
set-membership classification which segments of the intersection are actual
edges of the new solid.The new edges are terminated by new vertices, tha t is,
where the edge intersects a surface. Again, the vertices must be classified.We
Half-spaces: \316\271\316\257\316\257,^\316\257
!\316\220/
nOi shown
will look a little deeper into some of these concepts of boundary evaluation,
using the example in Figure 11.59.
First, we intersect each surface of A with each surface of B; this operation
assumes that both surfaces are unbounded. In our example, there are 36
intersection combinations, with only 10 producing intersection edges. (Note
that
simple tests or heuristic techniques can dramatically reducethe number
of candidates for intersection.) We produce edge eab by intersecting face a
and face b, and list the edges produced this way as tentative edges, or /-edges,
for reasons that will soon be apparent. The list of/-edges is a supersetof the
actual edges of the new solid \320\241The intersecting pair of surfaces defining
face a and faceb are unbounded, making /-edge unbounded,
e\342\200\236b also.
Next, we intersect all /-edges with all the faces to produce points
(potentialvertices) that segment the /-edges. Edge enb is divided intothree segmen Is
by two of the verticalplane facesof \320\257We classify these segments as outside,
inside, or on the boundary of C. Only segments on the boundary are real
edges. Doing this in steps, we first classify each /-edge segment with respect
to each
primitive. Then we use the classifications instead of the primitives,
processing them through the model's binary tree and reclassifying them at
each successive node. At the root node, the segments of /-edges on the
boundary are realedgesof \320\241
Weneed which points near each segmentof a/-edgeare inside
to know the
solid are outside. Knowingonly that a segment is on a primitive is
and which
inadequatefor classifying it at higher levels in a model's binary tree. Using a
F ace b
Neighborhood of segmeni 2 of e^
Side view
\320\233 \320\222
Cytinde
Cylinder
utavirey view
\320\241
ol chamber
Diiierince1
mathematical data of the surfacegeometry on which the face lies, the curve
geometry on which the edge lies and which hounds the face,and the point
geometry (the coordinates) of the vertices.
A
simple b-rcp method
represents solids by means of a set of plane
polygonal faces
(sometimes called polyhedral or tessellated models).The faceedges
are straight lines. This is obviously a special caseof boundary representation
where curved surfaces and edges are approximatedby planes and straight
lines. We are assured of a closedboundary surface by certain topological
relationships
between the elements of a polyhedral net on the surface.Eachedge
is adjoinedby two and only two faces and vertices, with an equal number of
edges and vertices on the ring surrounding any face. Similarly, an equal
number of edges and faces surround any vertex (with the exception of the apex of
a conical-type surface).Theseconditions rule out open, shell-like surfaces.
Finally, the boundary of a solidmust satisfy certain conditions: It must be
closed, orientable,non-self-intersecting,
bounding,
and connected.
R = [R\342\200\236Rb] (1162)
Any point in space has one and only one of the following three properties
with
respect to any region R'\"\":
/
1
\320\247-*
~-fi|
B-reps
<b|
No single face of either the cube or the cylinder defines the entire object;
therefore, every face is a subset of the
complete boundary. face is also
Each
delimits the actual face with its characteristic polygon. There are
computational devices or conventions to indicate on which side of an edge or
delimiting curve the face lies. We have investigated several,and Figure 11.65
illustrates one such convention. Here, the face-bounding curve is
in
parameterized a consistent direction so that the vector \316\267
xt points to the face side of
the curve.
tions for the cube and cylinder. The cylinder to Ihe right of each cube is its
topological equivalent, having the same boundary-segmentation scheme.
Geometricdata for eachobject different, are of course. Strictly speaking, a
cylinder and cube the same topology have regardless of how their bounding
surfaces are segmented. Sometimes, to avoid confusion when diseussing an
object's boundary segmentation, we speak of its topological or
structure.
combinatorial We use the term metric information to mean geometric
information (for example, the coordinates of a point).
In general,topological
structure and metric information arc not
independentof each other. For example,in Figure 11.67, if we make vertex 1 coincide
with vertex 2, then the object is no longer valid. We conclude that a valid
combinatorial or topologicalstructuredoesnot in itself guarantee a valid
object. We must reestablish validity conditions for both metric and
dala.
topological These conditions depend on characteristics of |he representation
\316\252}
\320\273
/\320\243
1
1
L_
j\342\200\224~
>
which the construction processes allow (for example,many schemes are lim-
ited to faces defined by three edges).
There are powerful schemes
b-\320\263\320\265\321\200
where validity must be determined by
meansother computing than face, edge, and vertex relationships. Ordinarily.
theseschemesdescribe solid a as the union of very general facesembedded in
extended surfaces, where the solid's edges are definedby the intersections of
these surfaces. These schemes are not true directed half-spaces, since their net
Boolean intersection is usually not related to the object model, and surface
behavior external from the face is not important.
to and remote We can
B; is, bA \316\267
that In the
\320\254\320\222. two-dimensional example in Figure 11.68, the
intersection consists of points 1 and 2, which are obviously independent of
the type of combiningoperation.Second,
we select the active region ofaspe-
/S
\\
'1^-V
f
\\ I
\\ J /
V
\\
\\
/ /\342\226\240
/ f
y/ K.j
' -~
Figure 11.67
Interdependence
of topology
and geometry.
Boundary Models 365
\342\226\240
\320\234\320\277\320\254\320\222=[\320\270,,\320\2702] (11.65)
This operation divides both curves into two segments. For the union
operation, the active region of bA is tha t segmen t of bA lying outside B. The active
regionofbBis that
segment of bB lying outside A. To the right in this figure
are active regions on the unit parametric intervalsof the respective
boundarycurves. The active region on bA, denoted aA, consists of two intervals\342\200\224
S = [AVB) - \320\241
\321\214\320\274\320\270\320\273|
\"\320\267\321\217
, .
'\342\226\240\320\233\"\320\267\320\273
]
^bS
\",\321\217 \320\272
IS ]
\"\320\260\321\201UJC
1 J
ing Only
those
portions lying outside C. The effect on aA, aH, and is shown
\321\217\321\201
by the bold sections on the unit parametric intervals at the right in Figure
11.69c. The union of the active intervals after any combining operation
always definesoneor more closed loops.
A similar situation occurs with three-dimensional objects. The active
surface
regions (faces) on all the primitives combined to form a solid will define
Space-Partitioning Models 367
\342\226\240
a closed surface. For example, in Figure 11.70the shape consists of [he union
of a
sphere with a skew-truncated cylinder. We denote the cylinder by and
\316\240
\316\271
[he sphere by fl2. We define the cylinder by the combination of three surfaces
whose intersection curvesoutlineand bound lace regions.The union of these
face regions definesthe boundary surface of the cylinder. Points bound
active regionson curves, and curves bound aetive regions on surfaces. The
active regions of the surfaces in this figure are shaded.We decompose the
primitive Ylt (cylinder) into its constituent surfaces and map each of these
onto a unit square in parameter space. Their respective active regions are
outlined. (Remember that we parameterize loops defining holes in the
clockwise direction.) We sec also the primitive \316\2402
(sphere).
The intersection
of bYlt and is a
closed-space
\320\254\320\2372 curve, which appears twice in the
parametric
space representations. First, the intersection curve is associatedwith fl3 or
surface D; second, it is associated with constituent surface A of \316\240,.In each
case, the curve is a function ol a third parametricvariable t, The functions of
t map the curve into the unit square in u,w parameter space from the unit
interval in f
parameter space.
cells; a solid objectis thus a set of adjacent cells. Cell size determines the
maximum resolution of the model.
Two advantages of representinga solidby spatial arrays are often cited: It
is easy to accessa given point, and
spatial uniqueness There are
is assured.
alsodisadvantages: There is no explicit relationship between the parts of an
object, and such schemes usually demand large amounts of data storage.
A ceil in a spatial array is either occupiedby a piece of the solid or it is not.
A ceil can be marked with the binary 1 or 0 to indicate spatialoccupancy.
Early schemes of this type were highly redundant, becauseall cellsof an
object were marked, even though it was highly likely that any particular cells
had the samestateas cellsadjacent to it. Only close to an object's boundary
do chances increase for a change of state.
Quadtrees and their three-dimensional analogs, octrees, suggest a way
to
screen plane of the display. Whereas each node a binary tree has two of
descendants, each node of a quadtree has four.
object. If the object does not uniformly cover the square, then we subdivide
the square into four equal quadrants. If any of the resulting quadrants is full
or empty, then we do not need to subdivide it further, which is true for
quadrant 3 in this example. If any of the resultingquadrants is partially full, we
subdivide it again into quadrants. We continue to subdivide partially full
quadrants until the resulting regions are either full or empty or until wc
reach some predeterminedlevelof resolution. We can arbitrarily declare the
partially full quadrants as either full or a
empty according to conventionwe
establish.
potential array size is 2\" \317\2072\". For the example in Figure 11.72, \316\267 ~ 3, and
height
of the tree is n, then the maximum potentialarray size is 2\" 2\".
2\" \317\207
\317\207
\316\261.
\" \317\204 (0 \320\223\320\236 \342\226\240\320\270
\321\212_
\317\211
\317\211
\342\226\240*-\302\267
\317\207\316\271
ta
\317\203
\320\263\321\207
\320\263\302\273
\316\277\316\271
372 \342\226\240
Complex Model Construction
others have demonstrated algorithms that translate, rotate, and scale octree
models; that combine them using Boolean operators; and that compute
geometric properties
and
perform interference analysis. These schemes, and
variations on them, offer hcuristi-c tools for rapid preprocessing or sorting
modelsbasedonothertechniques.
RELATIONAL GEOMETRIC
SYNTHESIS
Relational
geometric synthesis is anew approach to geomemc modelingand
computer-aided geometric design, it offers an innovative, object oriented,
relationally structured environment that greatly improves the efficiency of
the design processand resolves many long-standing problems. This chapter
begins with an introduction to the characteristics of relational geometric
synthesis, followed by
a discussion of relational model structure,model
evaluation, serialization, and relational entities. A detailed example and several
applications
are
presented.This chapter concludes with a discussion of open
issues in relational geometry.
This chapter was co-authored by Dr.John S.Letcher,Jr.,principal
developer
of relational geometric synthesis, and his associates D. MichaelShook,
Seth H. Porter, and George A. Dickson. They can be contacted at: Aero-
Hydro Inc., P.O. Box 684, Southwest Harbor,ME 04679, (207) 244-7347,
http://www.aero hydro, com.
12.1 INTRODUCTION
Relationalgeometric synthesis (RGS)\342\200\224or relational geometry (KG)\342\200\224is an
373
374 Relational
\342\226\240 Geometric Synthesis
relationships
between the geometric elements (objects) comprising a geometric
model.
3. Supportof a rich and easily extensible set of methods for object
construction.
embedded in surfaces.
5. Methods for construction of accurateand durable joins between surface
objects without performing surface-surfaceintersections.
6. Facility in the construction of para metrically variable modelsinvolving
complex, free-form and sculptured surfaces combined with durable
topology.
7. Compact serialization and storage of complex geometries, in the textual
form of a geometric-representation
language.
5yn thesis
objects. Point objectsare the foundation for any model. Curves are typically
constructedfrom points in a variety of ways or, in some cases, from other
curves.Surfacesare typically
constructed from curves in a variety of ways or,
Capture of Relationships
The conventional CAD design process requires creation
\316\220\316\267\316\265 of a sequence of
geometric objects by execution of user commands. Almost every object
added to a CAD model is created in some definite relationship to one or
Introduction 375
\342\226\240
Embedded Geometry
Many ofthe entitiesin RG provide constructions are explicitly
of objects that
embedded in other objects of higher or same dimensionality,for example:
than necessary so that they deliberately intersect;the solution for the curve
of intersection between themis then determined, and the unwanted portions
of each surfacea re trimmed off a long the intersection.This process has many
difficulties and pitfalls, which for much of the complexity,slow
account
response, and
frequent
lack found in these programs.
of robustness
RG providesseveralrelatively efficient and robust ways to construct
multiple surface objects having precise, durable joins. Often these procedures
are the inverse of the conventional process; that is, first design the
intersection, then build the adjoining surface or surfaces to conformto it.These
methods do not solve all surface-to-surface
joining problems,so projection-
and intersection-based methods are also supported, but they are neededfor
at mosta small percentage of the junctions in typical RG models.
ParametricModeling
Typically,
RG models are constructed so as to have
many durable properties,
combined with many parametric degrees of freedom.Thedurableproperties
result from captured relationships and embedding.They can be qualitative,
topologicalpropertiesor metrical quantitative, properties, or a combination.
The parametric degrees of freedom often can be expressed as coordinate
values, parameter values,or coordinate and parameter offsets of various
point objects which are acting as supports for other geometry. This tends to
permit visual,interactivevariations dragging by point objects. An alternative
is to support numeric variables expressions
and as relational objects on
which geometric elementscan depend. either In case, the ability at a
to work
high level with
parametrically variable models enables rapid refinement and
of
optimization designs, as as adaptation well and customization of existing
designs to satisfy new requirements.
Compact Storage
The serialization of an RG model expresses the complete model structure,
includinginterobject relationships, in an extremely compact form. In part,
the compactnessresults from the use of references to objects to eliminate
redundsneies in the representation. More profoundly, the compactness
results from the expressionofthe modelin terms of constructive
relationships and prescriptions\342\200\224a sort of genetic code for recreating the modelfrom
scratch\342\200\224rather than as all the elaborated detail.
Related Developments
Sutherland's Sketchpad project (Sutherland [1963]) utilized stored references
to point objectsto establishdurable connections between lines. Reference to
378 \342\226\240
Relational Geometric Synthesis
objects by name or address, and geometry languages, were also used in the
APT machine-tool programming system and in Armit's Multipatch, Multiob-
ject, ICON, and TAG projects (Armit [1982]). Some elements of RG may
underlie Boeing'saerodynamics
grid and paneling system (AGPS), a
proprietary grid generation system (Sneppand pomeroy [1987]). AGPS has at least
some entities which reference other objects for their data, achievingat least
one level of automatic Updating. Snyder (1992) presents a procedural-
languageapproachto CAD which
supports rapid regeneration following
changes in
underlying objects. Each of these systems a Howsa scriptto be
executed in order to regenerate a complex
geometry with parametric variations.
Further, there of
are some
examples storing a multilevel r elational
structure of
interobject dependencies, permitting selective updates of only the
portionsofthe modelwhich are actually affected by a change. Armit (J982)
discussesthis capability in a surface modeler,TAG. PADL-2 is a CSG solid-
modeling framework with this feature (Brown [1982]).Gossard,et al. (1988)
describe a dimension-drivenpolygonalsolidmodeler.
Constraint-based and variationalmodelingaccomplish some of the
Updatingcapabilities of RG, but we find their flavor to be quite different from RG,
and their relevanceto free-form three-dimensional modeling to be
model, every object has a unique object name.Object names have utility in
Example: RelPoint
A Relative Point object is instantiated from the RelPoint entity by filling in
the name of a basis-point object, and the x,y,z coordinate offsets from the
basis point.
Example: BCurve
Example: CLoftSurf
A
C-Lofted Surface object is a parametric surface that interpolates a set of
curve objects in sequence. The set of supporting
curves is specified by an
ordered list of objectnames.
RGObject
Surface (24)
Line
(1H Curve (17) *- SubSurf (1)
Bead
(3) Magnet (4) SubSnake (1)
Ring (3)
Figure 12.1 Class hierarchy of relational entities. Numbersin parentheses
represent the current population of each class.
382 Relational
\342\226\240 Geometric Synthesis
which the nodes are objects, and each edgeis a directed relationship between
two objects. 'ITie in-degree of an object is the number of its supports; the out-
degreeis the number of its dependents.
We speak of the set of all objectsto which there is a downward path
through the digraph as the descendants of the object, and the set of all objects
to which there is an upward path as the object's ancestors.
Figure 12.2 the digraphs three simple relational models. Figure
shows for
12.2aconsistsofjust two objects, an absolute point and a relative point.(An
absolute point has no supports; its data is simply its x,y,z coordinates, plus
some attributes commonto allRGPoints.) Figure
12.2b consists of five objects:
four absolute points and a BCurvemadefrom them. Figure 12.2c also consists
of five objects and is similar to Figure 12.2b,in fact may form the identical
absolute configuration. However, in the case of Figure 12.2c, three of the
points are RelPbints, relative to the provides a quite
AbsPoint PO. This
different relational structure, with this possibly useful property: If PO is moved, the
curve will
\320\222\320\241 translate to a new position, while retaining its originalshape.
Model Evaluation 383
\342\226\240
RelPointPI PI RelPoint PI
\320\236 P3 RelPoint P3
\317\203
AbsPoini PO P2 RelPoimP2
(a)
Figure 12.2 Digraphs for three simple relational models:{a) Two objects, an
absolute point and a relative poirkt;
Five
{\302\243>) objects, four absolute points and
a BCurve made from them; objects, one absolutepoint,
(c) five three relative
points, and a BCurve made from the four points.
Object Evaluation
What constitutes the evaluation of an object dependsupon the object's class
and may be implementation-dependent. Each objectcontains a state
purposes
and for export object data in various formats.
of absolute
Variouserrorconditionscan arise during the evaluation of an object; for
the most part, these are entity-specific. For example,the evaluation of an
RGPIane class object consists oi a pointin the plane and a unit normal
vector. One RGPIane class entity is a Plane3\342\200\224the plane determined by three
supporting points. If these three pointshappen to be collinear. they fail to
determine a plane. Another possibilityis that evaluation of one or more of
the supports fails; for example, one of the supporting points may be an Int-
Magnet that failed to converge. Such failures must be detected and
handled\342\200\224the Plane3 object must not be marked as evaluateduntil the
problem
is corrected\342\200\224or nonsense will ensue (assuming some other object depends
on the
plane).
Program structure
RGPoint: out-\316\247,\316\245,\316\226
occurs; else 0.
ITie essential structure of a classe-valuator is simply (pseudo-C):
int err = 0;
return err;
386 Relational
\342\226\240 Geometric Synthesis
Only linear effort is required to indefinitely extend the supported entity set.
Table Lookup
An alternative to recursive evaluation,includedin the previous structure
when LookupEnabled is TRUE, is to utilize the evaluation of an object as a
lookup table. Table lookupshort-circuits the recursion and prevents
duplicate evaluations, enormously accelerating the evaluation process. In the case
of curves, surfaces, and solids, some form of interpolation is needed,as the
Updating
12.4 SERIALIZATION
so on.
The body of the file is a sequenceof objects.Each entity has a method for
writing its data a
to string. An object pointer, that is, the identity of a support,
is output as the name of the referenced object. It is not necessary to output
the object's list of dependents, as this information can easily be
reconstructed when the file is read back in.
The formatfor an object string is essentially as follows:
object
supporting names required to instantiate the object; for example:
AbsPoint object-name /\316\247\316\245
\316\226;
point, curve, surface, and so on: Entity class names signify the name of an
object of the specifiedclass.
Relational Bitities 389
\342\226\240
Three-Dimensional Points
In the Polar Relative Point, the distance and direction from poinl are
specified in terms of spherical polar coordinates.
ProjPointname ..../pointmirror;
The Projected Point is located at the projection of point upon the mirror.
The Mirror Pointis locatedat the mirror image of poinl with respect to the
mirror, that is. two times the displacement of the ProjPoint.
The Offset Point is locatedalong the normalto the host surface of magnel,
starting at the location of magnet,at signeddistanceoffsel.
BlendPoint name
..../{point! wtl point! wt2 .... pointN wtN j;
is logically also embedded in the snake's host surface, therefore can serve
also as a magnet on that surface.
The Relative Bead is a point on the host curve of bead, at the signed
parameter offset dt.
The Arclcngth Relative Bead is a point on the host curve of bead, at the
signed arclength offset ds. When a curve is direclly specified, rather than a
The IntersectionBeadis a
point on the curve designated by bead/curve.
where it is the
intersected
by implicit cutting surface parallel to
which
mirror/surface
passes through point. It' bead/curve is a head, its parameter
location / is used as the starting value for the iterative search; if it is a curve, the
search starts at i- .5.
The followingthreering entities arc parallel to the corresponding heads.
JmRingl
name / ring/snake] ring/snake2;
Magnets
Each magnet class entity constructs a point embedded in a surface.
offsets
parameter du, dv.
el/surface
\316\267 is a magnet, its u, \316\275
position is used for starting values for the
search; otherwise the search starts at -
\320\270 .5, = .5.
\316\275
Curves
three, four or five. Three points create half of a symmetric profile; four a full
NURBCurve name / relabel type knoilisi[ poind wil poind wt2 ....
pointN wtN J;
Xi(l)]. The graph supplies the blending function f(t); in this context, the
*
default graph signifies a linear blend,\320\224()= t.
SubCurve name / relabel bead! bead2;
The SubCurve is the portion of a basis curve \\b(s)betweentwo beads at
positions sn and Si, reparameterized to the interval [0,1]:x(i) =\321\205\321\214[(1
-t)s,) + isi\\.
poinlis any point object, which generally has the bead and ring supports as
ancestors.The Procedural Curve is the locus of point as the supporting
beads.rings,and/or are graphs varied in unison over the t parameter interval
Snakes
An RGSnake class object is a parametric curve with a nominal parametric
range of [0, embeddedin
1]. a surface object. It needs to be emphasized
that a snake by definition lies precisely on the host surface,and that three-
corresponding
curve entities, requiring no further explanation:
The Projected Snakeis the projection of curve onto the surface identified by
magnel/surface, using minor/surface for the projection.
Relational Entities 395
\342\226\240
Surfaces
-
An RGSurface class object is a parametric surface patch \317\207 x(\302\253,v) wilh a
nominal parametric range of [0,t] \321\205
[0.1].
Like curves, surfaces extend
beyond the nominal range and can be evaluatedat any parameter value,
unless the evaluation results in a division by zero. The first support of some
surfacesis Relabel object, a which performs an optional reparameterization
in the v-direction. Specifying
the default relabel, denoted by *, accepts the
surface's default or natural parameterization.
Several surface entities belong to a subclass of lofted surfaces,supported
by an ordered set of curves called master curves.Evaluation of a lofted
surface at a position (u,v) is a three-stage process:
1. Each master curve is evaluated at parameter value u.
2. The resulting points xf.;' = 1... . ,JVare used to constructa lofting curve of
appropriate type.
3. The lofting curve is evaluatedat parametervalue v.
supports are beads (at il and (2, say), they supply a starting value for \316\264
-
at \320\270
X=(]-b)X4(\\-v) + bx2(v)
W =
(l-g)(l-fc)X|(0^^14(l-fl)fc^3f^
The graphs supply the optional blending functions a(v), b(u)\\ the default
graphsare the identities a(v)- b(u)-
\316\275, If
\320\270. the boundary curves do meet at
the corners, the BlendSurf interpalates all four of them.
Relational Entities 397
\342\226\240
The Are-lofted Surface is lofted with circular arcs (see Arc) of the Specified
type, 1 to 6.
\320\241
Loft Surf name /relabel type (curve] curve! curveN j ;
The C-lofted surface is lofted with C-Spline curves (see CCurve)that inter -
The Foil-lofted surface is lofted with standard airfoil sections (see Foil-
Curve). There can be three, four, or five master curves. The first and fifth are
the trailing edge, the third is the leadingedge,and the second and fourth
control thickness and camber.
The Relative surface is a copy of surface, rotated and stretched to span four
new corner poinls. If only pointl is given, the result is a
parallel translation
bringing the (0,0) corner to pointl. If all four corners are given, the
displacement is a bilinear blend of the corner displacements:
x(u,v)
=
xb(u,v) + (1 - u) (1 - \316\275)
-
[\317\207, x,(0,0)] + \320\270
(1
-
v) [x2 - xft(1.0)]
+ it \316\275
[x3- xft(l.l)] + (!-\302\253)
\316\275
[\317\207*-xft(0.1)]
poinl is any kind point object, which generally has the magnels as
of
ancestors. The first kindof Procedural Surface is the locusof poinl as the magnels
Eire viiricd in unison over their (u.v) spaces.
curve is any curve object, which generally has the bead and ring supportsas
ancestors. The second kind of Procedural Surface is the locus of curveas the
supporting beads, rings, and/or graphs arc varied in unisonover the t
parameter interval [0,1]. Any graphs included as supports arc evaluatedat each
parameter
value i. and substituted in order for any real parameters in curve.
5olids
An RGSolid class objectisa parametricsolidhyperpatch =
\317\207
x(u,v,w) with a
nominal parametric range of [0,1] \317\207
[0,1]
\317\207
[0.1]. Solids are not currently
implemented in the MultiSurf product, but are in a development version of
Relational Entities \342\226\240
399
B{w).
Contours
Each Contourobjectisa set of contours cut through one or more surfacesby
a family of parallel implicit surfaces: planes, cylinders, or
spheres.
Graphs
A
Graph object function/(i) over the parameterrange [0,1J.
is a univariate
Graphs are not visible objects, but are used to enrich the flexibility of other
entities. Wherever a graph is required,tbe default graph
* can always be used
to accept some appropriatedefault behavior, for example, the linear graph
- i.or a constant = 1 or = 0. The meaning of the default graph * is
f(t) \320\224\321\201) /(f)
specific to the entity in which it is used.
Plane2name / pointlpoint!;
The
plane passes through pointl and is normal to the line from poinll to
point2.
name
P/\320\260\320\277\320\265\320\227 /point! poin(2 \317\201\316\277'\316\271\316\267\316\262;
Detailed Example * 401
These are planes parallelto the coordinate planes, at the specified X, Y, or \316\226
positions.
Frames
Places: 3
BeginModel;
// 3x4 clofl hull, deck, cabin for GM example
AbsPoinfAl 141 0.000
\320\243 0.000 3.600 :
AbsPointA214 I \320\233
.000 0.000 1.410;
AbsPoint A3 14 \\ J 2.500 0.000 -0.840 ;
nO 13 1 8x4 / * 2 deck ;
EdgeSnake
AbsRingrOll 1/ nO 0.25500 ;
RelCurve
* *
11 I 2()x| / fp_side \320\263\321\200\320\227
;
rop_side rp5
* *
RelCurve rop_afr 11 I 10x1 / fp_afl rp5 rpo ;
RLiledSiirfcabin.fwd II I 10x1 1x10/* fp_fwd top_fwd ;
0 *
RiiledSurf c;ibin_side II I 20x1 Ixl / fp_side rop_side :
RuledSiiifcabiii_aft 11 1 10x1]xl 0 fp_afl / * top_all;
CCurve lop.clr 11 | |0xl / *2 | rpl rp7 rp6 j ;
ler curves; the first is the single point Al,and the other two are three-vertex
B-Spline curves deck beamand transom. T he join between bull and deck is
exact and durable becausethe C-Splines at the adjoining edges on each
surface use the same data points, namely, Al, Bl, CI, and therefore are
identicalcurves.
top_side, top_aft also join each other exactly and durably because they are
constructed using common endpoints. namely, relative points and rp5.
\320\263\321\200\320\227
cabinside joins the other two surfaces exactlybecauseitsend rulings arc the
lines dm3 \342\226\240 and dm5
\320\263\321\200\320\227
\342\226\240 which
rp5, are identical to end rulings on the
adjoining surfaces.
404 Relational
\342\226\240 Geometric Synthesis
Figure 12.3 Example of model of Table t2-t, comprising six a ecu rate Jy
The blended surface cabm_top joins the three ruled surfaces accurately
because it uses their upper edge curvestopjwd, top_side, top_aft
as data,
which lies exactly in the center plane becauseeachof vertices has its
a zero
coordinate.
\321\203
Exact and durable surface joins are accomplishedin this model by three
relational techniques:
12.7 APPLICATIONS
Parametric Variations
Discretization
portion (Vs) of the shaft and hub arc explicitly mode led. T he blade is aBLoft-
Surf with seven master curves: a snake on the shaft plus six FoilSnakes lying
on concentric cylinders.A Fillet surface blends between a snake on the blade
and one on the shaft. One SubSurfon the blade,the complete Fi|let,and four
SubSurfs on the shaft/hub complete the panellation. Many variations in
pitch, skew, rake, chord, thickness, and camber distributions are possible with
Optimal Design
8. Simulation oi scoring system for the entire race series, yielding win/loss
probability
for the scries.
The win probability for the series is of course the single objective for
optimization.
408 \342\226\240
Relational Geometric Synthesis
Animation
Relational models having parameters which cause them to deform in
mechanically realistic ways are a potentially powerful basis for creating
animated scenes. Once a model is developed with a number of parametric
handles, it can be controlled by programming the handles versus time,like a
Figure 12.7 shows a relational shark model which is able to \"swim.\" Two
using the spine as path. Eachof the five fins is also a SweepSurf, sweeping a
snakeon the hodyalonga path.The two handles are programmed with out-
of-phase sinusoidal variations to produce the swimming action.
DevelopableSurfaces
The efficient welded or riveted metal construction of such large complex
shell structures as ships and airplanes requires high precision in metal
cutting
and forming processes. Fabrication is greatly simplified when the
surfaces are is, they can be formedfrom
developable, that flat sheet material by
bending alone, rather than with any degree of in-plane stretching.
MultiSurf provides several surfaceentities that can construct cylinders
and cones, plus the DevSurf entity that generates explicitly developable
surfaces spanning two supporting curves. Developable surfaces made by any of
these methods can be accurately flattened (developed)onto the plane,with
their dependent magnets, snakes, and contours intact. Figure12.8is an
example
of this capability.
structures can greatly benefit from the modeling features and precisionof RG.
Applications 409
\342\226\240
Figure 12.9 shows an exampleof this application. First, a single fair surface
is designed for the complete(nondevelopable) hull surface of a vessel.
Snakes are used to representweld seams dividing the surface up into 12
plates,eachof which will be individual ly
formed from a flat blank by some
compounding process before Each
plate
assembly.
is covered with a Sub-
Surf. The three-dimensional of each
geometry
SubSurf is exported to an
auxiliary program simulates
which the forming process in reverse, yielding
a flattened outline accurate for
cutting of the blank from material, plus flat
(Letcher [1993b]).
410 Relational
\342\226\240 Geometric Synthesis
lb]
Figure 12.B (a) MultiSurf model for hard-chine sailboat made up of 9
developable surface panels, (b) MSDEV expanded panels for hard-chine sailboat,
with positions of stations, waterlines, and buttocks marked.
Open Issues in Relational Geometry 411
\342\226\240
CNC Machining
Numerical-controlled of sculptured
machining parts requires a precise
description of the geometry for generating tool In the future. RG paths.
could well come into use the fundamental as geometry standard for tool-
path generation.Today. NURBS transmitted surfaces
through IGES files are
the most commonform of part description. In order to with communicate
Logical Completeness
Figure 12.10 Chock designed in two dimensions by Peter Smith (The Hinckley
Co.). Model for NC milling made in MultiSurf by George Dickson (Aero-
Hydro). Rendering made with POV-Ray by Ed Stanley (AeroHydro).
models.
Subroutines
Constraint Equations
RG accomplishes
some, but definitely the parametric capabilities
not all, of
typical of constraint-based modeling through its geometric constructions.
With numeric variables and expressions it should be possible to add a quite
general constraint
equation and solution capability. This has not been
explored.
414 Relational
\342\226\240 Geometric Synthesis
object can be viewed, of course, like any other surface, and can support other
geometry. On export,no further fitting is performed.
The trimmed surface is the portion of the host surfaceofmagnet that can be
reached without crossing any of the snakes.Since the trimmed surface
(unlike a SubSurf) does not possessa regular parametric domain, this entity
is subclassedfrom RGObjectinsteadof RGSurface.
It may also be advantageous to implement a classof implicit(nonpara-
metrie) surface entities comprising the typical solid-modeling primitives,so
thesecan be constructed in a relational fashion and positionedand viewed in
MultiSurf before being exported to the solidmodeler.
In the longer range, solid modeling should benefit from adopting the RG
approachto surfacemodeling and providing native support for a significant
set of RG entities. This would greatly enrich the capability of solidmodelers
Conclusions 415
\342\226\240
to deal with free-form surfaces, and would solve many of the precision
problems that arise from approximation-based NURBS modeling.
12.9 CONCLUSIONS
VECTORS
\321\200=\321\200\320\220+\320\2404+\321\200,\320\272 (A.l)
=
\316\241 \\\316\241\317\207
\316\241 \316\241
\321\203 \320\263] (A.2)
or, alternatively,
417
418 \342\226\240
Appendix A
P-
=
\316\241 [' J 4 p, (\316\221.3)
A
To simplify the matrix form, we o-mit the i.j.k,so that
component
as x, or
\321\203 z, respectively, where e, is the correspondingbasisvector.
=
\317\207
X \320\273'\320\265,
(A.5)
or simply
- re.
\317\207
(A.6)
equal.Thus, if aK - bs, ay
-
by, and az - bz, then a = b. Fixed vectors radius (or or
positionvectors)are equal
if and only if their respective end pointscoincide.
Free vectors are equal made to coincideby a translation.
if they can be
W. R. Hamilton (1805-1865) and H. Grassman(1809-1877) developed
the
and
\\kp\\^kVpi+pj+pi fK \321\207
=
Alpl
If < 0,
\320\272 the direction of \317\201
is reversed.
Vector Direction
The direction of a vector is given by its directioncosines(or direction
P*
= \342\200\224
cos a
Ipl
cosp--^-
(A. 10)
420 \342\226\240
Appendix A
Since Ipl =
vpx+pl + p\\, then
\316\241\316\233\\(\302\243\316\224\\(\316\241.\"
so that
cos2 + cos2
\316\261 \316\262cos2
+ 1
\316\263= (\320\220.\320\246)
This means that any two direction cosines are sufficient to determine the
direction of a vector.
Unit Vector
The following notation convention is useful: If \317\201
is any vector, then \317\201
denotes
m\302\243 (a\302\26712)
. \316\241\317\207 . Pv - \320\240\320\263
\320\240\321\203=\302\245' \320\240\320\263~\302\245
\317\201'\316\262\317\212\316\257'
and
= \\
Obviously
pl+Pi+pi-1
= cos
pt \316\262
- cos \316\263
pz
This demonstrates that the components of a unit vector are also its direction
cosines.
Basis vectors
In a vector space the set of vectors can express e, is a
every vector basis if we
VectorAddition
Given two vectors =
\317\201 [px pv pz]andq-[qx qy gj, their sum is the
vector (sec Figure \320\220.\320\227\320\260)
+
\317\201 Q
- + qx)
[(\317\201* iPy + 4.) (Pz + qj] (A.13)
The difference of two vectors is (sec Figure A.3b)
-
p-q=[(Px- qx) ip, <7v) (P( -<?;)) (A. 14)
Scalar Product
The scalar product (or inner product) of two vectors \317\201
and q is the sum of the
productsof their corresponding components:
\342\226\240
\316\241Q =Pxq, +p>>qy +Pt4z (A.15)
If \317\201
- \342\226\240
-
q, then \317\201\317\201
\342\226\240
lplz.If \317\201q- they
\317\213, are perpendicular. The various
scalar products ofthe basisvectors i,j, and \320\272
produce the following:
i-i=j-j=k-k =l
i-j=j-k=k-i =0 (\320\220.16)
i-k-j-Uk-j-O
p-q=p>q% (A.17)
where is
\316\264,*
the Kwnecker delta, and
r\\ if j~k
=
\316\264,1
(A.18)
0 if j*k
The angle \316\270
between two vectors and
\317\201 q satisfies the following equation:
\342\226\240
q=
\317\201 Ipllql cosB (A.19)
so that
-cos-'-P-^- (A.20)
lpllql
Vectors ,423
Vector Product
The vector product of two vectors and
\317\201 q is another vector r:
pxq-r (A.21)
where
-
\320\263 [iP,4z- P-Sh) (P,q* - p*qz) {p*qt- PA')] (A.22)
Itis easy to show that \317\207-
\317\201\317\201 0. Furthermore, if \317\207=
\317\201 q 0, then and
\317\201 q are
parallel.
The expansion of the following determinant also produces the vector
product:
' J \320\272
px q- Px p. \317\201, (\316\221.23)
4x 4i \320\247\320\263
so that
1 - Sin
(A.24)
Ipllql
The right-hand rule gives an intuitive sense direction of the vector \320\263
of the
resulting from pxq. Think of rotating into
q, curling
\317\201 the fingers of your
right hand in this angular direction. Then the extended thumb of your right
hand will point in the direction of r (sec Figure A.4).
pxq = r
jxk-i
(A.25)
kxUj
ixi = jxj =k xk^O
The vector product is useful in
finding the area ol a triangle (see Figure
A.5).The area of the triangle ABC is
\320\220\320\263\320\265\320\260\320\224\320\233\320\222\320\241^-1\320\260\321\205\320\253
(A.26)
2
Triple Product
\320\257, \320\252
\316\241\317\207
P; 4z \320\223;
\317\201\302\2679\316\247\316\223^\316\276,^ (A.28)
where
even
Si*
~ if i,(,k is an odd permutation of 1,2,3.
other
s ~P \"
TT '
- Ipl cos \316\270 (A.30)
\\\\q\\
(A.31)
VectorEquation of a Line
p(u)=p0 + ut (A.32)
An alternative form is
where if e
\320\270
[0,1]. then Equation (A.34) defines a line segmentfrom p0 to p,
(see Figure A.9).
If q(iv) = qt, + ws and s - kt, then the linesthrough p0 and are
q\302\273 parallel.
\302\273q
*-q
Pi
^IP,-Pol
,P|u|
= + lis + wt
p(f/,w) p\342\200\236 (A.35)
with the condition s \317\210
kt. In component form this is
- ya + +
\321\203 wt,
\320\270,\321\207\321\203 (A.36)
+ Us,
\316\266-\316\226\316\261 + wtz
ft-Sxi (A.37)
p(u,w) = p0 + ff(pi
-
po) + w(p2
- pi) (A.38)
The unit normal for this formulation is
(P)-Pfl)x(p2-Pi)
(A.39)
!(\316\241\316\271
-\316\241\316\277)\317\207(\316\2412-\316\241\316\271)\316\231
(p-d)-<U0 (A.40)
Expanding this equation produces
-
(x ds)ds +iy- dy)dy
+ (z- d7)dz = 0
or
dtx +
dyy + dzz - (d\\ + d] + d\\)
= \320\236 (\320\220.41)
Because d1 - d\\ +
dj + d2?,cos -
\316\261 djd, cos =
\316\262 djd, and cos =
\316\263 djd, then
Solution of VectorEquations
The vector equation a + lib + wc - d+ fe
represents of three linear
a system
+ ub
\320\260
\321\203 y + wcy
- dy
+ tey
wc) -
\342\226\240
(bxc) (a + ub + (b \317\207
c)
\342\226\240
(d + te)
(b a =
\317\207 \342\226\240
(b \317\207 \342\226\240
d + \317\207 \342\226\240
e
c) c) (fb c)
\317\207 \342\226\240
a - \317\207 \342\226\240
d
(b c) (b c)
\317\207 \342\226\240
e
(b c)
\317\207 \342\226\240
d - \317\207 \342\226\240
a
(c e) (c e)
\317\207 \342\226\240
b
(c e)
\317\207 d -
\342\226\240 \317\207 \342\226\240
a
(b e) (b e)
\317\207 \342\226\240
\321\201
(b e)
1. p + q^q +p
2. +
\317\201 (q
+ r) - (p + q) + r
3. *(/p) - kip
430 \342\226\240
Appendix A
=
4. + Op
(\320\272 kp + /p
5. k(p + q) -
kp + kq
6. pp-lplz
7. p-rrr-p
8. \317\204-
\317\201 Ipllrl cos \316\270
9. \342\226\240
+ q)
(\320\263
= \342\226\240 \342\226\240
+ \317\201
\320\263 q
\317\201 \317\201
10. (kp)-r^p-(kr)=k(p-r)
11. If \342\226\240
\317\201r-0, they are perpendicular.
12. If \317\201 q \317\207 =
r, then is
\320\263
perpendicular to both and
\317\201 q.
' j \320\272
-
x \320\263 \321\200\321\205
13. \317\201, \317\201\316\266
\317\201
\320\247\321\205 \320\257\320\263.
\320\247\321\203
14.
\321\200\321\205\320\263^-(\320\263\321\205\321\200)
15.
px(q
+ r)=pxq + pxr
16. -
\317\207
\320\263
(\320\272\321\200)
\317\207 -
\317\201 (\320\272\320\263)
\317\207
\320\263)
\320\272(\321\200
17. If =
\320\263
\321\200\321\2050, they are parallel.
18. \317\207^\320\263
\317\201\317\201
0
APPENDIX \320\222
MATRICES
an
\302\253\320\270 an alA
A^ \"21 a21 \"23 \"21
\320\26431 a31 a33 aiA
where aif
is the matrix element in the /th row and /th column.
The number of rows and columns determines the order of a matrix. A
matrix of m rows and columns
\316\267 is of order m \317\207 Then
\320\277. / e [1 : m] and / e
[1: n]. The order of the largest square submatrix whose determinanthas a
431
432 \342\226\240
Appendix \320\222
Special Matrices
A
diagonal matrix square matrix that
is a has zero elementseverywhere
except
on (he main diagonal. For example,
\"\320\237 0 0 0
0 0
\320\2607\320\263
0
A =
0 0 0
\321\217\321\202\320\260
0 0 0 fljj
Thus,flfj
= 0 if /
*/. If all the \320\264\320\263\320\263
are equal, then the diagonal matrix is a scalar
matrix. A diagonal matrix that has unit elements on the main diagonal is a
unit matrix or identity matrix:
\"1 0 0
0 10 =%
0 0 1
A= 3 1 4
1 4 -2_
A
square matrix is antisymmetric or skew symmetricif \321\211
-
-a)V For example,
0 -9 -3\"
A= 9 0 I
3 -1 0_
where =
implies
\321\211 ~\316\261\316\274
(hat ati = 0.
A null matrix, denoted by 0, is one whose elements are all zero.
MatrixTranspose
Interchanging (he rows and columns of a matrix A produces
its iranspose A'.
For example, if
3 1 2
A^ 0 -1 -2
3 0 4
then
Matrices 433
\342\226\240
3 0-3
A'- t -1 0
2-2 4
The productof any matrix and its transpose is a symmetric matrix,that is.
(AAT)r=AAT.
All matrices have a transpose, not just square ones.Thus, if
-
\320\222
[\317\207\321\203\316\266],
then
/\342\226\240_
\320\222
Matrix Addition
Scalar Multiplication
same order as A. Thus. k\\ = B,or.in terms of the matrix elements, ka,t
=
b,r
Matrix Multiplication
then is m xp.
\320\241 In this example. A premultiplies \320\222 and \320\222
postmultiplies
A.
= \316\231\316\221
\316\221\316\231 (\316\222.1)
The
product of two matrices defined in terms of their elements is
434 \342\226\240
Appendix \320\222
\320\260>\320\272\320\254\320\272
\321\201\321\207=\316\243 (\320\222.2)
where is cqualtothe
\320\273 number of columns of A and thenumberof rows of B.
Partitioned Matrices
It is often computationallyconvenient to partition a matrix into submatrices
and to treat it as a matrix whose elements are themselves these submatrices.
Thus
\320\274\342\200\236
\320\2741\320\263
M =
M71 \316\234
22
where M/f and M(Z must necessarily have the same numberof rows (and
similarly for M2, and M22), and Mn and M21 must necessarily have the same
number of columns (and similarly for \320\234]2and M22). For example, if
\320\220\321\206
\320\220\320\277
\320\22013 b,,b12b \"13
A =
\316\2122
It
A2i A22 A23 Bnl 12\"23
B27 \320\222
+ \320\222\321\206
\320\220\321\206 Ai2 + Bl2 Au + Bi3
\321\201-
A2I + B2I A22 + B22 \316\221^+ \320\222
23
where the
Al; and B,; are conformable.
Hereis an
example of the multiplication of partitionedmatrices.The
matrices must be conformable for multiplication before and after partitioning.
au
a\342\200\236 flu nlA \321\21715
bu \320\254\320\277
\320\254\320\270
\320\252* \321\214#
\320\254\320\220\\ LB3i B,2J
\320\254\321\212\320\263
\320\254\320\273 \321\214\321\217
+ \316\22112\316\22221
\316\221,\316\271\316\222,\316\271 \342\226\240+
\320\220\321\206\320\222\320\273 + Al2B22
\320\220\320\237\320\22212 + \316\221\316\267\316\22232\"
AB
+ \\ZZR2,
.\316\221\316\226(\316\222((
+ AaB3J A;,B,2 + \320\220\320\263\320\267\320\222\320\260
+ \320\220\320\260\320\222\320\267\320\263
Matrices .435
Matrix Inversion
The inverse of a square matrix A is A\"1. A matrix and its inverse satisfy the
conditions
\316\227\316\223'\316\212\316\221,'\316\231
\321\211-=- (B.4)
\316\231\316\221
I
PQT
=
[PiP2P3]
= \316\241\316\2714\316\273+\316\241\316\2714\316\271+\316\241\316\2574\316\271
(B.6)
0 -p3 Pi
Pj 0 -p,
~Pi Pi \302\260
.
and
0 -\320\240\321\212 \320\247\\
\321\200\320\263
=
pxq Pi \320\270 -\316\241\\ \320\247\320\263 (\320\222.7)
\320\270
'\320\240\320\263
\316\241, \320\257\320\272
436 \342\226\240 \320\222
Appendix
=
Ap \316\273\317\201 (\316\222.
8)
eigenvalue of A
corresponding to p. Matrix A sends an eigenvector into a
collinearvector, and the corresponding eigenvalue is equal to the ratio of the
magnitudes of the two collinear vectors.
(\316\221-\316\273\316\231)\317\201=0 (\316\222.9)
\316\231\316\221-\316\273\316\231\316\231=0
(\316\222.10)
3. jfc(A + B)
= jfcA + kB
4. (A +/)A = AA +/A
5. k(!A)
= (kl)A = l(kA)
6. (AB)C=A(BC)
7. A(B+ C) = AB+AC
8. (A + B)C = AC + BC
9. =
\316\221(\316\273\316\222)=\316\273\316\221\316\222
(*\316\221)\316\222
IB. (\320\220
+ \320\222)\320\223=\320\220\320\223
+ \320\222\320\223
11. = kAT
(kA)T
12. (AB)T = B7A7'
13. If AA\"1 = I and A_1A =
I, then A is nonsingular.
14. If IA| = 0, then A is singular.
15. If AAr= I, then A is orthogonal.
Determinants
\302\25311 \302\25312
A^
<721 \302\25322
then
= flu \302\25312
=
|A| <7ll<722-\302\253l2ib
fl22
If
\302\25311 Ol2
A = fl2l <722
<73l \320\25732
then
The \321\201\320\276
factor
of element
aif
of determinant IAI is
=
cr/ (-i)'\"+'iA,;i
where 1A,JI denotes the determinant of Ihe (n - 1) \317\207
(n
~
1) matrix derived
from A by deleting row i and column/ from A.
Determinant Properties
2. Interchanging any two rows (or columns) of A changes the sign of IAI.
3. If we obtain \320\222
by multiplying one row (or column) of A by a constant c,
then |BI = clAI,
4. If two rows (or columns) of A are identical, then IAI = 0.
5. If we derive \320\222
from A by adding a multiple of one row (or column) of A
7. If every element of a row (or column) is zero, then the value of the
determinant is zero.
This
page intentionally left blank
APPENDIX \320\241
TRANSFORMATIONS
x' = a, ,x + +<*\\?,Z
\320\260\320\2632\321\203
439
440 \342\226\240
Appendix \320\241
tangent vectors. The Bezier and B-Splinecurves and surfaces are simply
defined by a set of controlpoints.We already know that Bezier and B-Spline
forms are affinely invariant, while is not true of the Hermiteform.For
this
example, given curve
a Bezier and air arbitrary point p(ur) on it, we can
perform air affine transformation on the control points and then,fromthe results,
compute\320\260 we can
\321\200'(\320\270;),\320\276\320\263apply the same transformation to \321\200(\320\272\320\263),
producing
hy
hz
C.I TRANSLATION
y'
= y + (CI)
ty
z' = z + tz
where and
t\342\200\236
ty, f; represent components of the translation. Translation
preserves the size and shape of an object and is, therefore, one of the rigid-body
transformations.
Tlie rigid-body translationof a geometric objectrequires that every point
on it moves a
equally given distance in a given direction (see Figure CI).
This meansthat we may specify a translation by a vector I so that
=
p' p+ t (C.2)
x' \317\207 tx
= +
\320\243 \320\243 h
\316\266' \316\266 tz
x + h
y + 1, (C4)
z + tz
p' = p + T (C.5)
p'
=
p + li + l2+ +l\342\200\236
is to
equivalent
p'
=p + 2> (C.6)
i = I
translation bylisp'(ti)
=
(p(l + l) + ua, or p'(u) =
p(u) +I. Similarly,if a plane
=
pu + \302\253a
is \321\200(\320\270,\320\270\320\236 + wb. then its translation is p'(ii) = (p0 + I) + \"a + wb, or
+ 1.
\321\200'(\321\213,\320\270>)=\321\200(\320\270,\320\270>)
B' = + \316\244
\320\222 (C.7)
where =
\316\244 I 0
[I 0]r.
For a bicubic Hermite patch we ha-ve, again, the general form = \316\222
\316\222' + \316\244,
but now
110 0
T =
1(00
0 0 0 0
(C.8)
0 0 0 0
The four corner points are translated, and the tangent and twist vectors are
unaffected.
For a Bezier curve or surface we translate all the controlpointsby (.Thus,
\317\201'(\302\253)=\316\243(\316\241'+\316\277^(\
/ = o
(C.9)
=
Xp;bju)
i = ()
+
Vr(u,w) =\316\243 \316\243(\316\241* ') B\302\253M Mw)
i (l = /\"= (1
(CIO)
/ = o /=o
angle about
\317\206 the origin is shown in Figure C.2. Because\317\201
and p' lie on the
circumference of a circlecenteredat the origin and Ipl
=
Ip'l (distance is
preserved in a rigid-body transformation), from elementary trigonometry we
find that
= cos - sin
cos + \317\206)
(\317\211 cos
\317\211 \317\206 sin
\317\211 \317\206
sin = sin
+ \317\206) cos
\317\211 + cos sin
\317\211
(\317\211 \317\206 \317\206
-*--
sin =-2\342\200\224=\342\200\224-sin +
+ \317\206)
(\317\211 \317\206 cos \317\206
Ipl Ipl Ipl
which simplifies to
x' =jc cos \321\204-\321\203
sin \317\206
(\320\241\320\237)
=x
\321\203' sin +ycos
\321\204 \317\206
- cos
cos cos \317\206,- sin
\317\206\316\271 sin
\317\206^ \317\2062 -sin cos \317\2062
\317\206\316\271
sin
\317\206] \317\2062
R e,R
(ij: cos sin
\317\206] + sin \317\206\316\220|
cos \321\2042 -sin + cos \317\206\316\271
sin \321\204\320\267 cos \317\2062
\321\204\320\263 \317\206\316\271
COS^+\321\204\320\263) -Sin^+\317\206;,)
R^R^! Sin (\317\206,+\321\204\320\263)COS^+\321\204\320\263)
(C.15)
which tells us that for successive rotations in the plane about the origin we
simply add the anglesand use the resulting sum in the rotation matrix of
Equation (C.13). easily generalize We this to the product of successive
\316\267
cos +
+ \317\2062 \342\226\240\342\226\240\342\226\240
+ \317\206\342\200\236)
-sin + + - +
(\317\206, (\317\206, \317\2062 \317\206\342\200\236)
R (*1+\320\2442
+ -
'
+\320\244;\320\263) (C.16)
+ \342\226\240\342\226\240\342\226\240
sin -t- \342\226\240\342\226\240
+ \317\2062
(\317\206! + \317\206\342\200\236)
cos + \317\2062
(\317\206\316\271
+ \317\206\342\200\236)
The order in which we perform the product is not important,so that, for
= = conclude thai a sequence of rotations
example. R^R0l R^R*., R^ + \302\2732-
We
in the plane about the origin is commutative.This is not the case for rotations
in space, where order is importantand different orders produce different
results.
446 \342\226\240
Appendix \320\241
= +
p' R(p-pf) pL (C.17)
Line: =
Rp0
\321\200'(\320\275)
+ iiRa (C.18)
Plane: p'(u,w) = Rp0 + iiRa + wRb (C.19)
Rotating a planar cubicHermitecurve requires some attention to how we
set up its \320\222
matrix. Here is one way to do this.We let
pn *o
Pi X, \320\243\\
(C20)
pa x'6 \320\243\320\247
\320\253
\316\241\316\252- yU
B' = RB (C.21)
p'(\=Zp^m(\")") (C24)
= 0
\320\263
Rotation in SpaceaboutthePrlnclpal Axes - 447
cos -sin
(-\321\204\321\201) (-\317\206,.) cos sin
\321\204\321\201 \321\204\302\243
R* (C.25)
sin cos -sin \321\204\321\201
\321\201\320\276\321\214\321\204\321\201
(-\321\204\321\201) (-\321\204\321\201)
so that
Rd (C.26)
We also see that
R, = R[ = R^ (C.27)
respectively, of a fixed global frame. Remember, we are taking the active point of
view, where points and other geometric objects are repositioned in a fixed
coordinate frame. We begin with a rotation about the \316\266 axis, because it looks
much like a rotation about the origin in the x, \321\203
plane,
and simply expand
Equation (Gil) to account for the \320\263
coordinate,so that
= \317\207
\317\207' cos - sin
\317\206\321\203 \317\206
/ = sin
\317\207 + \321\203
\317\206 cos \317\206 (C28)
\316\266'=\316\266
10 0
R, \317\213cos \317\210 -sin \317\210 (C30)
0 sin \317\210 cos \317\210
and
Rf 0 1 1
(C31)
-sin \316\270 \317\213cos \316\270
We can use successive rotations about each of the three principal axes to
place a geometric object into any orientation. However, it is
important that
we establish a convention for doing this, because it turns out that, for
successive rotations in space, order is important. Here is the first convention we
will use:
1. First, if *0,
\317\206 rotate by Ra about the \316\266
axis.
2. Next, if \316\270
*0. rotate by R0 about they axis.
3. Finally, if \317\210*0, rotate by Ry about the axis.
\317\207
(C32)
cos\316\270
cos \317\206 -cos sin \317\206
\316\270 sine
-
cos \317\210
R, .|\316\220\316\262\317\210: + sin
sin \317\206 sin
\317\210 cos
\316\270 \316\271cos co-s
\317\210 \317\206sin sin
\317\210 sin \316\271-sin
\316\270 cos
\317\210
\316\270
(C33)
sin sin - cos sin cos
\316\270 \316\271sin cos sin \316\271
sin \316\270 cos cos \316\270
\317\210 \317\206 \317\210 \317\210
\321\201\320\276\320\267\321\204+
\317\210 \317\210
equivalent rotations.
position. Figure C.3 shows what happens to the coordinate axes when they
are rotated by and
\321\204\321\201,
\316\230\316\225, in that
\317\210\316\225, order, and when none of them is zero.
Rotating
the coordinate system by has the
\321\204\321\201 same effect as rotating the
point or vectorby =
\317\206-\321\204\321\201.
Rotating about
\321\204\321\201 the axis
\316\266
displaces the and
\317\207 axes
\321\203 to the x' and / axes,
while the z' axis remains coincident with the initial axis.The
\316\266 next rotation,
0C about the y' axis,displaces the x' and z' axes to x\"and z\" and leaves the y\"
axis coincident with the y' axis. The final rotation,\317\210\316\225 about the x\" axis,
displaces
the /' and z\" axes to /\" and z\"', leaving the x'\"axis fixedand
coincident with the x\" axis. We denote the first rotation the
as \320\232(\321\204\321\201),
second as
\316\262(\316\246<-\316\221,\317\210\316\223)
cos
cos cos
\316\270, \321\204\320\263 cos sin \317\206,
\316\230\316\223 -sin \316\270,
-cos sin
\317\210^ + sin \317\210,
\321\204\320\263 sin cos
\316\270,- cos
\317\206,, cos + sin \317\210\316\223
\317\206\302\243
\317\210\302\243 sin
sin \316\270, sin \317\210\302\243
\321\204\320\263 cos \316\270,
(C34)
sin sin
\317\210, + cos \317\210,,
\321\204\320\263 sin cos
\316\270, \342\200\224sin
\317\206, cos
\317\210, + cos \317\210\302\243
\317\206\302\243 sin \316\230\316\223 cos
sin \317\206,, cos \316\230\316\223
\317\210\316\223
\316\270,,
\316\232(\316\246\316\277
=
\317\210.) R;1 Ri' R^' = Rj RJ \320\251= [R4 Re R\302\245]r
and
=
\302\245) [R^ReR^l\"'
\316\227\316\223(\317\206,\316\270,
However, in general
=
\321\200' \320\232(\320\263*\320\233)\320\260\320\264\320\262)\302\253(\320\263.\320\244)\321\200
is the \317\207
convention Euler angle rotations, where x', y', and z' indicatethe
for
local frame position with respect to the globalframeafter the first rotation,
and x\", y\", and z\" indicate its position after the second the rotation.(Notice
change in notation: The first argument element in parenthesison the
rotation matrix indicates the axis of rotation, and the secondelement indicates
=
R(*', \316\230) R(z, R(x,
\317\206) R(z,
\316\230) -\317\206)
When wc perform the third rotation R(z\",\317\210)and again simplify using (he
procedure outlined above,we find that
=
R(z\", R(*',
\317\210) R(Zi
\316\230) \317\206) R(z, R(.v,
\317\206) R(z,
\316\230) \317\210) (C.36)
\320\223\320\263\320\263
\320\223\321\206 \320\22323 COS +
\317\210\316\272\316\257\316\220\316\220\317\206
5\316\252\316\267\317\2105\316\257\316\220\316\220\316\270\316\270\316\237\317\212\317\206
Sill \342\200\224
\320\223\320\2672
\320\223\321\2121 \320\263\321\212\321\212 \317\206 0\316\2375\317\2105\316\252\316\267\316\270\342\204\226\317\212\317\206
\317\2105\316\23111
-cos sin
\316\270 \317\206
sin \316\270
~
cos cos
\317\210 \317\206sill \317\210
sin sin
\316\270 \317\206-sin cos
\317\210
\316\270 (C.37)
COS\\|!Sin0sil^
5\316\220\316\267\317\210\316\26005\317\206+ COS\\||COS0
452 \342\226\240
Appendix \320\241
ru = cos cos
\316\270 \317\206 (C.38)
rM =sin sin
\317\210 \317\206-cos sin
\317\210 cos
\316\270 \317\206
r12=-cos sin
\316\270 \317\206
= 51110
/-,, (C.39)
i-23=-sin cos
\317\210 \316\270
= \316\270
r3} COS\\|ICOS (C.40)
= sin-1
\316\270 i-l3 from Equation (C.39) (C.41)
\320\223\320\2522
\\|l
= COS from Equations(C.40)and (C.41) (C.42)
COS \316\270
/
(C.38) and
-\316\271 \320\237\\
=
\321\204\320\24105
cose
from Equations (C.41) (C.43)
'12 '13
COS
\320\2232, + Sin
\317\210 \316\2233| \317\210 r22 COS \317\210+r32
Sill \317\210 T21l
COS \317\210
+ \316\223\302\273
Sill \317\210
COS \317\210
Sill
-\320\22321 +
\317\210 r31
COS Sill
\317\210 -\316\22332 + \320\223\321\2122
\317\210 COS \317\210 Sill \317\210
-/\"\320\263\320\267 + \316\22333
COS \317\210
cos cos
\316\270 \317\206-cos sill
\316\270 \317\206sin \316\270
The element in row 2 and column 3 is zero. Equating this element in the
sill = 0
r2i cos + r.iS
\317\210 \317\210
Ian = \342\200\224\342\200\224
\317\210
= tan\" \316\2522\316\273
\317\210
sin =
\316\270\320\263,\320\267
cos =
\316\270 sin + cos
\317\210 \320\263
~\320\263\320\263\321\212 \320\273 \317\210
so that
\320\223\321\206
= lair
\316\270 ,
sin + cos
\317\210 \320\263\321\215\320\267
\\~\316\257\317\2012.\316\271 \317\210;
With the sine and cosine defined, we easily computea unique value for \316\230-
For we
\317\206 have
+
= ^5\316\2311\316\2201\316\234
\317\206\316\2523\316\267-'\316\257^05\316\246
\\/23 cos \317\210 + \320\263\320\2521
sili \317\210/
We conclude from all this that ihere is no unique solution to the \"given R,
find and
\316\270,
\317\206, problem,
\317\210\" unless we make a series of clarifying assumptions.
rotation transformation. The development that follows assumes that the axis of
rotationpasses through the origin because,if it docs not, it requires only a
axis by a unit vector a and the angleof rotation by a. The right hand rule
applies to the sign of a: If Ihe thumb of the right hand points in the direction
of a, then the fingers of Ihe right hand curl around a in the positive sense of
the angle (see FigureC.4).
454 \342\226\240
Appendix \320\241
perform the rotation through Ihe angle a, and Ihen return a to ilsoriginal
orientation. This process is expressed algebraically by the following
equations:
=
p' R_,R.vRaRvR+p (C.45)
R= R^R.VR\342\200\236R,R( (C46)
returns a to its initial position. We see that the matrix product R^R^SaRy
R$ appropriately rotates an arbitrary point to
\317\201 produce p' and leaves a and,
of course,any points on it invariant.
Performing the matrix multiplicationindicatedin Equation (C.46) to
produce R is a horrible task. Fortunately, it must be done only once.To proceed,
we use the following matrices:
0 0 1 0 \320\236 1
\"
1 0 0 \"1 0 0
R, 0 cos \317\210 - sin j
\317\210 R-v
= \317\213 cos \317\210
sin \317\210
0 sin \317\210
cos
\317\210
0 -sin \317\210
cos \317\210
where
=
\320\24105\321\204
Vax + \320\271\\
= J
SHI <h
cos =
\317\210 aL
sin = +
\317\210 VaJ \320\251
angles and
\316\230,
\317\206, Then
\317\210.
we substitute
appropriately to replace the sin \317\206,
cos
sin
\317\206, and
\317\210, cos terms
\317\210
with their equivalents using the unit vector
components ax, ay, and a7. Finally, we obtain
Compare
the matrix
r\342\200\236 elements, and also the rr;
and elements.
\316\267,
These and
olher patterns or regularities in the distribution of terms often indicate the
correctnessof a complexexpression such as this.
If the axis represented by a coincides with any of the principal coordinate
axes, then R simplifiesaccordingly. Thus, for example, if a lies along the \316\266
as expected.
A+B =
(a+b) +(r+s)
and the productof two quaternions is
A + B = (a+r)(b +
s)
= - r br + r x s)
(as +
\342\226\240
+
(ab s)
angle of rotation. We assert without proof that we can describe this rotation
by the quaternion
R = cos (a/2) + sin (a/2)a (C.48)
rotations.
have
and
R-iS-l = (SR)~l
If we let T = SR, then we find that
= TPT '
(SR)P(SR)l
vector part of 7\" defines the axis, and Ihe scalar part is the cosineof one-half
the rotation angle.
C.5 REFLECTION
analyzing
ihe symmetry of models, and reflection lines and planesare lines and
-1 10 4 4 0
-11 0
\316\270 It \320\276
\320\260
-5.\320\221 13 0 5.5 13 0
0
-\320\255.\320\255-12 -12 0
\320\267.\321\215
-\316\233
-1 1
-5.5 -13 0
-3.8 12 0
IR,l=-l (C.49)
This tells us that a reflection is an orientation (or handedness) reversing
transformation (for example, a right hand becomesa left hand). We will also
investigate pseudoreflections, transformations that look like a reflection but
are not orientation-reversing.
by
x' = -x
=
y' -y (C.50)
(C.51)
where
-\316\271 \317\213
R,
\317\213-\316\271
=
\320\243 -\320\243
\320\263'=-\320\263 (\320\241.52)
and
-\316\271 \317\213 0
R/ ~ \317\213-\316\271 0 (\320\241.53)
\317\213 \317\213 -1
Reflection 461
\342\226\240
the \317\207
axis, requires that we first execute a rotation that makesthe line coin-
cident with the \317\207
axis, = then we execute
\317\206-\317\206,\342\200\236; a reflection about the \317\207 axis
-sin \320\236
\321\204\342\200\236,1\320\2231
\316\265\316\277\316\264\317\206\342\200\236, cos sin \317\206\342\200\236
\317\206\342\200\236
R P\" ~
-I -sin cos
\321\201\320\276\320\261\321\204\342\200\236|_0\317\206\342\200\236\317\206\342\200\236
\320\274\320\277\321\204\321\202
(C.56)
cos 2 sin
\317\206,\342\200\236 2 \317\206,
sin 2 -cos
\317\206,\342\200\236 2 \317\206
Reflection in Space
X' = -X -I 0 0
=
\320\243' \320\243 and R, 0 1 \320\236
(\320\241.57)
z' = z \317\213\317\213 1
462 \342\226\240
Appendix \320\241
Reflection in the =
\321\2030 plane is given by
=x
\317\207 1 \317\213\317\213
=
\320\243' -\320\243 and R,= \317\213-1 0
(C58)
z' = z 0 \317\2131
A transformation given by
-x
\317\207' 1 \317\213 0
/ = -y and R f~ 0 -\316\271 \317\213 (C.60)
\342\200\224
\316\266 ~~z 0 0-1
IsotropicDilation
We define dilation as follows: If the distancebetweenany
a uniform pair of
x' = kx
y' = ky (C.61)
z' = kz
~k 0 \317\213
(\320\241.62)
\317\213\320\272\317\213
0 \317\213\320\272
Dilation and Shear 463
\342\226\240
D'
1
= 0 \317\213 (\320\241.63)
\320\272
\317\213 \317\213
p' = D2D,p
~ktk2 \320\236 \320\236
(C64)
0 ktk2 0
0 0 ktk2_
By inspection, wc conclude that DZD L = D|DZ and that the order of the
dilations is not
important.
Anisotropic Dilation
x' = kxx
/=*,\320\243 (\320\241.65)
z' = kzz
Dilation and Shear 465
\342\226\240
Clearly, in ihis situation the scale factor must vary with direction. To
demonstrate this, we look at the simplercaseof anisotropic dilation in the
+
\320\272\320\246\321\205.-\321\205^
\320\272\320\232\321\203.-\321\203,)2
(Xi-XtY + iyi-yd1
\320\243
k,= 1.5
ky=2.0
^A-rj
0 0
0 \317\213
\320\272\320\2431\320\272\320\2432 (C.69)
0 \320\276
\321\214*\320\232.
x' =x + kxy
<\320\24170>
or
1 *,.
=
\316\241
0 1 (C.71)
x' = x
(C.72)
y'=kxx+y
or
1 0
=
\316\241 (C73)
\316\232 \316\271
is given by
origin. We then perform the indicated rotations and translate the results
so that the point or axis returns position. to its initial We handle
reflections, dilations, andfixing arbitrary points, lines, or planesin a
shears
similar way: by executing appropriate translations and rotations before and
after the primary transformation. Whenever translations are part of the
sequence of
transformations, matrix addition is required if we write the
equations for rotation, reflection,dilation,
and shear in their Cartesian
(nonhomogeneous) form.This approach rapidly becomesa nestedmessof
matrix algebra.
It is not possible to express a general lineartransformation in two or three
dimensions as a square matrixo\302\243
Order two or three, respectively, if it must
include translationsor projections. An extra dimension is necessary in both
cases. This requires the use of homogeneous coordinates, where =
\317\201 [hx hy
hz \316\256]7\".
= 1,
If \316\256 then =
\317\201 [\320\273\321\203 \316\2661]'and p'= [*' / \316\266'
If.
4\320\261\320\222
\342\226\240
Appendix \320\241
Translation
0 1 0
T= ty
(C.76)
0 0 1 tz
_o \316\277\316\277 \316\271
V\" X + tx
/ y + h
z' Z + tz
(C.77)
1 1
or
\"l 0 0 +
fi:
f\342\200\236
+ + f
0 1 \320\236
!^
+ !\320\2432
+ ' + r
Ty =
\316\233,
(C.79)
0 0 1 ttl + t.* + \342\226\240
+ t.
ooo \316\212
1 0 xc cos \317\206
-sin \317\206
0 1 \317\213-\320\263.
= -
)>' sin +
\316\246(\320\243
(\320\243-\320\243\321\201) J'.) cos + \321\203,
\317\206 (C.83)
Rotation in Space
0 1 0 (C.84)
0 0 0 1
Similar
equations, easy to derive, apply to rotation about the .rand axes.
\316\275
Again, rotation about an arbitrary axis not through the origin requires
that we first translate the model so that some point on this axis coincides
with the
origin and, second, rotate the model so that the arbitrary axis aligns
with one of the principal axes.Next,we execute the primary rotation and
finish the
sequence of transformations by reversing the secondary rotation and
translation so that the arbitrary axis once again coincides pointwise with the
initial position, carrying the model along with it. of course.
p'
= TRp
1 0 0 \342\226\240sin
\317\206
0 \317\213 \317\207
\316\257.\316\275]
\317\2131 0 ty sin \316\246 cos 0
\317\206\320\236 \316\275
\317\213 0 1 tr 0 0 1 0 \316\266
(C.85)
470 \342\226\240
Appendix \320\241
cos \317\206
sin \317\206
0 t, \317\207
sin \317\206
cos \317\206 \317\213ty \320\243
\317\213 0 1 tz \316\226
0 0 \317\213 1 \317\205_
p' =
RTp
\320\236 \317\213 1
0 \317\213 \317\213 1
From these results it is clear that order is important, because we see that
TRp*RTp
Glide Rotation
sin \317\206
cos \317\206\317\213 0
0
(C.87)
\317\213 1 \320\243\321\201\321\204
0 0 \317\213 1
Reflection in Space
-10 0 0
0-1 0 0
R; =
0 0-10 (C.88)
0 0 0 1
Because = +l,
/y\302\253
the parity computation is unaffected, and \\Rf\\
= -1.
\321\200'^\320\242\320\233/\320\242\320\223'\321\200 (C.89)
where
1 0 0 X, -10 0 0 1 0 0 -\320\273-,
=
0 1 0 )>l 0-1 0 0 0 1 0 -y,
TiR/T \316\2231
0 0 1 Z\\ 0 0-10 0 0 1 -z,
0 0 0 1 0 0 0 1 0 0 0 1
-10 0 2x,
0-10 2y,
0 0-1 2zi (C.90)
0 0 0 1
Dilation in Space
p'=TfDT-p (C.91)
where
1 0 0 xc \320\232 0 0 0 1 0 0 -X
0 1 0 \320\243\321\201
0 k( 0 0 0 1 0 -y
TVDT
0 0 1 Zc 0 0 k7 0 0 0 1 ~z
0 0 0 1_ . \320\276 \320\276 0 1 0 0 0 1
0 (1 -k\342\200\236)x,
0 0 -
ky (1 ky)yt
0 0 k; {\\-K)z(
(C.92)
0 0 0 1
This page intentionally left blank
BIBLIOGRAPHY
This
bibliography provides points of entry inlo a much more extensive
literature, loo large for a comprehensive listing here. In somecases,only the most
accessible works are cited, not necessarilythe earliest,on a particular
subject.
Because a significant part of geometric modeling comes out of the
research and development efforts of private industry (and this is still true
today), access to these resultsis oflen difficult, in part due to proprietary
considerations as well as varying standards of documentation and reporting.
Many new enlries are included in this bibliography of the second edilion,
of course,and nol all enlries of the first edition are repeatedhere.The many
reasons for this include limilalions of Spaceand changesof emphasis.
Omission of
important works is not intended but is almost predictably inevitable
473
474 \342\226\240
Bibliography
Computer Aided
Design 22(7): 417 (1990).
Aono, M., D. E. Breen,and \316\247
\316\234. Wozny \"Fitting a Woven Cloth Model to a
Curved Surface:Mapping Algorithms.\" Computer Aided Design 26(4): 278
(1994).
Apostol, \316\244.
\316\234.Calculus, Vol. 2: Calculus of Several Variables with
Applicationsto Probability and Vector Analysis. New York: Blaisdell,1978.
Arbab, F \"Set Models and Boolean Operations for Solids and Assemblies.\"
IEEE Computer Graphics and Applications10(6):
76 (1990).
Armit, A. ''TAG\342\200\224A
high performance interactive 3D graphics systems.\"
Computers in Industry 3:117-123 (1982).
Armit, A. P. \"Curveand SurfaceDesignUsing Multtpatch
and Multiobject
Design Systems.\" Computer Aided 251
Design25(4): (1993).
Bibliography 475
\342\226\240
Armstrong. G.
\320\241.
\"Modeling Requirements for Finite-Element Analysis.\"
Computer Aided Design26(7):573 (1994).
Arner, R.
\316\241 \"Another Look at Surface/Surface Intersection.\" Ph.D. thesis,
University of Utah, 1987.
Aziz, N. M.. R. Bata, and S. Bhat.\"Bezier Surface /Surface intersection.\"
IEEE Computer Graphics and Applications10(1): 50-58(1990).
Baer, A.,C. M. Easlman.and M. Henrion. \"Geometric Modeling: A Survey\"
Computer Aided Design 11 (5): 253-272 (1979).
Bajaj, \320\241
L., J. E. Hoffman, and R. E. Lynch.\"TrackingSurfaceIntersections.\"
Computer Aided Geometric Design 5: 285-307 (1988).
Bajaj,C.,andl.lhm.\"Hermitc interpolationof Rational Space Curves Using
Real Algebraic Surfaces.\" Proceedings of the 5th Annual ACM Symposium
on Computational Geometry. 1989.
. \"Algebraic Surface Design with Hermite Interpolation.\" ACM
61
Transactions on Graphics11(1): (1992).
Ball, A. A. \"A
Simple Specification of the Parametric Cubic Segment.\"
Computer-Aided Design 10(3): 181-82 (1978).
. \"Reparametrization and its Applicationin Computer-Aided
Geometric Design.\" international Journal for Numerical Methods \\n Engineer-
. \"A
Survey of the Representation and Design of Surfaces.\"IEEE
Computer Graphics and Applications (1983). 3(7); 9-16
. \"Surfacesin Computer Aided Geometric Design: A Survey with
New Results.\" Computer Aided GeometricDesign2:1-17(1985).
Barnhill, R.E.,G Birkhoff, and W. J. Gordon. \"SmoothInterpolation in
625-632(1966).
47\320\222 \342\226\240
Bibliography
. \"First
Steps of CAD.\" Computer Aided Design21(5):259(1989).
. \"Style, Mathematics and NC.\" Computer Aided Design 22(9): 524
(1990).
Binford,T. O.. and G. J. Agin. \"Computer Description of Curved Objects.\"
Proceedingsof the Third International Conference on Artificial
Intelligence, 1973.
.
\"Generating the Bezier points of B-Splines.\" Compute,- Aided
Design13(6)(1981).
. 'On Cubics: A Survey/' Computer Graphics and Image Processing
19:201-226(1982).
.\"Curvature Continuous Curves and Surfaces.\" Computer Aided
Geometric Design 2(2): 313-323 (1985).
. \"Rational Geometric Splines.\"ComputerAided Geometric
Design 4:
67-77 (1987).
. \"On the Definition of Geometric Continuity.\" Lelter to the editor.
Computer Aided Design 20(7):370-372(1988).
Boehm,W.,G. Farin, and J. Kahmann. 'A Survey of Curve and Surface
Methods in CAGD.\" Compute,-Aided Geometric Design 1(1): 1-60 (1984).
Bonner,D.L\342\200\236
M. J. Jakiela, and M. Watanabe. \"PSEUDOEDGE: Noninter-
sectcd Parametric Quilt Modeling of Multiply Connected Objects.\"
Compiler Aided Design 25(7): 438 (1993).
Borrel, p, and D.Bechmann.
\"Deformation of \320\273-Dimensional Objects.\"
Proceedings of the Symposium on Solid Modeling Foundationsand CAD/CAM
Applications. Washington, D.C.; ACM Press, 1991.
Borrel, P..and A.
Rappoport. \"Simple Constrained Deformations for
Geometric Modeling and Interactive Dcsign.'MCAi Transactions on Graphics
13(2);137(1994).
Boyse, J, W. ''Data Structure for a Solid Modeler.\"Researchpublication
GMR-2933. Computer Science Department, General Motors Research
Laboratories. Warren, Mich., 1979,
27-40(1982).
Braid, I.C. \"Designing with Volumes/'CAD Group report. Cambridge
University 1973.
Brown, \316\234.,and
\320\241 \316\227.
\316\222.
Voelker. \"The PADL-2 Project.\" Proceedings of the
Seventh NSF Conferenceon Production Research Technology. Ithaca,
N.Y.: National Science Foundation, 1979.
Brown,K. Q. \"Comments on Algorithms for Reporting and Counting
Geometric Intersections.\" IEEE Trunsactions on Computing C-30(2): 147^18
(1981).
Brunei, P, and 1. Navazo. \"Solid Representation and Operation Using
Extended Octrees.\" ACM Transactions on Graphics 9(2): 170(1990).
Bu-Qing, S., and L. Ding-Yuan. Computational Geometry- New York:
Academic Press, 1989.
(1993).
Butter R. \"TheComputationof All
field, K. the Derivatives of a B-Spline
Basis.\" Oxford, England:BritishLeyland, May 1974.
Casale, \316\234.
S., J. E. Bobrow. Underwood. \"Trimmed-PatchBoundary
and R.
Elements: Bridging Gap the Solid Modeling and Engineering
between
Analysis.\" Computer Aided Design 24(4): I93 (1992).
Casale, S., M. and E. L. Stanton. \"An Overview of Analytic SolidModeling.''
IEEEComputer Graphics and Applications 5: 45-56 (1992).
Catmull, \316\225.\316\225.
\"Computer Display of Curved Surfaces.\" Proceedings of the
IEEE Conference on
Computer Graphics, Pattern Recognition, and Dtila
Structure. 1975.
Catmull, \316\225. and
\316\225. J. Clark. \"Recursively B-Spline Surfaces on
Generated
Arbitrary Topological Meshes.\" Computer Aided
Design 10(6) (1978).
Catmull,E.E., and R.Rom. \"A Class of Local Interpolating Spline.\"In
Computer-Aided Geometric Design, eds. R. E. Barnhill and R. F. Riesenfcld.
New York: Academic Press. 1974.
Celniker, G, and W. Welch. \"Linear Constraints for Dcformablc B-Spline
surfaces.\"In Computer Graphics Special Issue: 1992 Symposium on
Interactive 3D Graphics 165-170 (1992).
Chang, G. \"Matrix Formulation of Bezicr Technique.\" Computer Aided
(1984).
Chazelle. and
\320\222., L. Guibas. \"Visibility and Intersection Problems in Plane
Geometry.\" Computer Graphics Forum 4(6): 51 (1989).
Chen, B-\"Onthe Euler Characteristic
of Finite Unions of Convex Sets.\" Di.v-
crete and ComputationalGeometry \320\256(1): 7\320\243
(1993).
Chiyokura, and
\316\227., F. Kimura. \"Design of Solids with Free-Form Surfaces.\"
.
\"Graphic Applications to Aerospace Structural Design Problems\"
Presentedto SHARE, Fourth Annual Design Automation Workshop, Los
Angeles, June 1967.
Falridiena,B. \"Special Issue: Modeling in Compuler Graphics.'\" Editorial.
Computer Aided Design26(8):595(1994).
Farin, G \"Bezier Polynomials over Triangles and the Construction ofPiece-
wise \320\241
Polynomials.\" Report TR/91. Department of Mathematics, Brunei
University, Uxbridge, England, Jan. 1980.
. \"Designing C1 Surfaces Consisting of Triangular Cubic Patches.\"
.
\"Triangular Bcrnstein-Bezier Patches.\" Computer Aided Geometric
Design 3(2):83-128(1986).
. \"Curvature
Continuity and Offsets for Piecewise Conies.\" ACM
Transactionson Graphics8(2):89 (1989a).
.
\"Computational Geometry.\" Proceedings of the Royal Society of
LondonA(32l):187-195
(1971).
\342\200\224\342\200\224\342\200\224.
\"Computer-Aided Design of Three-Dimensional Objects: A
Survey.\" Proceedings of the Internationa!
\320\220\320\241\320\234/\320\2331\320\241\320\220
Computing
Symposium. Venice, Italy: ACM, 1972.
. \"Interactive Interpolation and Approximationby Bezier
Polynomials.\"
CwnpMfwg.foi//7ia/ 15:71-79(1972).
\"A New
\342\200\224\342\200\224\342\200\224. Curve Form for Computer-Aided Design.\"CAD Group
documentno.66. Cambridge University, June 1972.
. 'On Coons and Other Methods for Representation of Curved
Surfaces.\" Computer Graphics and Image Processing 1(4): 341-389(1972).
\342\200\224\342\200\224\342\200\224.
\"Computational Geometry\342\200\224Achievements and Problems.\" In
Computer Aided GeometricDesign,eds.R.E.Barnhill and R. F Ricsen-
feld. New York: AcademicPress,1974.
\"On the
\342\200\224\342\200\224\342\200\224.
Rendering of Surfaces.\" Computer Graphics 13(3): 253
(1979).
Bibliography 487
\342\226\240
.
\"Blending-Function Methods of Bivariate and Multivariate
Interpolation and Approximation.\" SIAM Journal of Numerical Analysis 8(1):
158-177(1971).
. Operator \"An Calculus for Surface and Volume Modeling.\"IEEE
Computer Graphics and Applications 3(7): 18-22 (1983).
Gordon, W. I. and R. F. Riesenfeld.\"Bernstcin-Bezier Methods for the
Computer-Aided Design of Freeform Curves and Surfaces.\" Journal of the
ACM
21(2): 293-310 (1974a).
. \"B-Splinc Curves and Surfaces.\"
Computer Aided Geometric Design,
eds. R.E. Barnhill and R. F Riesenfeld. New York: Academic Press, 1974b.
Gosh. P.. and P.K.Jain.\"An Algebra Shapes.\" IEEE Computer of Geometric
and
Applications, 8(2): 69-84 (1988).
Gossing, T. \"Bulge,Shearand Squash: A Representation for the General
Conic Arc.\"ComputerAided Design 13(2): 81-84 (1981).
Grubowski, H., and X, Li. \"Coefficient Formula and Matrix of Nonuniform
B-Spline Functions.\" Computer Aided Design24(12): (1992).
637
1989.
Guenler, and
\320\222., R. Parent. \"Computing Length of Parametric
the Arc
Curves.\" IEEE Computer Applications 10(3):72-78 (1990).
Graphics and
Gunther, O., and S. Dominguez. '\"The Performance of Curve
Schemes.\"
Representation IEEE Computer Graphics and Applications 13(3): 55
(1993).
Bibliography 489
\342\226\240
Gursoz, \316\225.
L., \316\245.
Choi, and F. B. prinz. \"Boolean Set Operationson Non
Manifold
Boundary Representation Objects.\" Computer Aided Design 23(1):
33(1991).
Hagen,H. \"Geometric Spline Curves.\" Computer Aided Geometric Design
2(1-3): 223-228(1985).
. \"Bezier Curves with Curvature and Torsion Continuity.\" Rocky
Mountain Journal of Mathematics 16(3): 629-638 (1986).
. \"Geometric Surface Patches without Twist Constraints.\"Computer
Aided Geometric Design 3: 179-184 (1986).
Hahn, J. \"GeometricContinuous Patch Complexes.\" Computer Aided
Geometric Design 6(1): 11-22 (1989).
Hall, M.. and J. Warren. \"Adaptive Polygonalization of Implicitly Defined
Surfaces.\" IEEE Computer Graphicsand Applications 10(6): 33^42
(1990).
Hanna, S. L.. J.F.Abel,and D. \316\241
Grcenberg. \"Intersection of Parametric
Surfaces by Means of Look-up Tables.\" IEEE Computer Graphicsand
Applications 3(7): 39-48 (1983).
Hands, J. \"Reparametrization of RationalSurfaces.\" In The Mathematics of
Surfaces II, ed. R. Martin. OxfordUniversity.
1987.
Hoffmann, \320\234.Geometric
\320\241. and Solid Modeling: An Introduction. San
Mateo, Calif: Morgan Kaufman. 1989.
490 \342\226\240
Bibliography
\342\226\240.
\"Implicit Curves and Surfaces in CAGD.\" IEEE Computer Graphics
and Applications 13(1): 79 (1993).
Hoffmann. and J. E. Hopcroft.
G M. \"The Potential Method for Blending
Surfaces.\" In Geometric Modeling:Algorithms and New Trends, ed. G.
Farm. Philadelphia: SIAM.1987.
Hoffmann, J. E.
\320\241\320\234.. Hopcroft, and M.S. Karasick. \"Robust Set Operations
on Polyhedral Solids.'\" IEEE Computer Graphics and Applications 9(6):
50-59(1989).
Hoffmann. \316\234.,and
\320\241 J. Zhou. \"Some Techniques for Visualizing Surfacesin
Four-Dimensional Space.\" Computer Aided Design 23(1): 83 (1991).
Hohmeyer, M. E..and B. A.
Barsky. \"Rational Continuity: Parametric,
Geometric, and Frenet Frame Cont inuity of Rational Curves.\" ACM
Transactionson Graphics 8(4): 325 (1989).
Hojnicki, J. S.and p R. White. ''Converting CAD Wireframe Data to
Surfaced Representations.\" Computers in Mechanical Engineering Mar./Apr.:
19-25 (1988).
Holmstrom.L. \"Piecewise Quadric of Implicitly Defined
Blending
Surfaces.\" Computer Aided Geometric Design 4: 171 (1987).
Hosaka,M., and F Kimura. \"Non Four-Sided Patch Expressions with
Control Points.\" Computer Aided Geometric Design 1(1): 75-88 (1984).
Hoschek.J. \"Offset Curves in the Plane.\" Computer Aided Design 17(2):77
(1985).
Houghton, \316\225.
\316\225.. Emmetl, R. Factor, and L. Sabharwal. \"Implementationof
a Divide-and-Conquer Method for the Intersection of Parametric
Surfaces.\" Computer Aided Geometric Design 2(1-3): 173-184 (1985).
Joe, B. \"Discrete
Beta-Splines.\" Computer Graphics 21(4): 137 (1987).
\342\200\224\342\200\224\342\200\224.
\"Multiple-Knot and Rational Cubic Beta Splines.\" ACM
Transactionson Graphics 8(2): 100 (1989).
''Rational
\342\226\240. Beta-Spline Curves and Surfaces and Discrete Beta-
Technical
Splines.\" Report
no. TR 87-04. Department of Computing
Science, University of Alberta, Edmonton, April 1987.
\"Knot Insertion
\342\200\224\342\200\224\342\200\224. for Beta-Spline Curves and Surfaces.\"ACM
Transactions on Graphics 9(1): 41 (1990).
Bibliography \342\226\240
491
Koparkar. \316\241
\"Designing Parametric Blends: Surface Models and Geometric
Correspondence.\" The Visual Computer 7(1): 39 (1991).
Kouh, J. S..and S.W Chau. \"Computer-Aided Geometric Design and Panel
Generation for Hull Forms Based on Rational Cubic Bezier Curves.\"
Computer Aided Geometric Design 10(6): 537 (1993).
Kramer, G. A. Solving a Geometric Constraint System: A Case Study in
Kinematics.
Cambridge. Mass.: Massachusetts Institute of Technology Press,
1991.
Kriezis,G. \316\235.
\316\221., \316\234.
Patrikalakis, and F.-E. Wolter. \"Topological and
Differential-Equation Methods for Surface Intersections.\" Computer Aided
Design 24(1):41 (1992).
Kuriyama, S. \"Surface Modeling with an Irregular Network of Curves
Sweeping
and Blending.\" Computer Aided Design 26(8): 597 (1994).
492 \342\226\240
Bibliography
of the AC\316\234
25(9): 635-641 (1982a).
. \"Algorithms for ting the Volume
\320\241\320\276\321\202\321\200\320\270 and Other Integral Proper-
lies of Solids. Part 2; A Family of Algorithms Based on Representalion
Bibliography 493
\342\226\240
Comparison
with ri-Dimcnsional Generalized Maps.\" Computer Aided Dcsigit
23(1):59(1991).
Light, R.,and D. Gossard.'\"Modification Models throu gh
of Geometric
Variational Geomelry\" Computer Aided Design 14(4): 209-214 (1982).
Lin,F., and W. T. Hewitt. \"Expressing Coons-Gordon Surfaces as NURBS.\"
Computer Aided Design 26(2): 145 (19\320\2434).
Design 2\\{4):\\94(\\9S9).
Liu, Q. and \320\242. Sun.
\320\241 \"G1 Interpolation of Mesh Curves.\" Computer Aided
Design26(4):259(1994).
Llewelyn,
A. I. \"Review of CAD/CAM.\" Computer Aided Design21(5):297
(1989).
Maekawa, and
\320\242.. N. M. Patrikalakis. ''Compulation of Singularities and
Intersectionsof Offsets of Planar Curves.\" Computer Aided Geometric
Design 10(5): 407
(1993).
\"Discrete
\342\200\224. Smooth Interpolation in Geometric Modeling.\" Computer
Aided Design24(4):178(1992).
Manning.
J. R. \"Continuity Conditions for Spline Curves.\"The Computer
Journal17;181-186
(1974).
Manocha, D. \"Solving Systems of Polynomial Equations.\" IEEE Computer
Graphics and
Applications 14(2):46-55 (1994).
Manocha. D.. and J. Canny. \"A New Approach for Surface intersection.\"
International Journal of Computational Geometry and Applications 1 (4):
491 (1991).
Bibliography \342\226\240
495
.
\"Implicit Representations of Rational Parametric Surfaces.\"Journal
of Symbolic Computation 13: 485 (1992).
Mantyla. M. \"An Inversion Algorithm for Geometric Models.\" Proceedings
oISIGGRAPH '82. ComputerGraphics 16(3): 51-59 (1982).
. '\316\206Note on the Modeling Space of Euler Operators\"Computer
Vision, Graphics, and Image Processing 26(1): 45-60 (1984).
. \"BooleanOperationsof 2-Manifolds through Vertex Neighborhood
Classification.\" ,4CAi Transactions on Graphics5(1):1 (1986).
. An Introduction to Solid Modeling. Rockville, Md.: Computer
Science, 1988.
(1994).
Menon, J., R. J. Marisa, and J.
Z-agajac. \"More Powerful Solid Modeling
through Ray Representations.\" IEEE Computer Graphics and
Applications
14(3): 22-35 (1994).
Meriwether, H. D. Informal notes.Undated.
. Personal communication, Aug. 1995.
Micchelli, C, and H. Prautzsch.''Computing
Surfaces Invariant under
Subdivision.\" Computer Aided Geometric Design 4(4): 321-328 (1988).
Middleditch,A. E., and \320\232. Sears.
\320\235. \"Blend Surfaces for Set Theoretic
Volume
Modeling Systems.\" Computer Graphics 19(3): 161 (1985).
Milenkovic, V. \"Robust Polygon Modeling.\" Computer Aided Design 25(9):
546(1993).
Miller,J. R. \"Sculptured Surfaces in Solid Models: Issues and Alternative
Approaches.\"IEEE Computer Graphics and Applications 6(12): 37^-8
(1986).
-.\"GeometricApproachesto Nonplanar Quadric Surface Intersection
Curves.\" ACM Transactions on Graphics6(4):274-307 (1987).
. \"Incremental Boundary Evaluation Using Inference of Edge
Classifications.\" IEEE Computer Graphics and Applications 13(1): 71-78
(1993).
Miller, J. V., D. E. Breen,and R. M. O'Bara.\"Geometrically
Deformed
Curves.\" Transactions
\320\224\320\241\320\233* on Graphics 8(3): 235 (1989).
498 \342\226\240
Bibliography
Pham, \"'Offset
\320\222. Curves and Surfaces: A Brief Survey.\"ComputerAided
Design 24(4): 223 (1992).
Computer
Aided Design 2\320\2469): 538 {l989d).
-. \"On NURBS: A Survey.\" IEEE ComputerGraphics and
Applications 11(1):
(1991). 55
. Fundamental Developments of Computer-Aided Geometric
Modeling.New York: Academic Press, 1993.
Pi eg], L.and W. Tiller. \"Curve and Surface Constructions Using Rational B-
Splines.\" Computer Aided Design 19(9):485-498 (1987).
. The NURBS Book.Berlin:Springer Verlag, 1995.
Approximation.\"
Computer
Aided Geometric Design 10(3^.): 363 (1993),
Bibliography \342\226\240
499
(1994).
Redont, \316\241
\"Representation and Deformation of Developable Surfaces.\"
Computer Aided Design21(1):13(1989).
Requicha.A.A.
G.''Mathematical Models of Rigid Solid ObjccLs.\"Tcchnical
Memo no. 28.Production Automation Project, University of Rochester.
Rochester. N.Y. 1977.
. \"Representations for Rigid Solids: Theory, Methods, and Systems.\"
Computing Surveys 12(4): 437^-64- (l 980).
-. \"Solid Modeling: A 1988 Update.\" CAD Based Programming
Sensory Robots, ed. B. Ravani. New York: Springer-Verlag, 1988.
500 \342\226\240
Bibliography
Plenum, 1981.
-. \"Solid Modeling: A Historical Summary and Contemporary
Assessment.\" IEEE Computer Graphics and Applications 2(2): 9-24 (1982).
. \"Solid Modeling: Current Status and Research Directions.\" IEEE
ComputerGraphics and Applications 3(27): 25-37 (1983).
. ''Boolean Operations in Solid Modeling:Boundary Evaluation and
Programming
of Numerically Controlled Machine Tools.\" Proceedings of the
Computer Applications Symposium. Chicago: 1959.
-. \"The AED Approach lo GeneralizedCompuier-Aided Design.\"
9(3): 70 (1989).
Applications
5(5): 23-36 (1985).
.\"Improperly Parametrized Rational Curves.\"ComputerAided
Geometric Design 1 (3): 67-75 (1986).
-. \"Algorithm for Algebraic Curve Intersection.\" Computer Aided
Sederberg, \316\244
W., and R. N. Goldman. \"Algebraic Geometry for Computer-
Aided GeometricDesign.\" IEEE Computer Graphics and Applications
6(6): 52-59 (1986).
Sederberg,\316\244 W., and R. J. Meyers. \"Loop Detection and SurfacePatch
Intersections.\" Computer Aided Geometric Design 5(2): 161-171 (1988).
Sederberg, \316\244
W., and S. Parry. \"Comparison of Three Curve Intersection
Algorithms,- Computer Aided Design 18(1): 58-64 (1986).
-. \"Free-FormDeformationof SolidGeometric Models.\" Computer
Graphics 20(4): 151 (1986).
Seidel, H.-P \"Computing B-Spline Control Points Using Polar Forms.\"
Computer Aided Design 23(9): 634 (1991).
Serano, D.. and D.C.Gossard. \"Constraint Management: A Prerequisite to
Conceptual Design.\" In KnowledgeBasedExpert Systems1 in Engineering:
modeling. 1976.
Springer-Verlag, 1989.
Stroud, I. \"Boundary Modeling with Special Representations.\"
Computer
Sutherland, 1. \316\225.
''Sketchpad: A Man-Machine Graphical Communication
System.\" Proceedings of the SJCC 23: 329-349 (1963).
Tamminen. M. \"Efficient Octree Conversion by Connectivity Labeling.\"
Computer Graphics 18(3): 43 (1984).
Terzopoulos,D..J. A. Barr.and K. Fleishcher. Piatt, \"Elastically Deformable
Models.\"ComputerGraphics21(4):205 (1987).
Toennies, \320\232.
D.,J.K. Udupa,and G.T. Herman. \"Registration of 3D Objects
and Surfaces.\" IEEE Computer Graphics and Applications 10(3):52-62
(1990).
Tokomasu,S.,I.Harashima,and N. Nakajima. \"Spanning Surface
\320\241
\320\260 over a
Given Wireframe.\" Computer Graphics Forum 12(4):211(1993).
Toth, D. L. \"On Ray Tracing Parametric Surfaces.\"ComputerGraphics19(3):
171(1985).
Turk, G. \"Re-tiling Polygonal Surfaces.\" Computer Graphics 26(2): 55 (1992).
Turner,J., and J. Rossignac. \"Special Issue: Solid Modeling '93.\"Editorial.
Computer Aided Design 26(6): 402 (1994).
van Overveld, W.
\320\241 A. M. \"Family of Recursively Defined Curves,Relatedto
the Cubic Bezier Curve.\" Computer Aided Design 22(9): 591(1990).
Varady, T. \"Survey and New Results in rc-SidedPatch Generation.\"
In The
Mathematics of Surfaces II, ed. R. Martin. OxfordUniversity Press, 1987.
Veltkamp, R. \320\241
\"Survey of Continuities of Curves and Surfaces.\"Computer
Graphics Forum
11(2): 93 (1992).
Verroust, F.
\316\221., Schonek, and D. Roller. \"Rule-Oriented Method for
Parameterized
Computer-Aided Design.\" Computer Aided Design 24(10): 531
(1992).
Vesprille,K.J. \"Computer
Aided Design Applications of the Rational B-
PhD.
SplineApproximationForm.\" thesis, Syracuse University, Syracuse,
N.Y., 1975.
Vida. J., R. R. Martin, and \316\244
Varady. \"A Survey of Blending Methods That
Use ParametricSurfaces.\" Computer Aided Design 26(5): 341 (1994).
Voelcker, H. \320\222.,and A. A. G. Requicha. \"Geometric Modeling Researchat
the University of Rochester.\" Presented at the First Annual Conferenceof
Computer Graphics
in CAD/CAM Systems, MIT, Cambridge, Mass.,Apr.
1979.
. \"Boundary-Evaluation Procedures for Objects Defined via
Constructive Solid Geometry.\" Technical Memo no. 26. Production
Automation
Project, University of Rochester, Rochester, NY., 1980.
von Herzen, B. \"Accurate Triangula lions of Deformed, Intersecting
Surfaces.\" Computer Graphics 21(4): 103 (1987).
Wang, \320\241
\"Shape Classification Parametric Cubic Curve and
of the
Parametric
B-Spline
Cuhic Curve.\" Computer Aided Design 13(4):199-296(1981).
Warren, J. \"Blending Algebraic Surfaces.\" ACM Transactions on Graphics
8(4):263(1989).
. \"Creating Multisided Rational Bezier Surfaces Using Base Points.\"
ACM Transactions on Graphics 11 (2); 127 (1992).
Bibliography 507
\342\226\240
Woodward, D.
\320\241 \"Cross-sectional Design o/ B-Spline Surfaces.\" Computer
Graphics11(2):193 (1987).
A Bezier,83
Ab initio design, 3
113.126
B-Spline,
characteristics of, 82
Addition, vector, 421
conversion between, 85,137
Adjacency matrix, 313
Affine
even-degree polynomials,45
transformation(s),Bezier Hermite, 41,42-47
curve invariance under, 87 Hermite basis transformation
Algebraiccoefficients.
40
matrix, 48
Algebraic geometry, 2
Ancestor, 315,382
odd-degree polynomials,45
45
Angle excess, 287
orthogonal,
bias, 34,142
\320\222
cubic, 142
Barsky,B.A\342\200\236 10 tension, 34,142
Basis, 40,421 Beziercurve(s):
Basis function(s): affine Iransforma u'ons, invariance
Bernstein polynomials.83,88 under, 87
509
Bezier ciirve(s)(Continued): composite, 224
application
to geometric modeling, continuity. 224
33.81 control points,217.220
basis functions, 83.93 convertingbetweenBezierand
basis transformation matrix, 84 Hermite,222
B-Spline,32 torsion, 20
circulararc, 70
truncating, 54,97
composite, 13,74,105 Cusps, 53
conic, 31,64 Cylindricalsurface,206
conic Hermite, 64
continuity, 74,77,105
D
conversion between implicit and
parametric form, 22
Decomposition, cell, 367
cubic, parametric, 25,32,39 Deformation(s):
curvature, 20,107 axial. 276
cusps,53 bivariate, 277
decomposition of, 28 controlled,275
direct point solution, 34 shapes.284
explicit equation of, 22 surfaces, delormable, 279
fitting. 12 topology of, 284
forward difference method for 1\320\2631\321\203\320\260\320\2631\320\2601\320\265,277
position-direction, 268
power basis, 40
rational Bezier,108
\316\225
tree, 316
traversal,
Gauss-Bonnet theorem, 306 tree. 313
Gaussian quadrature, 16 wireframe model, 318
General sweep surface,265,267 Graph, directed, 313
Geometric coefficients, 41 Graphs, 313,382,400
Geometric continuity, 77 Group technology, 263
Geometric modeling:
ab initio design,3 \316\227
geometric metaphor,
2
representation^ Hermite,C.,33
visualization, 3 Hermite basis transformation matrix,
Whatisit?,l 48
wireframe, 8 Hermite curves:
Gibbs,J.W.,419 algebraic coefficients, 40,49
Glide rotation, 470 algebraic form, 40
Index.515
Instances, 260-261
Magnets, 376,391
Interobject dependencies, 379 419
Magni tude, vector,
Interpolation,7,12 Matrices:
320
Intersection,
Intrinsic of curves, 19
addition,433
equation
313
Invariant property, 439 adjacency,
cofactor, 437
Joins between surfaces,376 column matrix, 431
Jordan,C, 291 conformable, 433
Jordan curve theorem, 286
connectivity, 312
determinants, 436
\320\232 diagonal matrix, 432
eigenvalues,436
Kinematic analysis, 4 436
eigenvectors,
Klein bottle, 300 Hermite basis transformation,^
Knot, 291 identity matrix, 432
Knot group, 293 inversion of, 435
Knot spacing, 115,117 Kronecker delta,432
Knot values, 114,291 matrix algebra, 48
Knot vector, 114
multiplication of, 433
Kronccker delta, 422,432 null matrix, 432,434
order of, 431
L partitioned, 434
postmultiply, 433
Leaf node,3L5 premultiply, 433
Length, vector, 419 properties, summary of, 436
Letcher, J. S.,v,xi, 10.373 rank of, 421
simple, 293
\316\241
Polynomial interpolation, 13
Parabola, 68 Position-directioncurve,268
Parameterization, default, 392 Position vector. 417
Parameterization, effects of, 37 Postorder traversal, 316
Parameterization, natural, 392 Power basis,for curves, 40
Parameterized shapes,260,377,404 Preorder traversal, 316
parameter space,28,153 Primitives, 261,319
Parameter transformations, 54 Proceduralmodel,341,351
Parametric continuity, 77 Profile curve, 271
Parametric cubic curve, 39 Projective plane, 108,300
Parametric derivatives, computation
of, 27
Parametric of Q
equations, advantages
in modeling, 23,29 Quadrature:
Parametric modeling, 377,4()4 Gaussianquadrature,16
Parametric variable,normalizing Newton-Cotes
quadrature
domain of, 25 14
formulas,
Perspective transformation,111
Piecewise flat surface, 293 R
Piecewisepolynomials, 13
284
Rubber sheet deformation, parametric solid, 237
Ruled surface, 207 sweeps, 264
tangent vectors,250
tricubic Hermite solid, 239,240
S
trimmed boundaries, 256
SAGE system, 6 twist vectors, 250
Scalar product,422 Space-partitioning model, 367
Scaling (dilation), 440,462 Spanning tree, 313
Schoenberg, \316\231.,\316\231\316\237 Spatial occupancy enumeration, 367
Set, closed, 321 Sphere, 151
Set, Open, 321 Sphere with handles, 289