Sie sind auf Seite 1von 534

GEOMETRIC

MODELING

(Second

Edition)

E. Mortenson

Michael

Wiley Computer Publishing

John

New

Wiley

York

and
Chichester

\342\226\240

Sons,

Inc.
.

Weinheim

. Brisbane

. Singapore

- Toronto

PREFACE

Geometric

is

now

come

to affect the lives

image

construction

Geometric

heroes and heroines


worlds to conquer.The
years

Many

have

and

contenders

Cup

designs,

pleasing

beyond

phenomena

even speeds

the

design

our movie

challenges

virtual

fantastic

more

ever

with

more

of

displays

graphic

America's

of

construction

consumer

choices through customizedproduction.

just a few years ago. It

to visualize

power

anyone's

scientists

gives

modeling

and

efficient,

costs, and providing more

lowering

and

automobiles,

aircraft,

more

safer,

possible

products\342\200\224making

and

of

manufacture

and

of computer-

It is the basis

devices.

accurate

and

fast

the

diagnostic

It has

world-wide.

practiced

of us all. It makes possible

of medical

aided design

and

studied,

taught,

modeling

and

to slay

dragons

end is not in sight.


since

passed

of Geometric

of the first edition

publication

for
those
of us
years
Modeling. They have been productive
in the field. During this time two compelling circumstances
working
and
of this second edition. The first is the
affected
the
creation
and

exciting

have

motivated

progress occurring

second

applications.The
of

readers

the

first

substantial

revision

is

teachers,

a descendant
both

reflecting

from

comments

the

edition\342\200\224students,

clearly

Although

itself,

modeling

geometric

new

and

supercomputers

modeling
to

workstations

and

PCs.

demands

and

spread

The

from

usefulness

client

alike.

a maturing

affordability

of

of

a generation

professionals

developments

have

applications

almost

of vigorous

of the first, this second edition is

With the increased capability, availabiliiy,and


geometric

a result

as

and of increasingly more sophisticated

research

ongoing

within

of

mainframes

of geometric

discipline.

computers,

and

modeling

has

ix

from its initial applications

broadened

now

and

industries

the

and

Commercials

television

and

cinematography

fonts. Considering all


entirely
vision, and scientific visualization
computer
is

need

millennium\342\200\224the

for

growing

and

describing

the

at

look

comprehensive

of Geometric

edition

second

The

the

all

comparing

more

elements

into

and showing

students,

teachers,

those

will serve

edition
and

resource,

visualization,

or

primary

reasons,

three

are

There

assemble

of geometric

functions

important

functions. Chapter
Chapters

are

through

their mathematical
the

and
to

attempts

its

discusses

briefly

including

content

The

fillets).

history

bicubic

quadric,

parametric

and

operations,

solids,

nonlinear

controlled

10 addresses

and B-Spline;

Bezier,

still

Surfaces,

are the subjects

B-Spline,

the

as well as simple
of

and

Bezier,

Hermite,

instanciation

and

transformations

Hemiite,

these

mathematics.

underlying

mostly

reflect

is geometric

What

question,

the

text

this

representation, modification, and analysis.

of Chapters 6 through 9. Chapter


trivariate

the

curves:

about

all

and

shape

of intersections,

of

organization
and

to

solids),

computation

answer

to represent

objects, and to process the

example,

(for

geometry

and

It

For

disciplines.

modeling:

and

surfaces,

into more complex

forms

those

concomitant

modeling?

on the

and programming

algorithms

elementary forms (for example, curves,

offsets,

focus

special

application-oriented

is as free

Its language

textbook.

supplementary

omitted.

are

techniques

the

as

primarily

of

same

others.

many

among

a textbook,
intended to be used
well as a professional tutorial and reference,

of

necessary

and its

modeling

as practical from the jargon


so that
it may
applications
geometry and be universally accessible across a wide range
these

for

it is intended

of geometric

the first edition was

second
teaching

for modeling

assemble

and

first edition,

scientific

and

robotics,

manufacturing,

While

modeling,

structures
shape

field

the

in

professionals

to

how

applications, including computer graphics, computer-aided design

primary
and

and

of geometric

the

Like

modeling.

geometric

mathematical

models.

complex

fields and client

offers the reader

concepts

important

curves, surfaces, and solids,

in

current

third

the

in all the related

Modeling

core

indispensable

bringing us into

practitioners

applications to be knowledgeableand

as virtual

such

fields

of type
reality,

control

and

design

new

with

this\342\200\224and

automotive

and

aerospace

areas as special effects in

diverse

such

includes

the

in

esoteric

world

of

shape generation through


primitive
Much

parameterized
deformations.

shapes,
sweep
of the power

of

geometric modeling resides in its capacity to synthesize,


of much simpler ones;
as arrangements
describe
complex
shapes

contemporary
allowing

us

to

thus, the subject


the topology
graph-based,

of

Chapter

11

is complex

model

construction,

of models and proceeding


theory
and space-partitioning
Boolean,
boundary,
with

the

and

beginning

with

application

of

models. Chapter 12

Preface

synthesis. Appendices
Appendix

the

on

discussion

presents

not

the scope
and

offsets

For

text.

this

of

are no! discussed

nontensor

textbook,

mentioned,

matrix

geometric

has

modeling

a one-

for
in

level

graduate

any

methods.

in

recent

as computer

long

recognized in its
of computer
ingredient

I must

model

of

an

virtual

or

object

the

simulation

questions,

results

pertain

process.

of

must

Progress
we

Can

is-sued in the first edition: The geometric


of a process
via geometric metaphor is

a warning

repeat

the

we

such

special effects,

not the object or


When
we
the
model
ask
analyze it to better understand or predict the behavior
represented,

of

as

well

models.

geometric

Finally,

skills,

been

art, cinematographic
and

effective

and

elementary

robotics, computer vision, scientificvisualization,


reality.
in any
of these areas now depends in large measure on how well
create

the

of

text.

this

application.

applications

or two-

Programming

U is, of
a primary
course,
many fields
graphics and computer-aided design and manufacturing,as

more

models

science,

computer

necessary for understanding

of

importance
of

Euler

and

used

be

can

physics,

and

vector

and

while useful, are not


The

general

patches,

Some prior course work is required

geometry,

analytic

calculus,

are

they

schemes,

engineering,

including

mathematics.

applied

extensive

here.
or

disciplines

product

parameterization

As
Geometric
Modeling
semester course at the upper division
a

An

models.

well-understood,

Although

example,

nonstandard

blends,

respectively

too specialized, or mathematically beyond

accepted,

yet widely

geometric

in the text,completes this work-

included.

not

matrices,
of

transformations

referenced

Several subjects are

and

vectors

review

\320\222

of relational

methods

emerging

various

frequently

bibliography,
either

and

summarizes

\320\241

newly

\342\226\240
xi

that

remember

the

answers

and

what

when
is

we

being

first to the

model itself and only conditionally to its object.


if
the
model
only
to the object or process can we safely infer the object's
closely
corresponds
If

or process'
methods

behavior

is an art and

from

the

model's

science in itself.

behavior.

The

and

accuracy

of modeling

ACKNOWLEDGMENTS

The

of

history

of unique

is one

modeling

geometric

between

cooperation

from
both.
industry and academia, and material presented
Many
and refine the theories and techniques of
worked
individuals
to develop
draws

here

geometric

and

modeling,
in

referenced

and

the

in

listed

are

works

and

researchers

whose

applications

have

bibliography

Their work has made possible a


commercial

in the first edition

my acknowledgment

anonymous

are

contributions

important

of

who

developers

to geometric modeling over the past 40 years.The authors

have contributed
whose

most

the

repeat

well-known

both

those

all

I must

So

text.

this

of

many

growing
very

created
of

family

existence

a new discipline.
and

industrial,

scientific,

is not possible without a

strong underlying geometric modeling

capability.

the

thank

and

comments

valuable

of the

readers

many

first edition

the Port Townsend and Jefferson


Cahill,
Jefferson

endowed

professional

with

the

skills

of

a large
university
are
the equal
of

staffs

Bob Aronds, Diane Cerra


Spencer,
done
professionally

to

make

with

(now

at Wiley, for all

my editors
the

two

Carol

particularly

library, and Shery Hart, at


small rural libraries are not

library,

the diligence

that found

anywhere.

of

resources
their

these

Although

library-

County

and staff of

directors

libraries,

public

County

to offer

at the Port Townsend

Librarian

Reference

the

thank

I especially

suggestions.

who took the time

production

they have so

of this

edition

and

I also thank
and

Kaufmann),

Morgan

Marjorie

and

thoughtfully

an enjoyable

experience.

Harry

Meriwether and Art Eshleman I


for
thank
their
example
and for an understanding
how to think geometrically
modeling
process
of which
I had the pleasure to learn from them many years ago.
both
itself,
must

the

especially

of

of

the

\342\226\240
\342\226\240
\342\226\240

XIII

xiv

\342\226\240

Acknowledgments

Dr.

thank

John

S. Letcher,

Southwest Harbor, Maine,

for

the keel and bulb


the
relational

Porter,
on

George

relational

preparing

thanks
the

as Chapter

synthesis
to

the

field

to my wife Janet,

manuscript

the

for

long-expired word processor

that

so, she contributed

Inc.,
of

drawing

panelization

cover

and

S. Letcher,Jr., D

for permission

A. Dickson
geometric

12)

Chapter

(see

an important contribution
Finally,

the

use
the

I also thank Dr. John

and

to

permission

of AeroHydro

structure of Black Magic as


About
artwork
(see
model was Created using the methods of
geometric
synthesis

geometric

program.
article

This

Cover).

and founder

Jr..president

of

MultiSurf

AeroHydro's
Michael

H.

Seth

Shook,

to include their original


12 of this text. Their work is
modeling.

geometric

who will never forget the struggles


first edition,
using an Apple II and a now
had

we

had

as much time and

no

capability.

equation-editing

effort to

this

Even

edition.

E.

Michael

Port

Mortenson

Townsend

October

1996

CONTENTS

About the Cover

vii

ix

Preface

xiii

Acknowledgments

Introduction

1.1 What Is Geometric

1.2 History

Modeling?

II

Mathematics

1.3

Tlie

1.4

Conventions

16

and Notation

19

2 Curves

2.1 Intrinsic Equations


2.2

and

Explicit

Implicit

of

19

Curves

of Curves

Equations

23

23 Parametric Equations of Curves

2.4 Conic
2.5

Hermite,

22
31

Curves

Bezier.

and

2.6 Points on a Curve

B-Spline

Curves:

An Overview

32

34
XV

xvj

Contents

\342\226\240

39

Curves

Hermite

3/1

39

Forms

and Geometric

Algebraic

3.2 Hermite Basis Functions


3.4

47

Form

Matrix

3.3

42

50

Vectors

Tangent

and Subdividing

54

3.6 Three-Point Interpolation

60

3.5 Truncating

3.7

Four-Point

Hermite

Conic

3.8

61

Interpolation

Hermite

3.9 Composite

64

Curves

74

Curves

81

4 Bezier Curves

4.1 Bezier

83

Functions

Basis

89

Points

4.2

Control

4.3

Truncating

97

and Subdividing

105

4.4 Composite Bezier Curves

4.5

108

Curves

Bezier

Rational

113

Curves

B-Spline

B-Spline Basis Functions

5.1 Nonuniform

5.2 Uniform B-SplineBasis

126

Functions

5.3

Cubic

and

Quadratic

Basis

B-Splinc

Functions

134

5.5 Continuity

Basis

Between

5.7

Rational

Nonuniform

5.8 Representing

5.9
6

Cubic

Beta

137

Functions

B-Spline

Curves

Conies with NURBS Curves

Parametric

6.4 Hermite,

140

143

and Implicit Equations

6.2 Quadric
6.3

139
142

Splines

Surfaces

6.1 Explicit

128

130

5.4 Closed B-Spline Curves

5.6 Conversion

113

of Surfaces

144
145

Surfaces

Equations

of Surfaces

Bezier, and B-Spline Surfaces: An Overview

149

156

Contents

158

a Surface

on

Points

6.5

159

Nets

6.6 Curve

161

6.7 Embedded Curves

7/1

169

Surface

Hermite

Bicubic

The

169

Forms

and Geometric

Algebraic

7.2 Hcrmitc Patch Basis Functions

179

7.3

Tangent

180

7.4

Normals

Vectors

Twist

and

182

184

Form

7.5 Sixteen-Point

of

7.6 Reparameterization
7.7

and

Truncating

186

Patch

Subdividing

191

a Patch

192

Hcrmitc Surfaces

7.8 Composite

7.9 SpecialHermite Patches

213

217

Surfaces

Bezier

8.3

A 3 x 5

8.4

Converting

Bicuhic

Bezier

and

in a Bezier Surface

Elevation

8.6 CompositeBezier

9.1 The Tensor Product B-Spline Surface

9.2
9.3

Matrix

Open

Closed

B-Spline

Surfaces

9.4 Nonuniform Rational B-Spline Surfaces

10.1

Solids

Parametric

The

227
228

235

237

10 Solids
10.2

223

228

Form

and

222

227

Surfaces

9 B-Spline

Forms

225

Patch

Bezier

Rational

Hermite

224

Surfaces

8.7

220

Array of Control Points

Rectangular
Between

8.5 Degree

218

Patch

Bezier

Bicubic

The

217

Bezier Patch

8.1 The Tensor Product

8.2

203

Surfaces

Blend

7/10

xvii

\342\226\240

Tricubic

Solid

237

240

xviii

Contents

\342\226\240

in a Solid

Embedded

Surfaces

and

Curves

103

253

10.4 Generalized Notation Scheme and Higher-Dimension

Elements

Parameterized

and

Instances

10.5

257

260

Shapes

264

Solids

10.6 Sweep

275

10.7 Controlled Deformation Solids

281

11 ComplexModel Construction

11.1

282

Models

of

Topology

11.2

310

Models

Graph-Based

318

Models

11.3 Boolean

356

1L4 Boundary Models

11.5 Space-PartitioningModels

12

Geometric

Relational

367

373

Synthesis

373

Introduction

12.1

378

Model Structure

12.2 Relational

383

12.3 Model Evaluation

12.4Serialization

387

12.5

388

Entities

Relational

12.6

Detailed

12.7

Applications

401

Example

404

12.8 Open Issues

in

Relational

411

Geometry

415

Conclusions

12.9

APPENDIX

Vectors

417

APPENDIX

\320\222

Matrices

431

APPENDIX

\320\241

Transformations

439

CI

Translation

G2

Rotation

C.3 Rotation
C.4

Rotation

441

444

in the Plane
in

Space

about

the

in Space about an

Principal

Axes

Arbitrary Axis

447

453

Contents
C.5

Reflection

C.6

Dilation

C.7 Multiple

and

Shear

Sequential

Transformations

xix

\342\226\240

457
462
467

Bibliography

473

Index

509

INTRODUCTION

Tills

introduces

chapter

motivating
is

What

in

and

theory

of

because

importance

ways

suggesting

history
what

and

academia

application,

perhaps

personalities,

The

modeling?

of

it

industry,

the

answer

question,

is itself
tells us about
the interplay of
as well as ideas and
of geometric

modeling

more

forces

these

managing

of the forces

context

and shaping its development, and tries to

geometric

growing

the

in

modeling

geometric

effectively

This

reviews the highlights of this history,Themathematics


the
of differential
linear and Boolean
spans
disciplines
geometry,

chapter

of

modeling

geometric

and
this
algebra, topology, numerical methods, vectors,
chapter
discusses
their use. The chapter concludes with a summary of the
briefly
and

text's conventions

notation

and

1.1

Geometric
the

evokes a curious mix of the visual


in
analytic
minds
of those of us who study and apply it. The visualresponse
association
with
the
simulation
of shapes
that define objects in

modeling
and

eyes

scheme.

MODELING?

IS GEOMETRIC

WHAT

arises

from

its

the

with

response arises
The
early

that

term
1970s,

an

from

its

is

time

awareness

of

the

elegant

of

reality

the

designer's

graphics. The analytical


and

often

subtle

foundation.

modeling

geometric
a

the

and

the real world, from its association


potential
and from its symbiosis
with computer
work,
mathematics

matrices,

of

rapidly

first came into use


developing

computer

during the late 1960s

and

graphics

and computer-

Introduction

\342\226\240

aided

and

design

The

technologies.

manufacturing

of geometric

decipline

is an interrelated, although somewhat looselyintegrated,


we use
mathematical
methods
that
to describe
the shape of an object

modeling
of

collection

or to express some
These

metaphor.

include

methods

modeling, algebraic

modeling, primarily

the

in

foundations

numerical

to

ties

methods,

Computer-aided

whereas

of

geometry

tend other fields as well-

modeling,

The

representation.

of some

a model

construct

we

When

object,

exist

already

may

object

and

theory,

and

we create

it

for

interpretation

some

of

than
usually easier to test
within limits, in the same
the
actual
is to give shape or form to it. In
and

analyze

actual

the

as

way

object.

by a set of

a shape

geometric

axioms

the

of

course, correspond
Geometric

to

priori

the

is

modeling

of

properties

of

process

and

it responds,
then,
something,
we

modeling,

we

model

analyze

objeet itself. The axioms, of

of the modeled

as representative

evaluate

An effective model is

geometric

the model, and the consequent general properties


and

intended

never

statements and logical relationships


we interpret
as true statements about

mathematical
These

axioms.

of

set

a
satisfying

are
geometry

be the design for

object,
To model

contemporary

define

the

to visualize.

we wish

that

process

physical

analysis.

computational

object

may

strong

substitute\342\200\224a

it may

some as yet nonexistent object,


be
some
virtual
to be physically realized, or it may be the basis

has

complexity

algebraic

physically,

is

geometry

design and constructive solid

branches

geometric

Computational

of geometric algorithms, and

computation

geometric

Boolean

classical

of

geometry.

its

has

and

contemporary extension

with design and analysis

concerned

allows

(CSG),

geometry,

algebraic

topology,

differential

including

geometry,

geometry

CSG

algebra. Algebraic geometry is the


analytic

geometry.

shapes to create complexsolid models.

us to combine simple
mathematical

solid

constructive

as

encountered

usually

modeling,

differential

roots of contemporary geometric modeling.Solid

that we find the

It is here

of

equations

parametric

using

Computer-aided

of curves and surfaces to

the mathematics

applies

(CAGD)

design

geometric

geometric design, solid


geometry.

computational

geometric

appropriate

computer-aided

and

geometry,

an

of

terms

in

process

physical

the

that

object

creating

these

of clay

or wood

is modeled.

and

statements

relationships.

were

models

Traditionally,

made

or engineering drawings. For large objects,


and

smaller

real thing.
description

to evaluate

we

Now

use

and

before

that

abstraet,

in

contrast

to create

was

usually

a physical

much

to the construction of the


a precise

or hypotheticalobject,

has a geometric
to

model

committing

modeling

geometric

of the shape of a real

or phenomenon

process
analytical

easier

the

as sketches

or rendered

or

mathematical
to

simulate

analog. This description is


which is literal and conmodel,

What k Geometric Modeling?


crete.

models

Physical

in itself, is
abstract, because it is
a

of

worthy

object

or process,

model

than

phenomenon.

This

\320\256

is

real

(the

time (real phenomena are too


of analysis, the mathematical
advantages
to

way

important

characteristics

of interest),

the
or

For

Through the medium


model

geometric
and

functional

of

of

to overstate the importance


Geometric

modeling,

of

and

of

power,

complex enough to be of
is

computer

not

in

explicit

to

our

a
by

vector and

is, in fact,

a computer

Using

process. Without computational

and

models

analyze

even

So,

importance.

background

satisfied

once

two-dimensional

with

and

mine any geometric property or attribute.


with

modeling

computer

the

Obviously,

long

of

association

that visualization

demonstrates

graphics

us to deter-

allow

models

These

models.

three-dimensional

and appearance are important concerns,


find
that
a complete
must satisfy the requirements
of both rendering and analysis. In fact,
now

three

identify

1. Representation
model

only

important

or

the

can

modeling:
a geometric

create

must

we

where

we

once.

aesthetic

where we must create


goals,

shape and performing


fulfills

of geometric

categories

of an existing object,

2. Ab initio design,
functional

application

model

we

and

of

representations
valid

geometric

the

though

if only in the

it is ever present,

or

sophisticated

engine.\"

were

complete

with

process,

computer-aided

physical objects, we now demandand achieve topologically


analytically

numerical

of

arsenal

complex description of an

computer.

construct

studies,

L%geometry

we

is a

It

computer.

practical

any

as our implied
Where

capabilities,

geometry,

an

and

theory,

geometric-modeling
unable

be

would

we

operations.

rendering

analytic

the potentially

to capture

to the entire

its

and

design

modeling.

differential

object, requires the power


the model stored in and analyzed
central

transmit

to

an

is

geometric

manufacturing

and

geometric

using

methods

and

graphics

matrix methods, tensors, topology, set


computation

the

the basis for exploring and evaluating aesthetic


some
It is becoming
more difficult, indeed,
object.

becomes

qualities

the abstract

used

commonly

computer

or

Beyond

uncontrollable).

example,

model of a mechanical part is


data
between
production
engineering
now

or

object

model of an object's geometry

information.

convey

analyze

or too small),

slow,

too

fast,

to

object is too big

to

relative

simpler

real

the

with

experiment

of size

because

model

(the

complexity

or

measure,

more practical

real

the

for

substitute

economical

and

convenient

create

and because it is easier and

test,

be

may

We

study.

separate

used, and their story,


either physical or
model,

still successfully

are

or mock-ups

\342\226\240

design

criteria.

defining

and

new

to

object

revising

appropriate analysis until

some

satisfy

a hypothetical
we

create

object's
shape

that

Introduction

\342\226\240

3.

three

These

the

it.

are, of course, closely related. For example, when


model
of a new, physically nonexistent product,

categories

create

first

geometric

must be suitable
and
evaluation.
we can use its geometric model to guide the
for

existing object.
and

drawings

of

on

demands
now

can

the physical shape of an


model

geometric

and

virtual

are

reality

Many

visual

robotics,

vision,

computer

and

systems
and

the effects of multiple

and

and

techniques

have

new

much

seamless engineering

of

effort

this

and

using

more like sculpting

to rapidly

ability

engineer's

design

complex models.

Engineering analysis is

of solid modelers.

sophistication

models.

fi.iitc-element

of

analysis
The

area

an

effects

They

mechanical

these

of

also

not

mimic

create

in

solid

those

only
manufacturing,

with

the

increasing

Solid modelers permit rapid construction


automatic

permit

are

then

static

to a variety

subjected

quickly

of

and evaluate highly

change

undergoing

parts

loads

of simple

combinations
will

In

process.

manufacturing

shapes and sophisticated shape transformations,


the artist
but also those forming processes available
extending

at creating

aimed

activities may soon be


tools,

sculpting

modeling,
of this possible.

much

made

on these

rely

advertising
in solid

on more sophisticated computer-aided


with

the engineer's

The

drafting.

and

Advances

systems,

drafting,

texture,
and

techniques.

work continues

manufacturing

of

appearance

light sources. Art, animation,


own impetus
to the state of the art.

films

feature

in

modeling

a virtually paperless and


design

their

contributing

effects

the

including

objects,

sculptured-surface

design

Computer
graphics
two-dimensional
color-shaded

realistic

produce

each

making

capabilities.

geometric-modeling

special

Development

conditions.

provides

engineering

including

object,

Now

modeling.

geometric

routinely

translucence,

structural

When

object.

design, and computer-aided


the driving forces behind the

to be

continue

three-dimensional

of
renderings

than

the

of

it

design,

reality, scientific visualization, and artificial intelligenceare

virtual

polygonal,

the

process,

the

of

manufacture

we

displays.

graphics
and

been
much

of
development

display

this

in

point

any

a specific

selecting

finally represents

graphics, computer-aided

have

manufacturing

systems

At

computer

Computer

new

the model

for rendering visual images

information

After

analysis

is complete,

production

order to

of the model in

an image

generate

evaluate

and

interpret

visually

must

we

where

Rendering,

of

and dynamic

of loading

and accurately

displayed,

using computer graphics.

Computer-aided

kinematic

possible,
and

check

because
clearances

analysis

designers
between

of

complex

mechanisms

also

becomes

can move parts of a solid model independently


those
either
or analytically.
It is
parts,
visually

What Is Geometric Modeling?


now

also

to

possible

other

ask

or
screwdriver
sufficient clearance for
whose location allows only limited access? or Is

one of the most fertile

Perhaps

of

automatic.

completely
database,

and

and

production

assurance

and

robotics

to

automated

the
finished

of

their

offer

now

intelligent

dimensions and recognize objects


a

and adaptive powers of

will

of

theory

is

systems
of

more

natural

vision(Where
reasoning

in

may

lie

am

I?

is it?)

What

Virtual

spaces.

a new

geometric

integrative

solutions

partial

and

the kinds
effectiveness

of

of

and

artificial

senses

an

and

science.

art

applied

models

modeling

and

reality

and

computer

of the model, an
and

of

and

done

need

in

geometric

the natural limits to visualization

and

yield
modeling

understanding
and

it might

However,
may

a better

(physical

how

visualization

require
answer

best
how

modeling

geometric

contemporary

modeling

possible

computer

to spatial

amenable
scientific

and

quantitative),

the

geometric

We

an

for

need

As models become

manufacturing

models

applications.

applied.

own,

to dynamic influences. For all these


both shape and behavmetaphor
encompassing

results.
Much work remains to be
theoretical

using

is growing.

in these
of

theory

general

to create, on their

qualitative

require

ior.The various conceptual fragments


offer

sensory

and powerful shaping procedures. Robotics and

models susceptible
in

other

the

(both

equivalence

configuration

geometric

and

self-validation

automatic

geometric

understanding

tactile,

its client applications,

modeling

geometric

require

as

cast

appropriately

more complex, computer-aided design


graphics

that move in three

environment

with strong stimulus from

overarching

encourage

inference.

Geometric modeling
However,

visual,

immediate

their

of

model

geometric

to artificial

robots

will be programmed

robots

Ultimately,

from

for

products

vision, fields important

computer

to produce

fields

these

now

also

processes.

systems

of

and

machine

parts

intelligence systems.Advanced geometric-modeling


information.

to be

of parts

models

for

instructions

Automated inspection

quality

improving

synthesis

via a

furnish,

may

geometric

unambiguous

Developers of geometric-modeling systems

that

systems

designers

assembly

shop and assembly line.

application

makes

modeling

Manufacturing programs then interpret these models

manufactured.

possible,

is

tool path-verification

Engineering

complete

generate

spot-

modeling

geometric

geometric

example,

possible process planning and machine


computer

robotic

for

possible

applications

For

manufacturing.

computer-aided

are

it

a joint?

to reach

welder

reach

to

wrench

such as: Is there


and turn a fastener

questions,

often-neglected

\342\226\240
5

mathematical),

be measured.
geometric

some future
more

comprehensive
on

both

fronts\342\200\224

of why we model,
and

of

of the

We need to explore
modeling

can

work

Introduction

\342\226\240

and

limits

these

within

understanding

the

of

the

between

relationship

1.2

in

model,

a model.

choose

we

how

and

the

its model,

and

object

minimizeambiguities

strength of their correspondence, how to

better

them. Wc need a

to overcome

help

perhaps

HISTORY

The history of mathematical geometric


thousand

the

to

years,

of

application

modelinggoes
to naval

sections

conic

one

over

back

when

architecture,

of
hulls
engineers and ship builders designed and lofted
ships'
based
on by then well-known
methods for constructing conic curves. More
lines

the

recently,

the

of

shapes

were

aircraft

and

ships

in

and stored

lofted

manually

vast libraries of scribed sheet-metal sections.


revolution
occurred.
In
the
1950s and early
1960s, the advent of the electronic computer changed
a

Then

the

forever

in

These,

manufacturing.

modeling are found

geometric

for

developed

systems

graphic

computer

modeling.

of today's

roots

The

do

we

way

the

of

descendants

are

turn,

computer-aided

earliest

the

in

design

and

Air

Force's

U.S.

SAGE

at MIT,
was
computer system of the 1950s.Ivan
working
the earliest
among
pioneers in this field with his Sketchpad system.This
Sutherland

(1963),

and

other

early
and

the

extending

improving

stimulated

the

However,

period tended to emphasize appearance


side,

engineering

used

structural

in

the notable

with

and

analysis

of

they
of

basis

the

that early

during

rendition

the

on

design

of the finite-element models

exception

in aerothermody-

used

models

analogous

is

that

modeling

and

and

process,

drafting

of much of the mathematics

modeling.

for

possibilities

and

design

engineering

development

geometric

today's

wonderful

suggested

systems

graphics

namic analysis.

On the manufacturing side, the

the

subtractive

simple

were introduced into


the

extracting

drawings. Such a task


developed

to

translate

the

not

was

shape

until

possible

from

information

compatible format. D. T. Ross (1959),


guided
analytic

an

early

geometry

and
as

highly

the

a basis

model

cutter
and

understanding

design from its engineering


special

the
Illinois

were

languages

drawing

into a computerof

Institute

Technology,

effort to do just that,


for a modeling
and machine control language.

from

a geometric

at

of
way

successful

The APT languageemerged


constructs

a new

the

control

and

of an object's

information

shape

control processes. Computers

calculate

to

manufacturing

with

begins

modeling

geometric

of numerical

tools. This required

of machine

motions

modeling

of

history

this

classical

using

work.

Using

of an object to be

APT,

a parts

machined

from

programmer
raw

stock

\342\226\240
7

History

and

controlled

numerically

oriented

sculptured
pioneering
of

other

work

problem-

generating

I
C. Ferguson
S. A. Coons (1963,1965), also at MIT,
began important work in nonrational free-form curves and
and

Hermite

cubic

the

using

surfaces,

Coons1

scheme.

interpolation

work was also important because


the
development
curve and surface representations.
The early efforts of
Castelfollowed by the independent and insightful
1963) were quickly
a widely used method
Bezier
who
for
produced
(1966,1967,1968),
stimulated

it

\316\225

(1959,

jau

for

and

advanced

an

languages.
at Boeing

(1964)

of the

beginning

MIT, developed

programming

graphics

for

model,

in industry.

Ross (1967), then at

for

language

the

marked

revolution

machinery

(NC)

In the mid-1960s,
compiler

This

tools.

machine

computer-controlled

the

reference

which

instructions,

cutting

incorporates

de

P.

of

curve and surface design.


this

about

At

Motors

General

time,

other companies, notably Douglas, Lockheed,


The

developments.

significant

H. D Meriwether (1966,1967),

extended

who

and

cubic

the

of

usefulness

and
understanding

and

and

the

recording

important, but the real


model

through

Of

itself.

process

manufacturing

all phases of design

versatility of the

modcVs

still

as witness

fruit,

bearing

rational

or

B-Spline

the simple

surface

of

limitations

This

aircraft

Southern

broken

bicubic
scheme

aircraft

California,

structural
was

and

aesthetics,

shapes,

NC

the

the

approach

philosophical

free-form

interested

languages
of

in

shape-modeling
of

mathematics

parametric

and

automotive

of
geometry
in Seattle,
St. Louis,

styling\342\200\224body

were

departments

engineering

the

solid

and

surfaces

sculptured
in

stimulated

further

the

Meanwhile,

highlights.

are capable

shapes.

by a growing need

was

surfaces.

quadric

like NURBS,

forms,

and applications

and aerodynamic
in

and

programming

was reinforced
Detroit

industries.

and

on the universality

an emphasis

representation

work on the mathematics


modeling.

the

into

lines, circles,conies,

of incorporating both standard and


Early

of the

evolution

the popular and widely used nonuniform


form.
The sucecss
of the NURBS form arose out of
and
still rely on standard
manufacturing
processes

design

and

curve

put

on

and

form;

analytic shapes, such as straight


Rational

and analysis,

representational

NURBS
that

fact

this

course,

of a design was

and

use

process\342\200\224the

model

mathematical

of

of the end product

the

was

forms of curves and

Hermitian

bicubic

geometry

prize

the

considerably

surfaces. To Eshleman and Meriwether,the idea


describing

made

also

McDonnell,

was led by A.E.Eshlemanand

effort

Douglas

system. Several

its DAC-1

developed

and
for

looking

tools. At this time,

new

including

geometry,

better
ground

Coons1

notation
patches and Bezier's (1974) special surfaces,
introduced
by A. R. Forrest
(1971). From a productive decade of

research and development

with

ending

in

the

mid

1970s,

there

the

emerged

the

idea

Introduction

\342\226\240

of

and

curves

piecewise

the

surfaces,

curve segments or surface patches

in computer

workers

some

Meanwhile,

more

form

to

of many individual

together

joining

shapes.

complex

and certain areas of

graphics

computer-aided design (includingarchitecture)


called

now

modeling

geometric

were initially two-dimensionaland


for

methods

and

reducing

and

lines

of
composed

curves

each

where

drawing,

the

defining

constructed interactively.This
engineering

data.

digitized

interpreting

is

line

as

intended

were

in

or curve

and independently. The model is stored

element
in

the

same

the

and it is usually
way

is constructed
as

computer

is

model

A wireframe

much

or

tools

drafting

of an object,

edges

done

schemes. These

and polygonal

wireframe

of

areas

two

in

work

began

as an

separately

a list

and

of lines

curves.

Current
dimensional

and

representations

For

deficiencies.

are

there

faces

three

realizable
of nonsense
dimensional
information

for

this. Figure
a

in

interpenetrate

often

well-known,

this

way

that

usually

systems

have

internal

no

1.2a shows a classical example. Implied

makes

the

of a physically

interpretation

solid impossible. The wireframe


is a different
1.2b
object, because it cannot be constructed or interpreted
Another
is the lack of contour or profile
space.
deficiency
in

Figure

in

surfaces

13 illustrates

are

models

wireframe
of

to prohibit

tests

interactive

Figure 1.1 is a good example


ambiguity,
equally
likely passages through the object. It is also

easy to create nonsenseobjects,sincethese


logical

three-

constructing

enhanced

considerably

three-dimensional

example,

ambiguous.

frequently
because

have

of

However, all pure wireframe systems exhibit

procedures.
severe,

modeling systems are capable

wireframe

inferred

between

the

wireframe

this limitation.

Figure 1,1 Wireframe

ambiguity.

lines

and

curves.

kind
three-

Figure

History

Figure

Polygon
systems,

structure

of

vertices,

edges,

faces.

extensively
with

edge.

animation

The

with

and

picture-generating
polygonal

modeling

systems

This is true
because
schemes
polygonal
used as research
tools for computer graphics display

highly sophisticated.

technology,
the leading

and
associated

algorithms

picture-manipulating

been

create

is, however, straightforward, consisting of topologicallycrosslists

have

objects.

or
modeling schemes were initially developed
pietures
but there
is a considerable
gray area between polygon and
and
the
distinction
is not always
clear. The polygonal data

referenced
are often

nonsense

Wireframe

to

renderings,
wireframe

1.2

in

and

hidden-surface

part

or

ray-tracing

techniques

at

10

Introduction

\342\226\240

in farm

Contour

hi ion noi

included in wireframe model

1.3 Missing contour information.

Figure

Coons, Ferguson, and others developed

to

surfaces

traditional

industries

with

The

were

much

F Riesenfeld (1974b)introduced
to computer-aided

and

design. Barsky

geometric

variation, the beta-Spline,


soon

followed

surfaces

and

curves

M. G. Cox (1972),
for

much
and

development

of

this

12).

Taken

surfaces
geometric

More

work.

of

application

new

led the
for

framework

object-oriented

design, called relational geometry (see Chapter

geometric
these

together

(1946),

foundation

J. S. Letcher (1995)

recently

B-Spline

popular NURBS

mathematical

the

laid

and

I. Schoenberg

B-SpHnes).

and C. de Boor (1972)

successful

computer-aided

rational

(nonuniform

surfaces

and

Bezier

the

of

in the very powerful and

after, culminating

and R.

([981) introduced an important

formulations

Rational

mentioned

curves

B-Spline

applied

of

patches

1970s, W. J. Gordon

in the

later,

analysis

cubic

parametric

formulations of Bezier,as

Not

successes.

early

well-known

were

They
with

Coons and Ferguson and the


previously,

versatile.

and

accurate,

easy to modify and that were compatible

processes.

manufacturing

and aircraft

automotive,

shipbuilding,

more

faster,

something

after forms that were


and

of the

techniques

lofting

the

replace

sculptured

methods,

in the

grounded

curves

parametric

and

of differential geometry, form the core of computer-aided

design.

Solid

a relative

modeling,

newcomer,

limitations of the other schemes


dimensional
and

objects.
geometric

complete

The

when

and

representing

of

objects.

There

different approaches, including boundary representations


constructive

Voelker

solid

(1977).

geometry

Perhaps

(CSG),

at

the

pioneered

farthest

by

frontier

three-

analyzing

is to create unambiguous

goal of solid modeling


representations

some of the

to overcome

is intended

been several

have

(B-reps)

A. A. G. Requicha

of geometric

and

and

modeling

\316\227.

\316\222.

and

The Mathematics
still

a wider

awaiting

the internal properties

It

seems to show concurrent,


Even

areas.

and there continue to

the

Furthermore,

of

optimization

has

shapes

looks

modeling

1.3

and

alteration

more

increasingly

gained

attention,

stimulating

methods. The future

of

geometric

to bring many surprises.

it is bound

and

bright,

the various

hybridize

interactive

of

possibilities

of all current modeling

reconsideration

three

the marrying of parametric and implicit

including

geometries.

and

combine

to

all

in

of constructive solid geometry


of the 1960s, There have heen

technology

made

efforts

be

techniques,

modeling

APT

the case. The record

development

independent,

largely

in the

roots

representations
this is not
However,

later development

the seemingly

tenuous

few

has

but

modeling

to sculptured

wireframe

models.

solid

in

culminating

of geometric

the evolution

that
from

descent

of

line

the

assume

to

is tempting

surfaces,

in

detail.

greater

followed

as its surface

represented

fully

work

twenty
much

in

as

are

object

where

E. L.Stanton and L. M.Crain( 1974/1977)began


area
this
discuss these areas of solid modeling
years
ago. Later chapters

properties.
over

an

oT

is true solid modeling,

of its potential

recognition

11

\342\226\240

THE MATHEMATICS
first

At

to

appears

glance,there

be

a large

surfaces, but this is misleading. All


an

have

equivalent

form.

implicit

parametric

The

representations

polynomial

and Bezier

Hermite

the
are special cases of the B-Spline
nonrational
cases of the rational forms. This text proceeds
are special

forms

restricted

and

special

to

the

representations

and

form,

more

representations
the

from

more

forms, and for

inclusive

and

general

curves and

of unrelated

menagerie

curves and surfaces focusesparticularly on parametricrepresentations.


This

of

study

maiical techniques, in addiiion to the


differential

from

surfaces

arc linear algebra, vectors, matrix


polynomial

operations),

of

review

brief

vector

The

used

in

is perhaps
modeling.

vector

offers

distinct

intuition

seems

only

components
a

methods.

Here is

the single most important mathematical device


We
itself as a geometric
can
think
of a vector

to
our
fit
geometric
object, because
notion of objectivity is easily obscured
it

Boolean

(including

theory

numerical

and

and

curves

of these techniques

important
set

mathe-

of them.

some

geometric

most

methods,

interpolation,

of several

parametric equations of

The

geometry.

use

extensive

makes

modeling

geometric

advantage

individually
over

classical

if

are

we

and

of displacement.
limited

separately.

analytic

geometry

to

working

This
with

Vector geometry
by minimizing

Introduction

on a specific coordinate system.


coordinate
the choice of a particular

dependence
often

allow

until

later

the

a computational

of

stages

vector

Operations

and

perpendicularity

while

parallelism.

several

handle

VectoTS,

just

reveai

geometric

These

operations

of course,

direction.

and

displacement

such as

relationships,

methods

algebraic

support

carry

meaning. Last, but not [east, vector equations

geometric

retaining

than

vectors

least,

very

system to be postponed

process.

more inherent geometric meaning


Simple

the

At

once.

at

equations

component

Appendix

presents

review of vectors.

Matrix algebra is another powerful too!


The
array
modeling.
of elements
that makes up a matrix may represent simply an orderly
or perhaps a set of polynomial
to some
numbers
pertinent
problem
define
allowable
equation coefficients. The rules
algebra
these
Another
use of a matrix
is as an operator. Here, the
arrays.
of

geometric

of

way

storing

matrix

of

on

operations

matrix performs

on the position vectors


a

as

matrix

that define those points.The

modeling computations. Because


many

Appendix

properties.

special

in

determinants

good idea

in this book, it is a

expressions

their

with

reacquainted

\320\222

become

to

both

reviews

determinants.

and

matrices

and

operations

of
interpretation

encounter

also

will

we

by operating

of many geometric-

foundation

is the

operator

geometric

of points

a set

on

transformation

geometric

and

Approximation

surface to a set of data points

pass reasonably

to

required

pass

through,

or interpolate,

ways
an

Under

curves.

or

must

a curve

scheme,

two

describe

interpolation

of fitting a curve

or

approximation-fitting

close to the data points


not
them. Under an interpolation-fitting
but

is

Here we use
each
data
scheme, however, the curve
through
point.
the powerful but simple theorem that says
line
exactly
interpolates
two given points, a eonic curve
(is defined
by and passes through)
four points, and so on.This suggests a
a cubic
points,
interpolates
must

pass

straight

three

interpolates

polynomial

of

n:

degree

f(x) =
These

polynomials

are

of the form

is, a function

that

av

used

widely

axx

for

\302\267
\342\226\240
\342\226\240

\317\215/

because

interpolation

they can be

of
a
finite
number
evaluated, differentiated, and integrated easily
steps by using just the basic arithmetic operations of addition, subtraction,
in

and

and

multiplication.

sensitive

of

polynomials

Using
to

the

choice

of

the

interpolation

they may produce a shape


approximation

method.

However,

same

the

of points is very
At appropriately
chosen points,

as the number

points.
very

differing

if

order

little

interpolating

from

that

function

of the

best

is badly

behaved,

The Mathematics

an

producing

of interpolation

in the sequence

anywhere

shape

unacceptable

13

\342\226\240

of data
distribution
the
points, then it may be poor everywhere.
points
may lead us to expect a smooth, convex interpolating curve. However,
instead
be a curve
with many inflection
may
points, that is, one that
For

example,

result

the

wiggles.Using piecewisepolynomials
That

problem.

segments
corresponding

can

we

is,

successive

fitting

by

successive

[ow-degree

data

of

groups

points.

degree polynomial interpolation


the piecewise

curve

a composite

construct

is

In fact, as Farin
now

of a string of curve

(1993a) points out, high-

theoretical

of

mostly

to

curves

polynomial

this

sidestep

consisting

is faster, more accurate,

approach

to

us

allows

usually

because

value,

and reliably produces more

acceptableshapes.
and

methods

Numerical

modeling

geometric
unlimited

This

capacity

executed or carried out exactly


polynomial

polynomial

of

\316\267

degree

at

of

that

means

Horner's

to

rule

difference

forward

the

and

intervals

equal

of

the algorithms

because

necessary

are not processed on ideal computing machines


and

precision

are

analysis

the

be

a general

evaluate

variable

cannot

computations

to evaluate

method

parametric

with

are

both

discussed

in

Section 2.6,

An iterative technique called Newton's


inventor
of it) finds the roots of a given function f[u)
method

might

be

the sliding

conditions-

We

tangent
the

isolate

method.This
roots

ur

such

method
that

u}

0.

1.4

Newton's

better

the

likely
name

works in certain controlled


< itr < uki where there is only

l(u)

Figure

was

he

(since

method

14

Introduction

\342\226\240

in

root

one

and

interval

this

discontinuities or inflections(see

with no

(or curve) is well-behaved,

function

the

let

We

1,4).

Figure

Then

where

the

then

Oand

>

or

shift

doubtful. Here

is

ut

1/'(\320\270()1

increment
an

ul when

\320\270| +

0. If f(ut)

ut-

is zero

small,

very

to a solution is

large, and convergence

is very

\320\276\321\202

example:

= 90u2

f(u)

30\321\2133-3\321\2132

\320\224\321\213)

9\321\213-15

\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

0.850596

0.416667

->

0.850596

-> 0.720948

0.720948 -> 0.698190

0.698190 -> 0.697539

0.697539

0.697539

->

\320\275,-0.697539

formulas

Quadrature

evaluate

The

integrals.

that an integTal represents the area

under

curve

assumption

underlying
defined

some

by

is

function,

say/ftO-Thus

dA=

f(u)du

\\
CI

is

where

\320\224\320\270)

(\321\217\320\224)

The

(see

an

FiguTe

Newton-Cotes

explicit

formula

that

can

be evaluated

at any

\321\213

in

the

Tange

1-5).

quadrature

formulas

assume

including the bounding ones (see Figure 1,6).Hie

equally
first

fout

spaced oTdinates,
formulas

\320\260\321\202\320\265:

Mathematics

The

IS

\342\226\240

1.5

Figure

Quadrature.

w
=
\320\2732

[/\320\253

rule)

(TTapezoidal

\320\224\321\213\321\214)]

\321\203

w
=
\320\220\321\212

\342\200\224\320\251\321\206\320\260)

Af{uh)

\320\227\320\2751

\"g-t/\320\253

+ 3/K)

+ 3/K)

(Simpson

\320\224\320\270\321\201)]

rule)

+ /K)]

4\316\2671

\320\233

32/ti<u)

\342\204\226\320\264)

12\320\233\"\321\201)

32/i\302\243'j)

7/i\"i)]

\"90

A, is the

wheTe

For

example,

higheT-OTder

lotal

area and

is

the

width

of

a single

area between a,e. The sequence

A5 is the lotal
formulas.

Figure

1.6

Quadrature

divisions.

division.

quadrature
continues

for

16

Introduction

\342\226\240

AnotheT

Gaussian

appToach,

allows

the function to be sampled

There

are,

of

many

course,

be evaluated and selected

for

abandons

quadrature,

(evaluated)

otheT
any

at

equal
optimal

Each

formulas.

on

based

problem

particular

locations.

\321\202\320\276\321\202\320\265

quadrature

and

spacing

should

its

applicability,

1.4

NOTATION

ANO

CONVENTIONS

of the

Hereisaiist

common

\321\202\320\276\321\202\320\265

most cases, they will


the

also be explained

Cartesian

righl-handed

coordinate

As

used.

first

when

in this

used

notations

and

symbols

for

conventions,

unless noted

is assumed

system

text. In

otherwise.

fl,fe,c,.. .

Scalars,constantcoefficients:lowercase
letters

ajb,p,r,s,...

Vectors:

lal

of

length

Magnitude,

letters

lower-case

boldface,

\320\260,

of

\320\276\321\202
\320\277\320\276\321\202\321\202

vector
Matrices:

\316\221,\316\222,\316\234,...

..

\316\221^,\316\222_1,\316\234_1,.

MT,...

B7,

A7,

...

m,h
\320\252\321\204

Q>n

boldface,

letters

uppercase

Matrix

inveTSe

Matrix

transpose

Matrix

elements

or other

array

elements

a',p',A',P',,
or

IAI

s, r, u, v,
\317\207,

Transformed

wf.. .

PaTametric variables
coordinates

Cartesian

\320\270

Union

\316\267

InteTSection

matrix

Quaternions

\316\275, \316\266\320\276\320\263\321\205|,\320\273\320\263\320\263,\320\245\320\267

or

vectOT

Determinants

\\A\\

Q,,..

5,

\320\233,

..

Difference
t=

is

an

elemen

t of

For all

[a,b]

Closed interval,continuous

;
\\a

b]

Closed

interval,

integral

or

values
discTete

values

(a,b)

Open

interval,

continuous

values

Conventions and Notation

17

\342\226\240

Differentiation:

dy
\321\203

dx

d2y
yxx~-

dx2

dx
X\320\271--

du

d2x

vflHJ

dud

and so foTth.

n!

n\\
. means

ij

The notation

for

and

Bezier,

Hermite,

i\\(n-i)\\

from uniform and standardized


literature.
to generally accepted, although not
conforms
presented

tor

here

and

comparison

numbers

Hennite

cuTve:

of

these

The

foTms.

used

in this text
are

They

numbers

wheTe

expressions

notation

is far

surfaces

universal, forms.

in both

reference

including the Tational B-Splinc


equation

The

the

in

and

curves

B-Spline

they

canonical
in

and matrix form,


the

\320\260\321\202\320\265

parentheses

\320\260\321\202\320\265
fiTst

found

in

text.

the

=
\321\200(\320\270)

\320\225\321\214\320\233\321\217(\320\270)

(\320\227.\320\237)

\320\263
-\320\236

\320\2501,\320\222

\321\200(\320\275)

Bezier

(3

20)

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)

B-Spline

(4.7)

curve:
\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(\")

wo
=

()

<M9>

18

Introduction

\342\226\240

Hetmite

surface:
ft

\317\201(\302\273.

w)=\316\243

1=
=

0
\320\237\321\203*

UMFBM^W

\321\200(\320\270,\320\270>)

Bezier

v^m^h

\316\243

smface:
->

\320\273>

=
\317\201(\316\257\316\257,\316\234')

(I

\321\200,\320\220.\320\226*\320\230

\342\226\240=
0

UMbPMjJ'W7'

p(M,w)

B-Spline

\316\243

\316\243

smface:
-1

-\"\342\226\240

\\

=
p(\302\253,w)

2,
d

\317\201-\316\233\316\272\316\237\316\237^\317\207\316\227

\316\226

II

O/*

p>

\302\243\302\243\320\273,7\320\240,\320\233\320\273(\302\273)\320\273'1,\320\230

/I

CURVES

parameter

of

family

describes

definition

Another

freedom.

as the locus of

defined

often

are

Curves

records

History

points.

curve as
of
one
dimension,
help us to visualize a curve
a

to

but

they

are

not

curves

describe

mathematically

Of
useful

and

is

category

expressed

forms. This chapter briefly


curves.

representing

the

points on a curve; so this chapter concludes

with

and

2.1

and

Bezier,

is

one

but the

fact

a rectangle
that

particular

has

four

is

angles

equal

has

rectangle

because an external frame of reference


direction

direct-

in question,

is

required

two

is intrinsic to the
vertical
to

determine

sides

and

reference-

of

frame

that

the

of

discussion

OF CURVES

EQUATIONS

fact

a series of

us to determine
a

B-Spline
for

methods

An intrinsic property
on only
that
the figure
depends
not its relation to a coordinate system or other externa!
The

The

solution,

inverse-point

INTRINSIC

include intrinsic
equations.

parametric

require

problems

of its

expressions-Ways

modeling

Hermite,

may

to geometric

importance

reviews and compares these

modeling

Many

in

powerfully

sense

analytical

for geometric

definitions

Such

intuitive

more

equations, explicit and implicitequations,


latter

only.

our

modeling is that these definitions lead to


to

length

improve

analytical.

explicitly

one

with

having

path

and

behavior,

a point moving
degree
of
a curve as the locus of a oneon the idea of a
variations
many

rectangle,

is extrinsic,
which

vertical.

19

Intrinsic

of

descriptions

Imagine that

are

you

a figure
in

standing

are easy to construct and understand.


large
open space, free of any obstructions

a simple
or convenient reference points, and that
do
to
experiment
this
is easy,
in intrinsic
First, you decide to walk
geometry
square
path;
because
the intrinsic definition of a square is simple. From
walk
ahead,
orientation,
say, 10 paces; turn to your right 90 degrees,
and walk 10
turn
90 degrees
right
again, and walk 10 more paces.
should
at your starting
be back
position.
Repeat this one more time,
reference
The 90-degree turns certainly do not require
system,
can easily
since
various \"local\" methods to determine these
imagine
you
want

you

in

initial

any

and

position

more

paces;

and

you

external

any

turns, and counting to

is

10

obviously

local

purely

You have just

operation.

works
for a
and
what
exercised a procedural intrinsic definition
square,
a circle.
with
works equally well with other Figures.
Again,
square
How many different
start
intrinsic procedures can you find
anywhere.
a circle?
are more
This
demonstrates
that intrinsic
definitions
in
local than traditional Cartesian coordinate definitions.
a little
deal
with
geometry
piece at a time.
These exercises may strengthen our intuitive appreciation of
are
not rich
but
in analytical
For this we must
they
description,
potential.
a

of

this

Try

for

walking

definitions

Intrinsic

intrinsic

an

look at an example
arc

its

an

length

intrinsic

the

length
intrinsic

these

[t

1/p and one its torsion

and

of how much

is a measure

course,

is interesting

defined,

and

the

two

requires

\317\204as

intrinsic
functions

a plane

from

deviates

curve

space

(2.1)

g(s)

curve

twist out of the osculatingplane),


is, of
length
measured
along the curve. The theory of curves proceeds

much it tries to

(how
from

curve

s;

-=\342\204\226)

Torsion

equation.

its curvature

one expressing

equations,
of

of

and

arc

equations.

to make
so-called

a distinction
natural

intrinsic equations, as just


of a curve is
natural
equation

between
A

equations.

any equation connecting its curvature 1/p,

torsion

\317\204,

arc

and

length

s:

(2.2)
/(-,v)=0
has
certain
special
imposes a condition on the curve,so
0 is
but many curves may have these properties. For example,
properties,
a natural
all plane curves, and 1/p = 0 is also
equation
characterizing
natural
all straight
lines. An additional
independent
equation
characterizing
more.
still
Solving
equation g(l/p,ivv) = 0 of the curve determines

This equation

that

it

\317\204

the

the

two

natural

=
equations/(1/\317\201,\317\204,.\316\275)

and

g(llpxs)

natural

curve

= 0
simultaneously

for

Intrinsic

1/p

and

as

\317\204

determine

equations

curve

intrinsic

s produces

of

functions

equations.
its position

for

except

uniquely,

Here is a slightly different approach,


curves: Given the initial point of a curve, the
will

define

completely

with the

the curve

of

equation

\317\207

\320\272

A parametric
the equationsx
the equations

The

axis.

\316\270

the

is

dxlds

description
= *(s) and

these
for

arc

with

by

s and

between

intrinsic

the

from

of a curve

the

\316\270

is

length.\316\275

to

tangent
an

intrinsic

cos

= cosO

and

and

arc

length

andy(s)

with
begins
are related
by

dy

sinO

(2.4)

ds

with

equations
\316\270

its

functionsx(s)

y(s).Tht

equation

of

terms

in

ds

dQIds,

\316\270

subtended

angle

relationship

emerges

1/p,

dx

Differentiating

variation of

to plane

limited

curve.

the

Curvature,

curve,

the

21

\342\226\240

Two natural
in space.
and

2.1

Figure

using

of Curves

Equations

for

dylds

sin

to s and substituting

respect

the

\316\270

yields

simultaneous

\320\272

for

differential

equations

tfx

ds2

+ K(s)dy

tfy
ch]

Figure

2.1

Intrinsic

ds

K(s)dx

= 0

(2,5)

ds

definition

of a curve.

22 *

Curves

IMPLICIT

ANO

EXPLICIT

k(j).

OF CURVES

EQUATIONS

In the plane, the explicit equation

function

curvature

given

two second-order

these

solve

we

procedures,

for x(s) and y(s) for any

equations

2.2

numerical

appropriate

Using

of

the

takes

curve

form

general

(2-6)

y=\342\204\226

this

In

or

closed

cannot

represent

one

is only

there

form,

\321\203

each

for

value

and implicit

of the coordinate
their

calculating

In

properties.

be useful, usually as

of this

an

has

form

there

but

have no known parametric representation or


The

parameterization.

intersections

determine

if

is

point

given

Both these procedures

more

are

Seder

berg and Goldman


of

methods

equations

curve

with

difficult

implicit

forms that
to

amenable

of

computation

allows us to

it or the other.
representation.

parametric

(1986) and Hoffmann (1993),among others,discuss

between

conversion

The implicit

the

on

are

later characteristic
or on one side of

The

points.

modeling

that every parametric

not

are

the

expedites

of

classification

the

and

formulation

implicit

prove to

parameter-based

larger,

form,

implicit

corresponding

and

equations

implicit

have demonstrated

In fact, mathematicians

scheme.

the choice

curves

the

modeling

limitation,

to

adjunct

by

(2.7)

of

ease

the

spite

is avoided

limitation

are axis dependent.Therefore,

forms

affects

system

it

Consequently,

form

f(x,y)

explicit

value.

This

curves.

multiple-valued

using an implicit equation of the general

Both

\317\207

and

parametric

of the straight line and conic


+

Ax

By

forms.

implicit
curve

are

+ C=0

and

Ax2 + IBxy + Cy2 +


An

respectively.
about

information

analysis

special

a very

simple

geometric

analysis

the

plane

curve1.

following

for

the

Ey

conditions

the

F=Q

conic.

of the equation
to

of these equations yields


of a line or curve. Section 2.4

characteristics

reveals characteristics important


example,

of the coefficients

discusses more about this analysis


Even

Dx

geometric

determine

of an implicitly defined
modeling

process.

curve
For

the possible symmetries of a

Parametric

If

f{x,

y)

point,

an

given

2. If f(x4y)
the parabolas
If

3-

the

curve

is symmetric

about

the*

the

curve

is symmetric

about

the

=
the

PARAMETRIC

for

axis;

\321\203

the

line*

about

the

line

about

symmetric

xy

hyperbola

example,

for
\321\203,'

symmetric

\317\207

for
-\321\203;

\342\200\224k2.

CURVES

OF

EQUATIONS

is

curve

the

-x),

\302\261f(-y,

example,

axis; for example,

= k2.

xy

hyperbola

5_ If f(x4 y)

2.3

as

curve

the
\302\261f(y,x),

the

example,

= r>

x2+y-

=*?.

parabola^

4_ Uf(x4y)

23

\342\226\240

y2.

=\302\261f(~xfy),

f(x,y)

a circle

example,

the

=\302\261f(x.-y),

for

transformation);

appropriate

Curves

about the origin (or other

is symmetric

the curve

-y),
\302\261f(-x,

of

Equations

Ordinary,

functions,

such as

most

modeling.

There are many reasons for this.

single-valued
explicit
used in geometric
shapes

First,
coordinate

the

[t

system,
the

determines

most

of

shapes

the

is

of

the relationship between these


In

most

fact,

affect

not

some tangent lines


coordinate

chosen

of

in values

results

or

Second,
to

parallel

planes

the

by

not

functions

by

\317\207

many others related to ease


to represent

way

a single
=

function

ordinary
y(u)

of

\321\205(\320\270),\321\203

\321\203(\320\270),\320\267\320\277\320\260

\316\266

some

in

and surfaces of
not

are

and

easily

shapes

like

of

and

programming

in geometric

modeling

=
\321\203

/(\321\205),

is

curve

two-dimensional

but

by

set

of two

curve is
a natural
vector

u. A three-dimensional

parameter

\321\205

this

function.

nonparametric

preferred

=x(u)fy

defined by
representation.

coordinate

explicit

the curves

Finally

properties.

is with parametric equations. For example,


defined

system.
a

by

an ordinary
the

of points, not

functions,
system. For shapes defined
infinity for some slopes on the model, or results

For these reasons and


computability,

that

that the choice of


any solid, closed object will have
axes or planes
of any
principal

geometric modeling are often nonplanar and bounded,


represented

of any

coordinate

arbitrary

require

the shape.

mathematical

ill-defined

other

applications

modeling

should

system

andsome

points

represent

points themselves
fit through a set

or surface

a curve

cannot

=f{x),

independent

intrinsically
between
the

relationship
shape

resulting

are

objects

\321\203

These

z(u).

curves

have

For a space curve,


=
\321\200(\320\275)

and,

hy

simple

extension,

\320\234\320\275)

y(u)

\317\206)]

(2.8)

for a surface.

p(u, w) = [x(u4

w)

x{u4

w)

z(uw)]

(2.9)

24

\342\226\240
Curves

avoid
equations
functions.
They also

Parametric
parametric

many of the

problems associatedwith

best describe the way

curves

are

drawn

non-

by a

two time functions


screens.
Here
plotter or some computergraphics
display
the
of
a
or
electron
beam
servo
the
x(l) and y(t) control
system
plotter
deflection
of
a
vector
or
to
the
electron
beam
system
display,
causing
pen
move on the appropriate
curve.
The point is the basic element of parametricgeometry
and
geometric
It
an
is
ordered
set
of
real
coordinate
whose
numbers,
modeling.
implied
nature
defines a position in three-dimensionalEuclideanspace.A vector
be defined in much the same way,
so that
the terms point and
may
frequently
vectorare interchangeable.
For
the radius vector (or position
example,
vector)

a point.

defines

most
of the
equations generate the sets of points defining
in
this
text.
The
curves, surfaces, and other geometric elementsdiscussed
of a
following
equations are an example of the parametricrepresentation
curve
to plot the curve for all
Figure
2.2). Of course, it is not possible
(see

Parametric

values
significance

The

of

\320\270
from

to

the

curve

in

-\302\253to

modeling
the

figure

-\320\270\302\273.
We
must

select

an

in

terval

that

has

some

situation
and that has computational convenience.
is plotted for an interval on it of \320\270
the
\320\265[-1,1], for

equations

Figure 2.2

parametric

curve.

Parametric

Equations

of Curves

\342\226\240
25

= 3tr
\317\207

+ l

y=us-u

z = 2u +
a specific

Substituting
values

of

x,

parametric
value of

z. Each value of

y, and

produces three

of these

each

into

independen t

equations
a point

\320\270

generates

arc the

These

well.

as

curves

other

and also the

variable

is the
\320\270
\320\235\320\265\320\263\320\265,

(2.10)

variable.

produces specific
on the curve. This

curves (x,u), (y,u),

and

space (see below), also shown in the figure.


convenient
to normalize the domainof the parametric
usually
means
its value to the closed interval betweenOand
which
variable,
1,
restricting
this
condition
inclusive.
We express
\320\265
the
symbolically as \320\270
[0,1],
establishing
curve hounding points and creatinga curve
of
Some
segment.
examples
parametric
of
curves
this
convention
follow.The
first
equations
using
example is
a set of linear
parametric equations
in parameter
(\320\263,\316\267)

It is

x=a +
where a,b,c, and
\317\200\316\271)
(c +

Another

= b

z =

nnt

This
curve is a
particular
=
and
at
+ /)
c]
ending
p(l)
[(\320\271
to
\316\231,\316\267\316\271,\316\267.
proportional
\320\265
\320\270
[0,1].

z = u*

=i,i
\321\203

This curve isa cubicalparabolaand

and

a point
other

acosu

words,

= bu

it

versatility

is interesting

of

the

or

at

axis
\316\266

to see

reveals

equation
in

in

xytz

this

represents

form

parametric

how

it

\316\267
\316\277
t-al

to

adapts

direct relationshipbetweenthe
discussion

1].
(2-13)

It is the locus of
distance a from it (in
a helix of radius = a). At the same time, the helix moves parallel
at a rate proportional
to the angle of revolution\320\275.
If b < 0, then
the

around

revolves

to the \316\266
axis
the helix is right-handed.

The

[1

p(l)=

z
y-\316\261\317\215\316\267\316\271\316\271

is a left-handedcircularhelix,

that

twisted cubic.Because

is

example

x =

This curve

(2.12)

of a

form

one

also

Ue[0,l],it ishoundedbyp(0)=[0 0 0]
final

(2.11)

is

example

x =

The

c + nu

\\a
cosines

p(0)

point

direction

with
\320\273)],

+
and

arc
constants
\316\231,\316\267\316\271,\316\267

straight line starlingat


(b +

kt

Cartesian

machine

is apparent in

these examples,and

functions
expressing
The
x,y,zfollowing
For example, one

curve-defining
variables

relationship.

ways-obvious

a surface.Two

screw.

a constant

independent simultaneous equations

i,y,z,say,

F(x,y,z)

\302\256

G(x,y,z)

= 0

(2.14)

represent the

intersectionof two

implicit equationsof a
inherently unbounded;
third, say

for

implicit
and
\321\203

in
\316\266

equations
terms
of x,

point on the
the

of

equations

projecting

form of

A curve

dimensions.

produces

y = y(X)

(2.15)

z(x)

represent the same curve as do Equations

These equations
or the equations

similarly expressingany

Each of
the curve onto

and

(2.14),

they,

of a variable

coordinates

of the

two

of the third

as functions

curve

curve.

are the

defined this way is


a
bounded
of
il
may he of interest.
only
part
for two of the variables in terms
of the

however,

the

Solving

a curve.They

is locally

which

surfaces,

three

in

curve

coordinate,are the explicit

Equations (2.15) separatelyrepresentsa cylinder


one of the principal planes,so they are a special

Equations (2.14) for which the

two

are

surfaces

cylinders.

projecting

=
=
and
\321\203\321\203(\320\270),
Solving the first of the three parametric
equations \317\207
x(u),
=
of a curve for \320\270
as a function
of x, that is, u(x), and substituting the
\316\266z{u)
result into the two remaining
the explicit Equations
expressions,
produces
(2.15). From one point of view, these explicit equations, when supplemented
= \320\273;,
the
\320\273;
are
also
of the curve; that is,
by
equations
identity
parametric
= \317\207
\317\207

Now the

is the
parametric

=
\317\207
Z(x)

y(X)

(2.16)

with
difficulty
parameter is also the coordinate\320\264\320\263.\320\242\320\252\320\265

obviously unacceptablelimitationon

domain, to definea curve segment.


this
following form easily resolves

of x,

range

to the interval

be normalized

must

variable

the

\317\207
e [0,1],

this approach
because the
or a similar finite

function of

a parametric

Introducing

the

problem:

=
\302\253

\342\200\224

(2.17)
X-l \342\200\224Xo

allows an explicit range of \320\273;


from
the
functions
where
through
parametric
x(u),

This

=
\320\273:

x(u)

It

x0 to

expression

satisfies

compromising

the normalization
the range
of

(2.16) yields

=
\317\207

x(u),

= \317\207
=
\317\207
(\320\270),
\321\203 y(u),

and

+ (\321\205\320\263
\317\2070
\321\2050)\321\206

this

Substituting
and

z[x(u)],
=
These
are
the
\316\266
\316\266(\316\271\316\271).
large

class

into parametric

into

relationship

Equations

simplify to
forms
introduced
parametric
of explicit functions easily converts

=
\316\266

\321\203\321\203[\320\273-(\320\275)],

(2.18)

condition on the parametricvariable without


\320\273;.

earlier, which means that

ue[0,l],

^.provided

which,

of course,

form.

of this leads to the following definition:A curve


All
collection of points whose coordinatesarc given
parameter, single-valued polynomials of the form
=
\321\205
\321\204)

y{u)

z=

z(u)

is a

bounded

continuous,

one-

segment
by

(2.19)

Parametric

of

Equations

where
e
\320\270

the parametric
variable \320\270
is ordinarily
and
the
on the
sense
positive
[0,1],
= 0
\320\275

oneat

curve

The

increases.

and

the

a fixedpolynomial

constrained

to the

Curves

27
\342\226\240

closed interval

curve is the directionin which \320\270


is point-bounded
because il has two definite
endpoints,
other at \320\270
=1.The
and z(u) functions may be of
x(u),y(u),

form,

basis

defining

functions

that

generate

curves

with

the Hermite,
characteristic set of properties. Specialbasisfunctions
generate
and
in
discussed
and
Bezier,
B-Spline curves,
Chapters3,4, 5, respectively,
We can treat the coordinates of any point
on a parametric
curve as the
a
of
vector
2.3
ill
ustrales
this
and
other
components
\321\200(\320\275).
Figure
important vector

elementsof
to

scale.

tangent

Here

vector

to

Unless
noted otherwise,
the tangent vectors arc not drawn
is
the
to
the
vector
p(w)
point x(u),y(u),z(u),and p\"(u) is the
the curve at that
obtained
by differentiating
point,
\321\200(\320\275):

curve.

(2.20)

du

The

vector

components

r._.

These are

the

of

p\"(w)

are

Mu)

du

y<

.. = dy(u)

derivatives.

parametric

du
When

z\" =

\320\270
appears

dz{u)

(2.21)

du
as

a superscript,

it

the
differentiation with respect to w. The relationship
between
and
the
of
is
derivatives
derivatives
Cartesian
parametric
ordinary
space

indicates

and similarly

dy

dyidu

dx

dxidu

for dyidz and dzidx.

Figure

2.3

Elements

of a

parametric

curve.

Model spaceis the


Cartesian

coordinates

two-dimensional

curve
Plots

plots,
Figure
algebraic

It

x,y,z.
and

developed

three-dimensional

expressed.

defined

spaces

defined
by the familiar
which a geometric model is fully
space of a curve is the set of three

space

is the space in
The parameter

and
(\320\273-,\320\275),
(\321\203,\320\270),

by

(\316\266,\320\270)\302\267
Any
parametric

can be decomposed into its three components


in parameter
of a curve in terms of its parameter spacecomponents,
called
in
model
are sometimes useful
understanding its behaviorin

space.

cross

space.

the decomposition

demonstrates

2.4

of a specificcurvewhose

is

representation

= -6.5u3

x(u)

+ 9u2

+ l

181^-2

y(u) =-12a3+

z(u) =

+ 0.5u

-10.25\316\2673

14.75\320\2742

(2.22)
+

1.5u

- 2

-1 \342\226\240
\316\273\316\271

= -\316\231
\320\273\302\267'/
1
1

*0

= 1 \316\271

\"\302\267

- 0.5

\302\273*S

0.5

*-\302\273

*~y'i

= \320\236

= 0.25
\321\212\302\253

Figure

1A Parameter

space of a curve.

Parametric

Curves

of

Equations

\342\226\240
29

where

x\" =

-\\9.5ttl +
=

\320\243' -36\320\2752

z\" =

-30.75u2

l8u
+

.5u

36\320\275

(2.23)

+ 1.5

+ 29.5n

components plotted in the interval it e [0.1].


convenient delimiting valuesof the parametric
line
can be used without affecting the
variable.although
any interval on the \320\270
of
the
curve
if
or
arc made to the
position
adjustments
shape
appropriate
This

the parametric

shows

figure

are

These

mathematically

how
coefficients.
we wi II discuss
Later,
algebraic or geometric
interval using a procedure called reparameterization.
Different
and
the
vertical
scales on these plots affect
apparent
slope

vectors.

We

them

replot

The algebraic

so that

the

and shape.Eachvalue of
unique point on the curve in model
variable
if

by successive

generated
v. and
.\317\204,

only

one

\320\275-axis

\316\266
is independently

coefficient

this

horizontal

of the tangent
are

scales

coefficients control the positionof a curve

as its size
values

and
\316\275-,
\320\273'-,
\320\263-,

to change

in

equal.
as well

space

2.4) defines a
it, in Figure
sets of \317\207,\316\275,\316\266
the
successive
space. Plotting
w values
the
creates
entire curve. Each
and a different curve results even
controlled,
it (for

example,

is changed.

The graphs in parameterspaceshow


the
of each Cartesian
behavior
one
end
of
the
the
as
the
coordinate
from
curve to
other
parametricvariable\320\270
of the
varies
over
its domain from 0 to l.The graphsalsoshow
the
hehavior
as
the
at
on
these
derivatives
curves
parametric
representedby
slopes
points
=
Each
Cartesian
coordinate
varies continuously
(for example.dxiduat \320\270
\320\270).
to pi)
as the parametric variable it varies
over its range (that is,from p\342\200\236
continuously

over

its

domain.

Here

and
\320\273;,
\316\275,

arc
\316\266

the

dependent

variables

u.
whose values are determinedhy the independent
variable
of
We can infer many characteristics of a curve hy inspecting
the graphs
the component curves. Figure2.5shows
several
cases that are easily
special
curves in model space. Here we see a
verified by sketching
the
resulting
to a point (a degenerate curve of zero length),
a straight
curve
contracted
a
a
on
the
values
or
line,
plane curve,
spacecurve, depending
assigned to its
in the figure, and
coefficients.The Cartesiancoordinatesx,y,z arc stacked
we plot
another informative graphictechniqueis to superimpose
them.
Thus,
the value of the parametric variablealong the horizontal
axis and plot and
axis.
superimpose the model-space variablesalonga commonvertical
have many advantages over other formsof
Parametric
equations
representation.

Here

are

the most

important

ones:

30

\342\226\240
Curves

J'rj

\342\200\224O-Vi

JO?

fa)

Pmm

(b)

Straight

line

6.\316\231\316\212

soC-

\320\231
Straight

line

(d)

Plane curue

(f)

Space curve

=0^\"

''

\320\236

(e)
Figure

Plane

curue

2.5 Special

curves shown in

parameter

space.

Conic

\342\226\240

allow

They

of variables

separation

Curves

31
\342\226\240

and direct computation of

point

coordinates.
\342\226\240
It is

\342\226\240
There

more

are

\342\226\240

easy

or

without
curves

constrained
\342\226\240
The

all slopes

accommodate

They

same

izations.
beeause

contraction
affecting

define are inherently bounded


to a specified finite interval.
curve often can be represented by many

2.4

the

when

different

Conversely, a parameterization schemeis


of its effect on curve shape.
and

Filip

effects

into higher or lower dimensionsis directand


the initial representation.

they

See Ball(1984),
the

directly on them.
without computational breakdown.

be performed

may

\342\226\240
Extension

of freedom to control curve shape.

degrees

\342\226\240
Transformations

\342\226\240
The

equations as vectors.

to express parametric
is treated alike.
variable

easy

\342\226\240
Each

and others
on shape.

Ball

(1989).

of parameterization

is

parameter

parameter-

sometimes

chosen

for in-depth discussionof

CONIC CURVES
A

any

conic

curve

by a

is defined

second-degree

equation
Ax2

In matrix form, this

second-degree implicitequation.Conversely,
a conic. The standardformis

defines

+ Cy2

+ 2Bxy

+ 2Dx

+ 2Ey

+ F=

(2.24)

equation becomes

(2.25)

PQPr=0
where

\320\220 \320\222 D

=
Q

\320\222\320\241\320\225

\316\225

(2.26)

and
\316\241-[\320\273-\321\2031]
\320\240
is given
\320\235\320\265\320\263\320\265

by homogeneous

coordinates.

(2.27)

32

\342\226\240
Curves

Conic curve

2.1

Table

IQI

\320\272

conditions

Olher

*0
0
0

characteristics

Parabola
>0

C*0,Fr-CF

Two

real

parallel

\317\213

Two parallel
CiO.F-CFkO
\342\226\2400 Two
C = B = 0.D2-AF>
parallel
C = B = 0.D:~/l/7== 0
Two parallel
C = B

= (\\D'-AF<

<0

*0

-CIQI > 0

<0

*0

-CIQI

<0
<0

*0

.0

Two parallel
Point

2.1

conic

classifies

lints

coincident

lines

innginary

ellipse

ellipse

Imaginary

Two intersecting

transformations.
curves

using

under

If
\320\233
+ \320\241.
\320\272=\320\220\320\241-

the type

Q indicate

and

lines

are invariant

conic equation
These include

of the

IQI.The values of ft:

determinant

lines

Hyperbola

characteristics
rotation

imaginary
real lines

lines

Real ellipse

< (1

\317\213

Certain

lines

Two parallel coincident

C^O.F'-CF^O

<()

translationand

Type

and

the

of conic curve.Table

these characteristics.

Common parametric forms of coniccurves

arc

Parabola:
= air
\320\273;

y =

2au

(2.28)

Hyperbola:
= a
\317\207

sec

y~b

taii\320\270

= a
\317\207

cos it

\320\270
\320\270
\320\265
f-\317\200,\317\200]

(2.29)

\316\271\316\271\316\265[-\317\200.\317\200]

(2.30)

Ellipse:

sin

h
>\342\226\240

2.5

BEZIER,

HERMITE,
The

next

parametric
curves,

AND B-5PLINE

\316\267

CURVES:AN

OVERVIEW

chapters discuss the Hcrmite, Bczicr,and


both
and rational
the nonrational
including

three

B-Spline

forms of the latter

Hermite,

Bezier,

and

B-Spline

Curves:

An Overview

\342\226\240
33

The cubic
nonrational
form is a special case ol a rational
form.
the
curve and bicubicHermitepatch
earliest
forms
were
among
in
and
used
Their
relative
geometric
modeling.
simplicity and
investigated
them
makes
natural versatility
good starling
points for studying curvesand
The
curves are a special case of the Bezier and
surfaces.
Hermite
B-Spline
a
form
is
itself
c
aseof
the
The
and
the
Bezier
forms,
special
B-Spline.
curves form the basic elementsof splines:
and
curves
Hermile,
Bezier,
B-Spliue
that
consist
of individual
parametric curve segments joined to forma single
at the segment joints. Wc are
whose
is controlled
c
urve
continuity
composite
the
cubic
interested
in
polynomial representations, becausethis is
primarily
of
the lowest
describing nonplanarcurves.A brief
degree capable
comparison
of their
most important
characteristics follows.
In its standard fonn for
Hermite interpolationis not restricted
to points.
a cubic
Hermite
curves
it uses both points and derivative data.For example,
end
and the tangent vectors at those points.
curve is defined by its two
points
It interpolates
all its control
to subdivide.
However,
points and is fairly
easy
if not
its lack of invariance underaffine
transformations
can be troublesome
accounted for. This curve's name is identified
with
Charles
Hennitc
a French mathematician of considerable accomplishmentsin
(1822-1901).
the
of cubic and quintic polynomials.
areas
The Beziercurve is defined by a set of control points,the numberof which
of the Bernstein polynomial basis functions
that
determines
the
degree
curve interpolates its first and last control points and
describe
its shape.This
is tangent to the first and last sides of the open polygon definedby these
It exhibits
the convex hull properly and is the easiestof the curve
control points.
to subdivide.
forms
However, it does not offer local control, because
the
the
of any control point produces shapechange throughout
position
changing
two.

Each

Hermite

curve.

The

B-Spline

curve is a

piecewise polynomial curve definedby

a set

of

of
The
control points which the curve ordinarilydoesnot interpolate.
degree
of
its polynomial basis function is defined independently
of the number
of curve shape is possiblebecausechanges
in
control
control points.
Local
not
do
and
control
control
location
point
propagate shape change globally,
influence
points
only a few of the nearby curve segments. A valuable
is that they are invariant under affine
transformations.
property of B-Splines
Filip
some
of curves cannot he
and Ball (1989) and others point out that
types
this is true for a
For
example,
practically representedas B-Splines.
a very high degree
intersection
curve, which is likely to require
procedurallydefined
its
for
polynomial
representation.
cubic
B-Spline
Barsky
(1981) introduced a generalization of the uniform
while
called the beia-spline. This form permits parametricdiscontinuities

34

\342\226\240
Curves

of the

continuity

preserving

unit

and

tangent

curvature

vectors

at joints.This

that
are
provides two additional parameters,calledbiasand tension,
of
the
which
the
a
curve
or
control
vertices
and
of
surface
independent
by
shape
can be manipulated. A rational formulationof the bela-spline
is reported
in
Bat-sky (1993) and earJier by Joe (1987).
in common.
curves and Bezier curves have many
B-Spline
advantages
Control points influence curve shape in a predictable,
natural
way. making
them good candidatesfor use in an interactive
Both types of
environment.
curve are variation diminishing,axis-independent,
and
and both
multivalued,
exhibit the convex hull property. However,it is the local control of curve
that
shape possiblewith B-Splines
gives this form an advantage over the
Beziertechnique,
as docs
the ability lo add control pointswithout
increasing
the degree
of the curve.

2.6

POINTSON

CURVE

of a series of points on it
p(w), we calculate the coordinates
for
different
of the parametric variable, which requires that
we
values
evaluatea
of
is
at
increments
w.This
as
polynomial
predetermined
process known
the
Other
tasks
that
solution.
we
determine
direct-point
modeling
require
lo a point p(w) which is given
the value of the parameter \320\270
in
corresponding
To

a curve

plot

terms

of its

coordinates

is the

\320\273;,
\316\266.
This
\321\203,

inverse-point

solution.

Direct-Point Solution

Most methodsfor modeling


and B-Splinemethods,express
elements

Homer's
polynomials,
polynomial

multiplications
and

value

the

and

surfaces,

x, y,

coordinates
\316\266

including

Hermite, Bezier,
on these

of points

The problem of calculating the


becomes
one of calculatinga
curve
specific
point
and
a simple,
method
for
straightforward
calculating polynomialsis
rule.
the development
that follows is in terms of scalar
Although
it applies
well to vector polynomials.For the cubic
equally
= uu4 + bu2 + cu + d, we rewrite
it so that oniy three
p(u)

as

of

on a

additions

three

functions.

polynomial

parametric

coordinatesof
polynomial,

curves

are required

lo compute the solutionfor

given

\320\263\320\263

p(u)

Toevaluatethe

polynomial

p{ii)-u\342\200\236u\"

=
of

+ari.liiJ'-i

[(mi

+ b)u

degree

+ c]u + d

(2,31)

\316\267

+ al,_2u\"~1+

\342\226\240\342\226\240\342\226\240
+ \320\260,\320\270
+ \320\260\320\277

(2,32)

we

rule as

Horner's

generalize

p(w)=
=

p(u)

\302\253()

a<>
a2)u + \302\253i]w-+\342\226\240

[(a3if +

+(h}ii

and so on.For any

n,wc

are

additions

/ilh-dcgrcc
polynomial.
Clearly,
for each of the three
necessary

n =

for

\316\267
-2

for

n =

for

= 4
\316\267

a straight-line

with

steps to

point.

\316\267

Combining

yields:

program

\321\214/ +
\316\241

and

\316\267
multiplications

coordinatesof

rule

Horner's

for

program of 2n

a straight-line

develop

a general

evaluate

+ a(l

+ \320\260\320\267)\320\270
+
\\\\(\320\2604\320\270
(12]11

p{u)=

\342\226\240
35

follows:

+ <i[)w

(fl2W

Curve

on a

Points

\342\226\240=1

for
\321\2170

/ \316\220\320\2602\320\270

t<-tu

for

/i-2

for

= 3
\320\273

+ a0

p<-t

I <-

ayit

I +

t <-

t <-

\302\2532
\320\250

tw

ff-

\317\201*-\316\257+\316\257\316\220\316\277

points on

To evaluate

nested

P(w) =

0IO-h)Po

Bczier

cubic

we

scheme,

multiplication

(j

find

curve

using a

variation on Horner's

that

(l-\302\243i)
\342\204\226

+
(2J\302\2732P2

(l-u)+l3|u-p3

where
\320\226

are
that

binomial

coefficients.

recursively

computes
we

Alternatively

of points on a
polynomial

curve

formal

may
for

of the

Farin (1993a) describesde Caslcljau's


algorithm
points on a Bezier curve.
use incremental
methods to compute coordinates
successive
values
of the parametric variable. The
functions
lends itself to thesemethods.
parametric

differencemethod,to
parametricvariable.
= cu + d
equation

one method, the forward


investigate
at
polynomial
equal intervals of the
We
with
the simple case of a linear
begin
will

We

evaluate

for/j

p(u)

Pi = p(i/n),i<=[0: 1],and
values

successive

values of the

value.

of

displaying

[0,1].

is

pl+i - p, +

is constant:

oi'p(if)

used

that the

observe

we

\320\265
\320\270

polynomial p(it) by

method

This

p(u)

spaced values of u.To find

+ 1 equally

the

adding

in the

effectively

evaluate

a set of values
p, where
difference between two

we

f/n.Thus,

constant

and

find

cln lo

successive

the previous

incremental plotting and

curves.

this method to polynomials of any degree,


we first cunsider
the
cubic polynomialp(u) = \320\260\320\270\321\212
cu + d. Here, the forward difference ptli+ bu1 -+\342\226\240
not a constant, but a quadratic polynomial
in /. If we can evaluate du
duts
p-,~
the same process (that is.
easily,then wc can alsoevaluate
p, easily
Applying
to
forward
evaluate
+
difference)
du,wc findc/b 1- d,_, = d2.,.a linear equation
in ;'.This equationhas a constant
forward
difference and is easily evaluated.
a cubic polynomial, carrying out the
Hereis an algorithm
for evaluating
To apply

algebrato combine

three

the

<*!.. .

d2.,

Qi

of forward

levels

;+

3\316\257
+

1)4

rr

differences:

\321\201
\342\226\240
(2\316\257+\316\231\316\232
rr
-\316\263\316\267

l)^rr + ^rr

,= 6(,+

(2.33)

ba

A,
If
We

thi ese

initialize

and

variables

at
\317\201

0, where

u~

= \342\226\240
0 and

p=d

d,

\321\201
\342\200\224
\342\200\224

ir

rr

it

ba

2b

IV

\320\237
IT

(2-34)

ba

\342\200\224
\316\254\316\233=
\316\267'

Thus,

pt>

= d.

To calculate

at
\317\201

the

next

and each

require threeadditions:

d2

+
i\342\200\224dz

di

d]

<\342\200\224
d, +

(U_

p> <-p

+dt

successive increment, wc

Points on

must

Wc

to

plt.

this three-step

methods

cubic
for evaluating
evaluation.
However,

each

for

multiplications

point. Wc can

One

\316\267
additions

the

with

difficulty

\342\226\240
37

values

generating

forpi

polynomials require seveval


after the compulations lo initialize

for

polynomials
forward
difference

for

each

resulting

in

additions

three

apply this techniqueto polynomialsof any

uses

a loop that

limes,

algorithm\302\273

and d~. we require only

p, dt.d?.

variables

four

the

repeal

Other

a Curve

degree,

n.
method is

of degree

must

we

that

increments to ensure
evaluate
or
to
curve
smooth
for
display
enough
provide
points
sufficient data for analysis.
It is a good idea to subdivide the parameterrange
halves
and develop
by
simple expressions for the location of the curveat its
for Hermitc
curves (Section 3.5). Another
midpointas we demonstrate
as more points on the curve
are
is
that
errors
accumulate
round-off
difficulty
this
Sec
sufficient
often
Using
precision
problem.
computed.
mitigates
Shanlzand
for further discussion of this subject.
Chang
(1988)
of equal

we

to produce a

enough

Effectsof

numher

tl\\e

select

carefully

that

Parameterization

the

Frequently,

on a

parameter
values

discussion

this

of

Judd

for a succession of equalintervals

curve produces unsatisfactory


equal

produce

rarely

solution

direct-point

problem

(1978,1980),

intervals

rcsuits.

parameter

space. For a theoretical

in model

and possible solutions,


and Farin (I 993a).

Equal

the

of

see Epstein(I 976).Hartley

and

Inverse-Point Solution
Many

require

algorithms

modeling

that we

the

find

value

of the

parametric

the
variable corresponding to a given point.Forexample,
\316\266
\320\273\\\321\203.
given
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
These
are, of course.
equations
calculating the roots of three cubicequations.
=
+ [}JI2
\316\233'
CXU
\316\257\316\257,-\316\234'1
V

= \302\253..\302\273*
+ b,tt2

=
+ bzuz
\316\266\320\260\320\274}

A difficulty
from each

significance

practice

of

the

coordinates

point

to assume,

Instead,

wc

+ c,tt

+ rfh.

find

the

for example,
point

on
\317\201

disparity,

themselves
the

that

curve

f/,

\321\201-\320\270
+ d7

arises, though, because it is unlikely


of these three cuhicequationswill be

contribute to the potential

methods

that

exactly
and

the

\320\270
values

(roots)

equal. Compulation
source
and
the

add to it. In most cases,it is good


point
given
q is not on a curve.
closest to the given point q.

\342\226\240
\320\227\320\222
Curves

Figure

2.6

Vector

interpretation

of the inverse-pointsolution.

for a single point q and a parametriccubic


problem
determine
the point \317\201
on a curve
We
closest to a point
(see
Figure
2.6).
in
from
is
the point
q
space
by finding the vector (p
q)
q to the curve that
to the tangent ol the curve at point
The
is
to
find
perpendicular
p.
problem
\317\201
such
thai
is satisfied.
this condition
For (p - q) to be perpendicular
to the
scalar product
tangent
p\" at p, their
solve

will

We

(his

curve

must be zero.This

thai

means

(p-q)-P\"

For cubic curves,this

methods

available

are

point

for
\317\201

for

(p

[0,1] are

iie

interval

to solve

in

a quintic

such an

(2.35)

polynomial in u. Various numerical


equation. 01 course,onlvrootsin the

of interest. Each rootvalue

in

this

Ip ql.Thepoint \317\201
yielding
the distance between them.

which

ql is

results

= 0

to compute

interval
the

a
determines
value

minimum

CURVE

HERMITE

curve as a set of parametriccubicpolynomial


vector equation begins this chapter.We
equations
corresponding
that
sec
the
coefficients
in lerins of boundary
algebraic
expressing
conditions leads
to the more convenient geometric form.The Hermite
directly
as the mathematical
basis
functions
link between the algebraicand
emerge
forms.
find
are expressedconcisely
as
We
then
that
both
forms
geometric
and
matrix
which prove useful when convertingbetweenHermite
equations,
Bezicr
basis functions
as well as in othertransformationoperations.
Varying
The

of a

description

algebraic

and

their

vectors offers a way to modify


the interior
the
the
or
of
changing
position
endpoints the
at
is
Cartesian slopes
these
points. Truncating and subdividing n curve
the basis functions and adjustingcertaincurve
accomplished
by re parameterizing
a
conditions.
Additional
of the Hermite form allow
refinements
boundary
to interpolate
curve
three or four given
conic
curves
are
Some
points.
represented
curve, while others are closelyapproximated.
exactly
by a Hermite
in this chapter
we see that Hermite curve segments
Finally,
joinedend-toform
a composite
end
curve, and if certain continuity conditionsaremet.it
have
the properties
of a spline.
will

the

shape of a

3.1

ALGEBRAIC

The

of the

magnitude

curve

AND

algebraic

tangent

without

GEOMETRIC

form of

three polynomials:

FORMS

parametric

cubic

curve

is given by

the following

39

40

Curve

\342\226\240
Hermite

x(u)
y(u)

+ bxul
\320\271\320\263\320\2753

+ b,.uz
+ d,
c\\.u
\316\257\317\204\316\275\316\220\316\2573

+
+

z(u) =

restrict the

We usually

or
12

[0,1].

called

coefficients,

and

in

positions

not

is

equation

interval 0 to 1. inclusive,
creating a curve segment.The
determine
a unique curve,

in the

values

the curve,
in

position

different

Therefore,

space.

coefficients

algebraic

equations in the more compactform


but
to read and write

less cumbersome

only

denote an arbitrary number of dimensions.


Thus,
Equations

p(fi)

the

p(u) is the

vector
correspond

p(ii)

= au3

vector

a vector

allows

us to

notation,

+ \320\252\320\2702
+ \321\201\320\270
+ d

position vectorof any

equivalents
to

the

suggests

even

p(\")

using the

point

scalar algebraic
Cartesian
coordinates

of the

an
Equation (3.2)
yet
the
notation:
summation
using

Finally,

in

of

also

become

(3.1)

where

two curves of the


if they occupy

space.

these three

Writing

\320\270
to

coefficients,

algebraic
and

different

bounds

includingits size,shape,
same shape
size
have

(3.1)

+ brii2
+ d\316\257\316\257-\316\257\316\2575
c-,\316\271\316\271

parameter

restriction

This

\320\270
\320\265

+ dx
\321\201,\320\270

more

(3.2)

on the curve and a.b.c. d arc


coefficients.The componentsof
of the point.
simplified and shortened form,

a<\"'
\316\243

i-O

Einstein convention and adjustingthe indicesas

necessary

produces
=

\320\260,\321\213'or
\321\200(\321\213)

where
the

the

power

are

a\342\200\236

basis

the

algebraic

representation

Xj

coefficients
andx;
of a curve.

The algebraiccoefficients
are

not

the

most

a^u'

is thejth component.Thisis
convenient

way of

modeling situations, nor do they


shape
form
contribute
much
to an intuitive
sense of a curve. However,the Hermite
a
curve
offers
in terms
segment
practical alternative, allowing us to definea
of conditions
at its endpoints,or boundaries.For a cubic Hermite
curve,
these conditions are usually the endpoint coordinates
and
the
tangent
the
directions
at these points. Using the endpointsp(0)and p(l)
and
four
vectors
corresponding
tangent
p\"(0) and p\"(l), we obtain the following
the
controlling

equations:

of a curve

in typical

Forms

and Geometric

Algebraic

\302\267
41

p(0)=d

p(l)

= a

p\"(0)

= c

+b+t

+ 2b+c

p\"(l)-3a

where
=

1 into

\320\270

0 into

substituting

the equation

\320\270

p\"(u)

yields

obtains p\"(0) and


unknowns

four

obtains p(l).

p\"(l).

Solving

the

yields

(3.2) obtains p(0). and

Equation

+ 2b\302\273+ c.
\320\227\320\260\320\263\320\223

differentiating

Finally,

and

=
\320\270

substituting
of lour

p(w)
0 and

simultaneous
coefficients in terms of
set

this

algebraic

conditions:
a = 2p(0)-2p(l)+p\"(0)

b =

-3p(0)

\320\270

substituting

with
-

\320\270

to

respect
1 into

this

equations in

the boundary

p\"(l)

+ 3p(l)-2p\302\273(0)-p\"(l)

=
\302\273r

p\"(0)

d = p(0)

Substituting these expressionsfor the algebraic


(3.2) and rearrangingtermsproduces:
- 3u2 +
(2u\321\200(\320\275)
l)p(O) + (-2m3 + 3u2)p( I)
+
We

this

simplify

using the

equation

- In1

(\302\2733

/?,(\320\274)

= 2\321\213-,-\320\227\321\2132+1

F2(u)

= ~2u'+3u2
,

+ (iil - u2)p'O)

(3.3)

(3-4>

+ u

can rewrite Equation (3.3)as

Now we

p(\302\253)

point

+ ii)p\"(0)

following substitutions:

\316\241\316\257
\316\273
= \320\270
~2u\320\263\320\273(\320\270)

We

into Equation

coefficients

further
\320\272
values.

l-\\(u)V(0)

+ F2(u)p(

I) +

\320\236\320\224\321\200\"(0)
\320\222\320\224\321\200\"(1)

this equation by using subscriptsto represent


Equation
(3.5) ihen becomes:

the

simplify

P('0=

''i(\302\253)pu+

/'\320\263(\\321\2001")F,(u)pt

+ F4(u)p\"i

This is the geometric form,and the vcctoTS p\302\273,


p]. po.
the
Hermite
basis functions
coefficients. The F terms \320\260\321\202\320\265

p\"

arc

(3-5)

end-

(3.6)
the

geometric

(see Section 3.2).

42

Curve

\342\226\240
Hermite

There

cubic
these

to

As

curve.

Hermite

3 components
(4 vectors \317\207
per vector)
the
and
fully
unambiguously
equations of the
later
more
is
see
in
we will
detail.it useful to specify
= 0 and
at the endpoints of a cuTve.
where
\320\270
variables

of freedom

\320\260\321\202\320\265
12 degrees

must specify

that we

shape-controlling

define

= 0 and
is computationally
easy to evaluatethe polynomialsat \320\270
when joining many curves together end-to-end
to form more
curves, we must control what is goingon at thoseends.
complex
Thesecurves,
like
all parametric
curves, are directional in the sense that
= 1.
\320\270
=
\320\270

First.it

I. Second,

values at' the parameter


\320\270
when
increase
from
monotonically
progressing
to
the
curve.
We
will
discuss
this
more
characteristic
in
point
point along
detail later,but it is important
to understand that reversing the sequenceof
an identical curve. The
vector
directions
generates
endpointsand tangent
choiceof which end of a curve to define as p0 and which as p! is arbitrary
a preferred
unless there is someadditional
constraint
direction,
dictating
such as positionin a composite
There
are no intrinsic
of curves.
string
mathematical

3.2

constraints.

FUNCTIONS

BASIS

HERMITE

The Hermite basis functions first

in the derivation
of the geometric
are
the
functions
defined
form. They
algebraic
by
Equations
3.1 shows each function as a curve over the domain
of the
(3.4).
Figure
in the unit interval \320\270
\320\265
parameter
[0,1].
Three
characteristics
of these basis functions are:
important

1.

appear

the

from

form

hold

Universality\342\200\224they

for

Hermite curves.

all cubic

2. Dimensionalindependence\342\200\224they

are

because
model-spacecoordinates,

they

3. Separation of
boundary
This

means

condition

to

alter

boundary

condition

condition

can selectively modify


shape of a curve without

a single
affecting

each
only

dependent

effects\342\200\224they

the

allow

coefficients to be decoupledfrom

that we
the

for

identical
are

each

of the

three

on u.
constituent
other.

specific
boundary
the other
boundary

conditions.

of the endpoints and tangent vectorsto


coordinate
values over the domain of w. For
producethe intermediate
point
can
a
curve
into
its parametriccomponents
we
example,
decompose
each
curve into four orthogonal
then
\342\226\240*(\302\253),\321\203(\320\274),\320\263(\320\274).
decompose
component
and
curves
to Fi(u)pa, F2(u)pu Fy(u)p,)\".
(An explacorresponding
F4(u)pf\".
These

functions

blend

the effects

Hermite Basis Functions

\342\226\240
43

0
!

_|

\316\271

-L^i^

|'
I

'

-.

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

'

1
.

\342\200\224-

\342\226\240f\\
\342\226\240
\320\263
\342\200\224\316\271
1 \342\226\240
i

0.2
3.1

Figure

nation of orthogonalcurves
an examplewhere

)
\316\223

\342\226\240
1
|

\316\271

Hermite

Cubic

and

\316\271
1

follows

functions

pi',

= [25

5 0]

44

[66

pi'=[8

shortly.)

Figure 3.2

shows

0]

\321\200\320\270=[5

pi

basis functions.

-6

0]

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.
to that described
also
A
for the position vector \321\200(\320\263()
situation
analogous
and
and
holds
the
vector
second
vector
for
derivative
tangent
p\"(\302\253)
\321\200\"\"(\320\274),
respectively,

where

P\"(\")

= ffo(\

du

and

<l2p(u)

\321\200\"\"(\320\274)

du~

44

Curve

\342\226\240
Hermite

Figure

Differentiating

3.2

curve

Equations

four orthogonal

into

decomposed

curves shaped by

basis

the

functions.

(3.4) yields

F1(u)=

\320\261\320\263\320\263

F'Mu) =

-bu2 + bu

- bu

- 4\320\274
= \320\227\320\2752
+
\320\2403'(\320\275)

and

F'4'(u) =

12u- 6

Ff(u) = ~\\2u
F\302\245(u)

/T(u)

6u-4

= 6u-2

+ b

45
HermiteBasisFunctions \342\226\240

We

the vectors p\"(u)

compute

and

the appropriate set of basisfunctions


so

coefficients,

at

p\"\"(u)

on a

point

any

the

on

operating

curve by using

geometric

that
=

F4(u)Va

p\"(\302\253)

\320\257(\320\270)\321\200,
FS(\302\253)p5

(3.9)

FX(u)p4

and
=

(3-10)

FT(\302\253)pt

F'fiu) are graphed in

F\"iu) and

functions

basis

The

+ Ff(u)pl+

+ F'l%u)Pi

FT(u)p0

p\"(\302\253)

respectively.

The point coefficientfunctions

property F^u) F2(it)


F^u) = 0 then F2i.1t) =

1.

Furthermore,

condition.)

Fiiu) = /r4(ii)= uat

F,(u)

are

so that

ii = uandii=1.This

3.4,

they have the


and when

because

orthogonal

when Fj(u) = 1 then


(The term orthogonal is boTTOwed
the tangent vectoT
coefficients

= 1,

and

3.3

Figures

= 0,

F2(u)
to

have

this

describe

the

property

to the
u=
at
as
cuTve
1, expected.
only p] contributes
position
of the /*\"?(\302\253)coefficients
The
that F'-ftu) = F4(u) =
orthogonality
requires
= 1 at \320\270
=
= 0 and
F'Hu) = 1 and that F'{(u)
F$(u) = Fi(u) = 0and F\"4(u)
Fu4(u)
= 1. The
of the F\"\"(u)
cannot
be demonstrated,
because these
orthogonality
condi
coefficients blend the standardboundary
tions
p0. pi, po, and p\".Instead
at

that

means

= 0
\320\270

only

p0 contributes

and

we would have to derive otherbasisfunctions,

say

that
\320\235\"%\320\270),

the orthogonality of the //?'(\302\253) requires


pS'.
=
=
= 1 at u = 0, and that
=
0
and
Huf(u)
Hf(u)
H*?(u) H4?(u)
=
=
= \317\213
1
\320\270
at
and
1.This
is the second derivative foTm.
\320\235\"\"{\320\270)
pT- Here

and

The

F]{u)

symmetry

and

F2(u),

between

related

\320\276\321\202
F3(\302\253)

and

pairs of

blend
that

us

to reverse

H\\\"iu)

= \320\257
\320\242(\302\253)

\320\257?\"(\320\274)

basis function curves,for

/^(\320\270), allows

\317\2010,
\317\201,.

example

the direction of

that
the endpoints
provided
parameterization and preservea curve'sshape,
are
There
are interchanged and the tangentvectordirections
TeveTsed.
for otheT odd-degree
functions
HeTmite polynomials, such as the
similar basis
basis functions are seldom used, because
Even-degTee
polynomial
quintic.
odd
number
of
have
an
degTees of freedom. This prohibitsestablishing
they
conditions
at
symmetrical
the
summation
notation,
Using
boundary

we

the cuTve
generalize

segment endpoints.
Equation

as follows:

(3.11)

pH=jj>A\302\273

where

(3.6)

of the polynomial and the b, \320\260\321\202\320\265


the
geometric
=
=
=
For
we have bu = po,b,
and
coefficient vectors.
b3
p\". Shifting
p,,b2
pii.
one
common
conform
to
the Tange of the indexi down
makes
it
the
step
o
f
BezieT
and
For
schemes
basis
functions.
notation
example, F^u)
B-Spline
\316\267
is

the

degTee

= 3,
\316\267

of the cubic

Hermite

basis

functions

becomes

F0i3(\302\253).

46

Curve

\342\226\240
Hermite

1
*\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^

\\
.\342\200\224. \342\200\224
.

\320\270

% ^
^

n'~
\317\205

-0.A

1.0

/
\321\203
\342\200\242

\316\244

>

\320\276

/
r~

'A'

^'

-0.4

Figure 3.3

Fot the

First

quintic HeTmitecuTve,
=

basis

derivative

= 5
\316\267

(\320\270) b0F0,s(\302\253)
\317\201

for

example,

we might

curves.

and

+ bjFJ5(u)

b2F2s(u) + b4F4j(u)
wheTe,

function

+ b2F2.5(u)

+ b5FSi5(\302\253)

make the following assignments:


b0

b, =

p0

pi

b2 = pi,

(3.12)

Matrix

Figure

3.4

derivative basis function

Second

b3 =

Form

\342\226\240
47

curves.

p'i

b^pS\"

bs=pi\"

CleaTlythe order of the sixteniison the

is
important.HoweveT,care

in

required

Tight

side

constructing

of Equation
the b, and

(3.12) is

not

so
sets,
/*\",,\342\200\236(\302\253)

their tenns are appropriately linked by a common


index.
These basis functions are a powerful modelingdevice.
we can
them,
Using
calculate the coordinates and the first and second
of any point on
derivatives
cubic
cuTve. We will see similar basis functionswhen
Hermitc
we
any
study
and
Bezier
we
can
B-Spline curves, and, in fact, under certainconditions
one
convert from
basis to another.
that

3.3

MATRIX FORM

Matrixalgebra

and

mathematical

form

for

its

notation

representing

scheme

a curve.

offer a compact and powerful


Otherwise complex geometricoper-

48

Curve

\342\226\240
Hermite

often becomesimple
matrices:
the productof

and analysis
ations, transformations,
can rewrite Equation (3.2) as

We

matrix

\320\2701 \320\270
1][\320\260

p(ii)=[ii3

operations.

two

\321\201d]r

(3.13)

Letting

U=

\320\223\342\200\236\320\267
\320\270

if

A = [a

rewrite

then

can

we

Equation

1]

for the

similarly

\321\201

(3.13) as
p(\302\253)

and

z(u)f

y(u)

\321\200(\320\270)
=[*(\")

(3.14)

= UA

geometric form

p(u)=[F,(u)

\320\222\320\224 \320\236\320\224][\321\200\320\276
p,
p\"0

F2(u)

(3.15)

p',f

now let

If we

FA(u)]

F3(u)

\302\245=[\320\252(\320\270)
Fz(u)

and

B=[po
we

then

can

rewrite

Equation

pS

p,

\317\201\317\212]\316\223

(3.15) as

P=FB
that

Given

geometry
algebTa

F=
By

(he matrix

of algebraic coefficientsand \320\222


is

the

Hermite

matrix
then
matrix containing the geometric coefficients,
using
and
we can develop a relationship betweenthe algebraic
geometric

From

forms.

A is

(3.16)

inspection,

Equation
-

[(2\320\2303

(3.4), we

3u2 +

we see

1)

obtain

(~2u3 + 3u2)

- lu2

(u2

that we can expressthe

of this

side

right

(ir1-

+ u)

(3.17)

u2)]

as

equation

2-211

F=\\u

I]

-3
0

.10
matrix is the Hermitebasistransformation
basis
by MF. This matrix controls the
the
Hermite basis polynomials Fj(u)and
monomial

The

4x4

denote

F = UMf

-1

-2

(3.1!

10
0

0.

matrix,

transformation
basis

which

we will

the

between
u! orU.so

that

(3.19)

Matrix

(3.19) for

Equation

Substituting

(3.20)

that

means

A =
and,

\342\226\240
49

(3.16) produces

p(u) = UMfB
This

Form

(3.21)

\316\222
\316\234,

that

conversely,

(3.22)

B=M>A

where
\"\320\276\320\276\320\276\320\223

.3

0.

(3.23)

(3.21) and (3.22)allow ready conversionbetween


and also that matrices U, F.and MF are
IgebTaie
geometric
all
identical for
cubic Hermite
curves. Only the A and \320\222
matrices
from curve
vary
to curve, depending on shapeand position.
This
means
that it is convenient
and efficientto denotea specific
curve
by simply giving its matrix of
see

We

that

Equations

forms,

and

algebraic

or

geometric

coefficients.

For a

of basis
are
functions
given polynomial degree, different
species
For
we
let
interchangeable through a matrix transformation.
Br
example,
=
a
matrix
of
control
a
curve
points defining
UMfBf using
represent
p(u)
basis functions F = UMf.Then,\316\257\316\277\317\204
another
of basis functions we let
system
G= UMcandfind a set of control points B(, that reproduces
the same curve.
=
This means it must be true that \320\270\320\234\321\201\320\222<;
so that BG = M^jMpBF.
UMfBfl
Later, we will see that under certain conditions we can convert between
Hermiie
and
Bezier
curves
using this approach.
Rewriting Equations (3.9)and (3.10) in the more compact matrix form

yields
p\"(u)= F'B

or

p\"(u)

= UMj!B

and
=
p\"\"(w)

or

F\"\"B

p\"\"(u)

UM\302\243\"B

where

\320\240'=[(6\320\2702-6\320\270)

(-6\320\2702

+ l)

+ 6\320\270)
(3ii2-4ii

(3\316\271\316\2712-2\316\271\316\271)]

and
F\"\" =

[(12\320\270

6)

(-12\320\274

+ 6)

(6\302\253

4)

(6\320\270

2)]

50

Curve

\342\226\240
Hermite

basis matrices

The

and
M\302\243

are

M'/!'

\317\213 \317\213 \317\213 \317\213

-6

m; =

TANGENT

3
and

-6

-4

3.4

Mf

-2
1

\317\213

\317\213

\317\213

\317\213

12

-6

\317\213

-12

-4

-2

VECTORS

The tangentvectorat any


the parametricequations

the

defining

tangent vector dependson

the

the
Specifying

how

and

for

accounts

only

10 of

is given by the first


The magnitude or
and

derivative of
length of the
the interior

affects

to define the shape of a curve.


at endpoints of a cubic Hermite curve

work

vectors

tangent

coordinates

curve.

parameterization

shape of the curve.

Here is

a curve

on

point

slopes

the 12 degrees of freedomimplied

by

Equations

and
from
(3.1).
supplied by the coordinatesx0,y0,z0
\321\205\321\212\321\203\321\212\320\263\321\212
directly
the components
of po and p.. Four moreare supplied
the
direction
cosines,
by
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
of the squares
three direction cosinesequals
one.
This
means
that there are two more
the shape of a curve.
to control
degreesof freedomavailable
The slopesrepresented
vectors
tangent
by
p|j and p,' are thosein

Six are

parameter

space.The

Z* = dzldx
The

are x'q \342\200\224


dx(0)/du

components
z. These
are

for \321\203
and

from yx = f/xu

and

resolves

vector

tangent

and^y

dx(l)ldu,and

similarly

=
directly related to the Euclidean slopes\321\203*
dyldx

z' =

and

z\"/x\".

the problem of the

extra

two

degrees

of

following
way: A tangent vector operatesat eachendof the cubic
Hermite
as
shown in Figure 3.5.Not only do these vectors define the
curve,
slopes al each end,but each vector also has a magnitude associated with it.
The
of freedom
and
magnitudes
degrees
supply the eleventh and twelfth
contribute to the controlof the shape
of a curve's interior.
The direction cosinesof the tangent
to a point \320\270
a curve
on
the
comprise
in

freedom

the

=
the
where
components of a unit vector t(u), where\320\246\320\275)
\317\201\"(\316\272)/\316\231\317\201\"(\316\272)\316\231,
direction

are

cosines

\320\246\320\270),
ty(u),

From

\316\231\316\25200\316\231
V?J(m)

where

tx(u), ty(u), tz(u)

where

\320\272

represents

the

i\302\273

\316\265
Furthermore,
[\320\236\320\224].

magnitude

toits
specificpoini,corresponding

+ T\\(u)

if

=
\320\272

of p\"(it)- We

\320\270
value,giving

we know that

geometry,

elementary

1\320\263(\320\270).

= 1
then

1\321\200\"(\320\274)1,

\321\200\"(\320\274)
kt(u),

add subscripts to indicatea


the tangent
vectors for the

51
Tangent Vectors\342\226\240

3.5

Figure

two endpoints of a curve


direction

are

cosines

as

= k0%

related

is a

fact, an
slopes

yet

geometric

the

different

and
\320\272$

effect

of

family

entirely

each end, or we
shows

three

So

variables.

independent

as
(3-24)

\316\234\316\271\316\223

state of affairs, becausewe see that it is a


that we can obtain many
different
curves
(in
all
have
the
same
of
which
them),
endpointsand
interior shapes, depending on the tangent
vector

curves

Hermile

infinite

magnitudes

are

coefficients

h3t0

p,

= kfa. Because the

very interesting

cubic

of
property

two

of geometric

matrix

B = [p0
This

andp'/

= l.only
by lt(u)l

can expressthe

now we

po

vectors.

Tangent

the
we
can control
By varying kQ and \320\272\321\212
the location
of some intermediate

kv

of varying

kti

and

coefficients

coefficients.The
=

4.0
jc\342\200\236

k, while

have
y0

20=0

4.0

z, =

0.5547

f0;

-0.5547

0
f\342\200\236

= 24.0

\320\273

far

= 0.8320

/\"o,

0.8320

flv

holding constant all


the following values:

= 4.0

X]

tu =

curvature

at

point.Figure3.6

fix

can

= 0
=

the other

52

\342\226\240
Hermite

Curve

10
3

^4.

10

*-I

20

la)

10

.1*.

\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\"

= 10

*X7

10

20

.,

lb)

Figure

(a)

3.6

Effect

Symmetrical
(b)

Symmetrical

of tangent
slopes and
slopes

vector magnitude on curve shape.


equal tangent vector magnitudes.
and unequal tangent vector

magnitudes.

TangentVectors

\342\226\240
53

3.6a are symmetricalaround a commonvertical


are
values of k0 and /\321\201,
In Figure 3.6b, /c0 is
axis,
equal.
is constant,
varied while \320\272\320\263
in
of
which
results
the asymmetrical family
curves.
when we model a curve we must meet somespecificdesign
Usually,
criteria.
the illustrations
here are meant to explaincurve
However,
behaviorand
do not represent
particular examples of applications to real design
in Figure
respective

curves

The

and

their

problems.

When

chord

the

length

magnitudes

between

of the
of the tangent vectorsexceedsomemultiple
the curve begins
the endpoints of the curve segment,

lo exhibit undesirablecharacteristics,
such
as loops
and cusps. Conversely,
a
curve.
The
chord length is Ipi flat
very low magnitudesproduce relatively
= 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
on
force points
the curve to any location. But let us see what happens
lo the
=
to \320\2720.5. The values of the basis functionsal this point
point corresponding
= 0.5, F2(0.5) = 0.5,F2(0.5)
=
= -0.125, so lha I
are /^(0.5)
and
0.125,
E,(0.5)
p(0.5)
pg

Substituting

= koto

and

= 0.5(po
p\"

kjtu

+ \317\201,)+

0.125(\317\201\"\316\261-\317\201\317\212)

we obtain

p(0.5) = 0.5(po+ p,) +

\316\261\316\22025(\316\233\342\200\236\317\2120
\316\233,\316\220,)

3.7 differ only in the valuesof kQand


A:,. In (wo
of pyis reversed
by using negative values
the magnitudes and signs of pfj and p, while
for
kx. By manipulating
is
their
lines
This
of
we are able to force p(0.5)to any location.
action,
preserving
or
true for any plane curve whetheror notit liesin a plane
coincident
with,
There
is, however, a
parallel to, a principal plane of the coordinate
system.
restriction on curve
readily
only in nonplanar curves. If the
shape
apparent
of
the
magnitudes(including
tangent vectors are varied, then p(0.5)
signs)
a
will
lie
in
that
is
always
plane
parallel lo bothp(J and pi1 and that passes
the
of
the
line
through
midpoint
joining
p0 and pi (i.e.,0.5(po + pi)). Hereis a
casual
as independent
we write the
variables,
ting k{, and \320\272\320\263
proof.Trea
equation

shown

curves

The

in Figure

curves,g and h, the

of the

for

p(0.5)

direction

as follows:

po.s(*o,*i) = 0.5(p0+ pi) +


This is the
containing

point

(0.125^\316\2740

(0.1251,)^

vector equationofa planethrough


the
point
0.5(p0 + pi) and
Of
a
restriction
similar
tj.
course,
applieslo any other given

t0 and

on

the

\317\201(\316\257\316\257,)

curve.

54

\342\226\240
Hermite

Curve

3.7 Effect

Figure

3.5

of tangent vectormagnitudeon the location

of

p(0.5).

AND SUBDIVIDING

TRUNCATING

down into smaller segmentsby truncating


or
we
truncate
reasons for doing this. For example,
may
to isolate
and extract that
of
a
curve
a
modification
model
surviving
part
il lo compute
process,or subdivide
points for displaying it. To truncate,
or
the direction
of parameterization of a curve ordinarily
subdivide,
change
We

it.
subdividing

a curve

break

can

There

are

many

requires a mathematicaloperationcalled
a change in the parametric
operation
produces
nor
the
shape
position of the curveis
invariance
as shape
and
parameterization

Ideally,

reparamelerization.

so

interval

changed.This

under

function

=
\316\275
describes
\320\224\320\274)

example, reversing
rameterization.

variable. This

the

precise

of parameleriza lion is
= -\320\270,where
this we use \316\275

To

do

transformation does not changethe

neither

is often

effect

referred

this

the

to
The

reparamelerization.

way this interval

direction

the

that

is changed. For

the simplestformof repa\316\275


is

shape

new

the
or

parametric
of the

position

curve, nor doesit changeany of the curve's analytic properties.


its endpoinls
Figure 3.8 illustratesa Hermitecurve
segment,
showing
the
vectors
for
two
of
directions
tangent
possible
parameterization.

and

The

and

Truncating

transformation

the condition

from

\342\226\240
55

Subdividing

illustrated in Figure 3.8ainto that

in

3.8b

of geometric
matrix
requires
interchanging
p] in
coefficients
and similarly interchanging the tangent vectors
reversing
=
their
signs. So, given the geometry matrix
p!
pjj
p\"]T before
reversing the direction of parameterization,after reversingit becomesB',

the position of po and

the

and

\320\222

where

B'=[p,

-p?

pn

[p\342\200\236

-pg]r.

Here we see
Figure 3.9shows a more generalform of reparameterization.
two possible parameterizationsfor a single curve, where the curve is initially
from
the
variable
u, to uyTo change this so that
parameterized
parametric
let
be B, =
from
to
we
the
the
first
case
coefficientsin
v,
ranges
geometric
v;,
=
in
and
the
second
The
endcase B2
[p< P; p'i p\"]r,
[q, q, q', q)]T.
in a straightforward way They
are related
be
coordinates
must
point
=
=
and
invariant to
of
so
that
otherwise,
any change
parameterization
q, py;
q,
p,
the
curve does not satisfy the constant position
reparameterized
are another matter. Because they
requirement. The
vectors
are
defined
tangent
by
the first derivative of the parametricfunctions,
are sensitive
to the
they
=
A
function relating
\320\270
and
is required to prev, that is, \316\275
\320\224\320\274).linear
relationship

|b|

la)

*7

%
q,

^>
x{-i|

X(.1>

q'i

Figure

3.B Two

possible directionsof parameterizationof a curve.

56

Curve

Hermite
\342\226\240

3.9 Reparameterization.

Figure

serve the cubic

of

form

tangent vector;so

the

parametric
insist

must

we

again

adu. Because we know that


and b and, subsequently,
the

+ b

= au,
vi
Tela

and the
equations
that v = au + b. This

and

=
v}

between

tionship

au,

+ b,

direction of the
dv =

that

means

we can easily find a


vectors, which

the tangent

is simply
4.

(3.25)
^p\302\273

Now we

can state the

the two

between

sets of

as

coefficients

geometric

relationship

complete

* =
4/

4 =

P<

P/

vj-v,
(3\302\26726>

\321\207/=-^\321\200/

Vj-V,
must
to
tells us that the tangent vectormagnitudes
change
in the range of the parametricvariable.
We
that
these
see
are simply scaled by the ratio of the ranges of the parametric
magnitudes
the directions
variables.This preserves
of the tangent vectors and the shape

result

This

a change

accommodate

of

the

If

curve.
and
\320\270,-

holds true
composite
the

interval

relatively

simple

for

v-,

and

v,. This

curves, because
= 0 and
u,
u, =
curve

segment

=
1,
pairs of integers, then \321\211 \321\211
is very useful when dealingwith

successive

u, are

and

the same

segments

of

individual segments originally parameterizedto

1 may

be

cardinally

identifying

reparameterized

to allow

schemes. For example,the

nth curve

and

Truncating

segment
=

\316\267,

be parameterized
This means that the

from

can

1.

\321\211

to

n-\\

for

\320\222
matrix

These
curves

or

curve. Later

extended

and solid-modeling

techniques

will

the

that

\321\211

parameteriza-

compute

sections

result

is unchanged by this

different

many

us to

allow

formulas

reparameterization

a truncated
\316\257\316\277\317\204

with
\321\211 \316\267,

the segment

form of re parameterization.In fact,there are


tions that describe the same curve.

\342\226\240
57

Subdividing

that

the

demonstrate

a new \320\222
matrix

discuss

composite

need

for these

and joined
trimmed,
capabilities as modeling elementsare intersected,
to
form
a
more
3.10
curve
illustrates
objects.
together
complex
Figure
at \320\272,
the
truncated
and
That
from
to
and
from
is,
tt0
segments
ur
ut to u, are
\321\211
the remaining
eliminated. We can represent
a
cubic Hermite
segment as
= 0 to \316\275
=
\316\275
from
as follows: We
curve,
1, by proceeding
parameterized
= UMPB,and p','and p'/ using p\"(tt) = UMfB. The
p, and
compute
p, using p(tt)
interval
ratio of parametrie
reduces to u; - \320\270,-,
because

lengths

v;

(\320\270,

v, = 1. If

(t,)/(v,

by Equation

v,\302\267)
given

(3.26)

q(v) representsthe truncatedcurve,

then

4d

ft

4i=P/

q,\"

(uj

u,)p'j

There is a generalizationof the precedingparametric


transformation.
It
or
to
rational
curve.
For
any polynomial
this,
applies
polynomialparametric
we again require a linear relationshipbetweeninitialandtransformed
= au + b.
variables
the degree of the polynomial, so that
\316\275
parametric
to preserve
=
=
and
I
then
for
a
and
b
we have
attt,
Ifv, 0andv;
by solving
(irrespectively,

ii = ii;+

(ii,

U,)V

or
=
\320\270
+ \316\221\316\271\316\271,\316\275
\320\270,

=0
\321\205\320\270,\342\200\224^\342\200\236

\342\200\236,0

\316\271

/'

Figure3.10

of

Reparameterization
truncated

curve.

58

Curve

\342\226\240
Hermite

=
If \316\275,
\317\210
\316\237
and/or
\320\224\320\274;
\321\211 \321\206.

where

then

\316\275-,\317\210\316\247,

\\

Applying

v,-v,

the binomial theorem to

\\Vj-vJ

=
\320\270
+
\321\211

Au,v,

transformation

the

are

equations

-\320\272

=
\302\273\"

(3.28)

\316\243((^)\302\273*(\316\224^)\"

where
\316\267!

\\k}

the binomial
Equation

(3.28)

so

coefficient.

k\\{n-k)V
from
\316\244

that

U =

For a cubicHermitecurve,
transformation
parametric

and

scheme

UMfB.
\321\200(\320\270)

Applying

the

coefficients

B',
geometric
between
in the
initial
u, and \320\270,
to the unit interval, so that
renormalized
transformed

the

produces

curve

VT
=

have

we

\316\244

corresponding to the
parameterization

matrix

a transformation

extract

We

segment

subsequently

- VTMfB

\321\200(\320\270)

TMf

=
\320\222

MFB'

=
\320\222'
\320\234^\320\242\320\234^\320\222
where

U=[

\316\2673\320\2702 \320\270

1]

V = [v3

\316\2752\316\275

1]

\316\224\316\2673

1 =

3u2AUj

2iijAuj

are

boundaries

ma

trix

n new
given

elements

This

\320\270,

into n successive segmentsof arbitrary


and
length
curves, we assume that (t;,p(-, and p\" at the segment
or readily computed. Then, the geometric coefficientsof \320\222
of the
B(=[p(_,

is clearly

\320\270]

0
\316\224\316\267,

a curve

subdivide

generate

0
0
3\316\257\316\257,\316\224\316\257\316\257^
\316\221\316\271\316\256

\316\271\316\256

To

ith

segmen

p,

t are
(\321\211-\321\211.-faU

(3-29)

(H,-\302\253,-i)p;']T

an application of Equation (3.27),where

vy-

= 1.
vy_i

Truncating and
curve

If a

occur at

into

is divided

equal

parametric

we must

Pil\"

Pii-\\V\"

of the

Pd'-l).'\"

= UMFB

\342\200\224

(3.30)

PiVn

evaluate each

and
p((i)

boundaries

matrix
variable), then (he \320\222

B,-=

using

is. segment

(that

segments

equal

is

ttli segment

Of course,

\316\267

of the

intervals

59
Subdividing \342\226\240

and

=
pM(it)

\342\200\224p%\342\200\236

UM\302\243'B,

respectively.

is possible

of curve
at
by taking advantage
properties
We
subdivide
in
order
to
set
of
on
the
a
recursively
p(0.5).
generate
points
curve at 2\" equal
each of length 1/2\".Given \317\2010,
intervals,
parametric
\317\201\316\271,\317\201\316\257\316\

A quick

and

for

pf,

subdivision

as follows;

we proceed

= 1
\316\267

=
p(|)
for

+ p(i)]

{fp(\302\260)

= 2
\316\267

P(0) + p(i

Pl})
for

{fp,'(0)-p\"(i)]

P(l)

J_

J_

p\"(0)-p\"

16

16 P\"(^)-P\"(T)

= 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

p\"(7)-p\"(1)

p|^)+p(i)

.. .and

so

on.

Ph^r

We

|ctm

\"2\"'U

16

= l,nandi

'i-\\

= 1,2\"-1
i+1

(incrementing

16

by

2), and

\"\316\241\"
\316\241\316\212-^\316\223

compute
(3.31)

60

Curve

\342\226\240
Hermite

If m

must

we

*\302\253,then

tangent vectors

compute

/-1

i+1

at u = i/2m,

+ \342\200\224

i-1

+ p'

4
We

the

renormalize

of length

intervals

i/2w

i, which

thai

so

ill

requires

(3.32)
the

replacement:

to

back

Reparameterization

applied to the tangent

Ihe

unit

so

that

vectors,

introduces

interval

the

factor

of 1/2

It is this
subdivision

that

quick and easy renormalizingof the

new

intervals

after

each

this work.

makes

Ball (1984), Farin (1993a),and many


others
offer
additional
discussion
the effects of parameterizationand reparameterization
on curve shape.

3.6

THREE-POINT

on

INTERPOLATION

There is a three-point interpolation methodfor defining


a cubic
Hermite
curve given the following conditions:the two endpoints
an
and
po
pi,
intermediate
but unspecified parametric variable
point
p, and its corresponding
and
the unit tangent
vectors i0 and \\. The unspecified
variable
\320\272,-,
parametric
the problem
from being over-constrained. To determine the
\321\211
prevents
=
vectors
/cot0 and p\" = /c^i and attempt to find
kn and
tangent
pjj and
p\", we let pjj
that
such
the
curve
We
our
from
earlier
/c,
work,
passes throughp,. have,

Because

F\\

p((f,) = Z7] (\302\253,)pu +


= 1 - F2, we obtain
P(\"i)

Expanding

this

\"

Po

equation
=

X;-Xo
~

in terms
F2(u,)(Xi

Zo

F2(u,)(p,

\320\243,\320\243\320\276
F2(u,)(yi

z,

F2(Ui)pi

F2(ui)(zi

+ koFi(u,)%

po) + koF^u^ia +

\320\272^\321\200^%

\320\272^\320\273(\320\270,%

of each of the coordinates


yields

+ k^FA(u,)ftJ
x0) + \320\272^3(\320\270,)\320\270

y0) +

Zo) + k0F3(Uiya+

\320\2720\320\2403(\321\202)\320\223^
k,FA(u,)Tyl

kf F4{4,)h\\

(3.33)

Four-Point

first two

the

Solving

of these equationsin
-

third

the

[z, -

we have

equation,

[Z\\

*1^(\320\270,)]7

produces

appropriately

Zo]

- Xo

\316\212\316\271
-ti
\316\212\316\277

Zo]F3(u,) +

i;t]

[K(l

X\\

as
\320\274,-

only

After

(xi-x0)

CVi-\320\243\320\270)

\316\212\316\270

expressed
in

we

When
equation,

we

can

tedious,

straightforward,

though

-2\320\274?+

compute

This

is a

of

\321\211
by

value

the values

the cubic

of

\316\212\316\277

\316\212\316\271

\316\212

and the

\316\212\316\277

initial constraints are

key equation in the development.


cubic

the indicated

solving

and
k\342\200\236
\320\272\320\273
using

determine

readily

(\321\203.^\320\243\320\276)

\316\212\316\277

(3.4)]

Equation

arrays.

the

(z,-Zo)

(-r,-.v0)
=

'\316\271\316\237
/\320\2232(\302\253()

\320\227\320\274?
[from

determinant

determine

of

(zi-zo)

\316\212\316\270

Equations (3.33).Then we
acceptable solution

F2(u,)

we finally obtain

algebra,

F2(ii,-)

Xo

\"

unknown.

through some rather

working

matrix

where

an

\342\200\224

\320\243\320\276
\320\243
\316\271

\320\243;)>('
'\",\316\277\316\212\316\271

leaving

and

/:(\302\253,)
'\">\342\226\240!.(\320\243.-\320\243\320\276)_
0'\316\271 \320\243\320\276)

'\", 0

[z,-Za\\ = [zl-Za]F1(ui)+[i:f)
t^koF^Uj)
Substituting

\342\226\240
61

-JTo)

\320\233\320\270
\316\212\316\271 (\317\207, \317\207\302\273)(JT,

From

and k\\Fj(u,)

of fo/i(\";)

terms

using matrixnotation produces

ktF4(u,)

Interpolation

two

from, say,

equations

Note
and
\317\201\".
\317\201\317\214'

that

an

must satisfy these constraints:

equation

0<

< I
\320\270,-

k0>0

k,>0

We can

relax the conditions on /c0and

tangent vectorspoint along

their

FOUR-POINT

if we
/\321\201,

respective

don't

lines

care which

direction the

of action.

INTERPOLATION

that
four given points is a derivative
through
passes
to it in
of the geometricform, and under certain conditions it is comparable
3.
usefulness. Figure Jl illustratesthis situation.
We
by specifying four distinct points in space
[p,
p2
pi pj].
begin
<
<
a
\320\270
that
<
to
successive
we find
each
so
u2
\321\211
u4.Then,
value,
u,
assigning

A cubic Hermite curve

62

Curve

\342\226\240
Hermite

a 4 \317\207
4 matrix
coordinates

of

the

Four-point form of a

3.11

Figure

curve.

that, when it premultiplies the


of geometric
matrix
points, produces the \320\222

of constants
four

p3

p2

K[Pl

matrixof
coefficients:

p\342\200\236]T

\320\276\321\202

where

P= [pi

solely on
treat

all four

p2

\320\232
is

\321\200\320\264
p^]Tand

\320\270
values

the

a 4

arbitrary values.)It
Pi

u,

P2

u2

of constants,

x4matTix

four points.

to the

assigned

as having

= KP

follows

then

we

M,B

(3.34)

u3

where

U, =

[u\\

u\\

u,

1] and

u\342\200\236

similarly fot
u{

u2

will

that

\320\240\320\267

Pj

depending

(For the moment,

U2,Uj,U^,so that

u]

u,

ul

u2

u\\

\"3

ui

UA

FouT-Point

We

-1 Pi

u,
- \316\234,'
\320\222

extract

then

and

the

\342\226\240
63

directly to obtain

this equation

solve

Interpolation

u2

P2

u,

\320\240\321\215

u4

p4

\320\232
matrix

U,
\320\232

-I

U2

Mf\"'

(3.35)

u3

u4
given

Conversely,

the

the

\320\222
matrix,

four-point

equivalent

form is

= \320\232
\316\241
*\320\222

a standard

Taking

variable,

parametric
\320\232\"1
we

of the
approach and choosingequally distributedvalues
=
=
=
\320\232
that is, for \320\275, 0, u2= 1/3, \321\211 2/3, \302\2534 1, then f\320\276\321\202
and

find

K =

.11

-4

-1

-r

-9

~2

20

UMjrB

compose

and

=
\320\222

a slightly
KP,

11

\"

_4_

J_

27

27

27

\"27

1_

20

_4_

K~l =

can

(3.37)

\"1

We

(3.36)

27

27

27

27

different

by substitution

expression as follows:Given
we obtain

p(ii) = UMf-KP

(3.38)

\317\201(\316\272)

64

Curve

\342\226\240
Hermite

IfMFK

= N,then
P(\302\273)

= UNfP

27
2

(3.39)

where
~_9

2
_ 1

_9

produces

(3.39)

Equation

Expanding

18

_11

_45

NF

_27

(-4.5\321\2133
\321\200(\320\270)

+ 9h2

5.5\320\270+

+(13.5\320\270\321\215-22.5\320\2702

l)pu

+ 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

+(4.5u3

Notice that

G,((i)pi

\321\200(\320\270)

because

3.8

functions

basis

These

=
\302\243G,-(it)

functions, say G;(k),so that

new basis

created

have

we

G2(\302\253)p2

the equal

possess

+ u)p4

Gj(ii)p3

\320\2414(\320\270)\321\2004

partition of

characteristic

unity

l-

HERMITE CURVES

CONIC

Constructing a coniccurve

understand

to

how

the

and an intermediatepoint
intermediate

at

\320\233
is

represented

of intersectionof the
construct

a set

1.

Draw

lines

2.

Draw

any

are such

C,

to plot

sufficient

points

tangent

tangent

of points
AC

and

curves

two endpoints A

as: Given

problem

traditional

the

Hermite

use

all

in a

way is worth reviewing to


to represent them. To beginwe
and

S,

corresponding

common plane, find a

tangent

better
state

lines,

set of

a segment of a conic curve (seeFigure3.12).


The
AD
at
\320\222
where
D
line
and
the
is
BD,
by
by
point
\320\241
must

lines.

lie

within

the triangle

ABC.

We

on the conic curve as follows:

SC, extending

line through D that


intersection points.

both lines past \320\241

intersects

both

lines

AC and

a and
\320\222\320\241;

ConicHermite

\342\226\240
65

Curves

Figure

3.

a line

Draw

3.12

technique

conic curve.
points

through

Construction

A and

for a

b.

4. Draw a line through


a and B, extending it until
it intersects
points
The point of intersection\316\241
on the conic curve.
is a point
We

with

these

repeat

four

many times as necessary,eachtime

steps as

line through

a different

line Ab.

D. If we constructa line through

starting

intersecting

that the tangent to the


can
we
determinethe type of
Furthermore,
point
parallel
of
of
conic by computing the ratio
the length line segmentEF to the length
is less
of line segment
DE. We call this ratio rho (p). If \317\201
than 0.5, then the
curve is a segmentof an ellipse.
If \317\201
0.5, the curve is a parabolic segment.If
line

AB at

conicat

its midpoint E, then

0.5< p< l,the

curve

can

demonstrate

of a

hyperbola.

we

to AB.

F is

is

a segment

Alternatively, we can constructline DE (see

Figure

intersects

at its

AB

of conic

midpoint,

and locate

required. For example,ifthe

to
point \320\241
segment

yield
of a

3.13)
\317\201
appropriate

parabola

so

that

it

to the

type

has endpoints at

to lines AD and BD, then


we
locate
at
of
DE.
that is,
the midpoint
make
with
the
Next,we proceed
in
order
to
on
the
outlined
additional
curve.
generate
steps previously
points
that if the perpendicular
distance from point D to line AB is denoted
Notice
as H, then the perpendicular distancefrom point
\320\241
to this
line is pH.
We can definea Hermitecurve
whose
and slopes correspond
endpoints
to A and B, and AD and BD, respectively, and that
the
through
passes

and

\320\241
to

\320\222
and

end

\317\2010.5,

slopes

corresponding

66

Curve

\342\226\240
Hermite

Figure

3.13 More

on the construction

technique

intermediate
line passing
illustrates

this.

(Mathematicians
can
\316\267-dimensional

point C. We

derive

curve.

a conic

for

the

only

case where

point

\320\241
lies

on

the

of
line
AB; Figure 3.14
through D and the midpoint\316\225
in
mind
that
all
elements
these
are
Keep
coplanar.
show
that a polynomial
of degree \316\267
is always
in an
contained
In
see
we
a
derived
3.14a,
earlier,
space.)
Figure
relationship

namely,

poj

0.5(p0 +

+ 0.125(\317\201\317\212 \317\201\302\273)
\317\201,)

pDE from point E. In Figure3.14b,


to
AD
and
BEF
is
SD, respectively
parallel
Triangle
=
=
=
similar to BAD; because BE AB/2,
therefore
EF
AD/2 and BF
BDI2.
=
\320\241
to
EG
is
similar
because
CE=
therefore
CG
DEF;
Triangle
pDE,
pDFf2
= pBD/2, we find
and EG= pEF/2. Furthermore,because pDF= f>(BD
~BF)
Poinl

lines

\320\241
is

EG

and

located

a distance

on DE,

GC are

that

0.125Ipj}l
From

Figure

3.14c, we

0.5p/1D

obtain
AD = lp2

pol

Conic

p5

Figure

<p(p,

3.14

Hermite

Curves

-\321\2000\320\223
o^i

Hermite

approximation

of

conic

curve.

of the construction

\342\226\240
67

68

Curve

\342\226\240
Hermite

Therefore,

lpSI=4plp2-pol

Similarly.

where BDand pi'

Ip,

p?l and

lp',1

is in the directionof p, -

p2,

so

that

- po)
and
p'{= 4\321\200(\321\200\320\263
p2)
the Hermite equation for a conicis
Po

Therefore,

= 4p(p2

pO)

accuracy

an important

(3.40)

4p(p,-p2)]r

4p(p2-p0)

Pl

UMF[p0

Figure 3.15 illustratesthis


The

0.125lp','l = 0.5pSD
=
4plp,
p2l. But po is in Ihe directionof \321\200\320\267
p0,

that p\"(0.5) is parallel top, -p0.


il
of conies
is
Equation
(3.40) as
applies to varioustypes
= 0.5 a
is generated,
modeling consideration. When \317\201
parabola
also

and

shows

of

and this equationbecomes

p
A Hermite
moreover,

it

conditions

p,

UMF[pu

curve definedby

these

a segment of a
necessary to generate

is exactly

Figure3.1S Moreon

the

construction

2(Pl~p2)]T

2(p2-p0)

is a

conditions

boundary

parabola. Figure3.16

conic, and,
the

illustrates

this type

Hermite
of

of

curve.

Figures

approximation

a conic

curve.

general

3.17 and 3.18 are

of the

Conic Hermite

curve exactly matchinga segmentof a

A Hermite

3.16

Figure

Curves \342\226\240
69

parabola.

curves that demonstrate the exact matchbetweenthis


\321\203 0.
segment, in particular the parabola \321\205\320\263
been
in
the
can
create
or
we have
we
x, \321\203
working
readily
plane,

of Hermite

examples

a parabolic

and

formulation

Although

transform the curve into any

plane.

(3.40) generates a Hermite curve


approximating
hyperbola.The
approximation improves as the
that
hyperbolic segment
becomes
is, as the difference between the
smaller,
at each
end decreases. In another sense, the more Hermite
curves
<

If 0.5

< 1,
\317\201

a segment

match\342\200\224the

Figures

hyperbola

from

symmetrical

isp(0.5)

slopes

strung

a given hyperbolic segment, the better


the
the error
or deviation of the curvefrom the true
smaller
and 3.20 demonstrate
3.19
this for different segmentsof the
given
by the equation x1 y1 + 1 - 0.

In Figure 3.19,a

hyperbola

Equation

of a

to approximate

end-to-end

hyperbola.

then

p0=
around

[-10
the

Hermite

curve

axis.
\321\203

approximates

0] to pj = [10

10.05

The

point

on this

the

This

1 0].Thepoint0.5(p0 + p1)= [0 10
of intersection
of the slopes or
point

Because we know these points,we next


values into Equation (3.40)produces

10.

36.4
_

36.4

0].We

tangents

=
\317\2010.91.

calculate

\"-10. 10.05

is

segment

- 0.5
curve corresponding to \320\270

= [0

the
findp2bydetermining

of the

segment

10.05 0].

10.05

-36.22

36.22

at

p0

Substituting

and

pj.
these

70

a Hermite Curve

\342\200\224
=
\317\207\316\212
\321\203\320\236

Parabola:

\317\2010.5

\302\261\317\207
\320\243

4
9
16

\316\257

\316\241\320\237\321\200\320\276
Pi
2(p;
u

dy/dx

0
2
4
6
8

- p0)
2(p,

x(u)

>'<u)

True
\321\203

-4.0

16.00

16.00

0.2
0.4
0.5
0.6
0.8
1.0

-2.4

5.76

5.76

-0.8

0.64

0.64

as

2.4
4.0

0
O.M

0
O.M

5.76

5.76

16.00

16.00

Pl)]<

Error

0
0
0
0
0
0
0

\"
\320\276

- 16

Figure 3.17

An

example

of
segment

a Hermite
of

curve representing a

a parabola.

of pointson the curve for a set of \320\270


and plot the coordinates
for the
the values cf x(u) into the classical
and
values
substitute
equation
true
values
of
we
the
j\302\273.Then,
corresponding
compare
hyperbola, computing
a deviation
or approximation
error and
these to the y(u) values and find
tabulate
error is simply the differencebetween
values.
This
is
it. The
tabulated
\321\203
which
is a
greater than the perpendicular distance betweenthe two curves,
more appropriate measure of the error.
a similar
Here we represent the right
side
of
3.20
shows
Figure
approach.
the
the hyperbola
values
and geometric
\317\201
by two Hermite curves,computing
of
this
curve
from the true
as before. The error or deviation
coefficients
than
of
the
model
less
that
in
3.19.
is
much
Figure
hyperbola
of a circular
arc.
approximation
Finally, we investigatea Hermitecurve
the
The match is not exact,but the smaller
angle subtended by the circular
We compute

ConicHermiteCurves

Parabola, x1

\342\200\224
=
\321\2030
/5

45\302\260,bRIR

There are

on

the

is
two

different

very

few

allows

us to

1
4

2.5

6.25

2(P2 -

R(l
R tan

2(p,

6.25

0
0
0
0
0
0
0

a segment

of

2.25

0.25

0.81
2.89
6.25

25

for angles less than


for mosl applications.

problem, both of which are based


(3.40). Figure 3.22shows the first

tan

1 +

geometry

of this

of p:

value
\316\270

sin
\316\270

quickly reduce

cos

2.89

that

adequate

\316\270

0.81

representing

shows

3.21

than

\316\270

this to

\316\270

cos

(3.41)
\316\270

write directly the Hermiteequation

approximating

circular arc:

P(H)

4 cos
UMfp\302\253

p,

1+

\320\240\320\263)\320\242

Error

0.49
0.01
0.25

0.01

)' True

2.25

\316\270
sin

Po)

0.49

easily compute
- cos
1 - cos
\316\230)
~

This

:v<\302\273)

the

substitutions

trigonometric

on the true circle.The

p(0.5) exactly
and we can
simple,
P

-0.7
0.1
0.5
0.9
1.7

in Equation

il puts

approach;

-2
0
2
4
5

-1.5

to this

approaches

-}

0.2
0.4
0.5
0.6
0.8

more

\317\207
10\"6,

expressed

relationship

situation is

2.25

arc,the betterthe approximation.


Figure
less than

dx

-1

x(u)

example of a Hermite curve


a parabola.

3.1B Another

Figure

>'

P,

0,5

-1.5

F[Po

dy

P ==

71
\342\226\240

\316\270

(p2~Po)

4 cos
1 +

cos

\316\270

(Pi\"
\316\270

P2)

72

Curve

\342\226\240
Hermite

Hyperbola:

x2

/ + I=0
=

\317\2010.91

\302\261x

\320\255.95

.V

An

Error

0,28

1.86

4.54
1.57

1.00

1.21

1.36

1.57

0
0,21
0,28

4.26

4.54

10.05

1005

4.43

0,21

curve approximating a

a Hermite

of

example

j True

10.05

10

0.99

4.12

\316\241\316\271)\316\223

4.26

-1.21

0.8

4P(P,

10.05

-4.43

0.2
0.4
0.5
0.6

Po)

\320\257\302\273)

-10

4p(Pi

x(u)

\320\270

Figure 3.19

P,

FU>o

0.99

1.24

10

==

8.06

10.05

2
4
6
8

6.08

0
0.89
0.97
0.99

segment of a

hyperboJa.

The alternativeapproachis also


relationship p(0.5)= 0.5(p0 pi) +
elementsis
and we find
simple,

in

shown

Figure

3.22.

Again,
0.125(\321\200\320\271 pi)-

It uses the familiar


the geometry of the

very

0.125pS =

PS

The same

p2-p

R(l~cos6)(

sin

\316\270

= 4^(1-cose)/p2-p0
sin \316\270

\\lp2-po1

reasoning yields

p! -

4R(l-ca&Q)(
siuG

We

then

assemble

all the

po

\317\201

'pi

\317\201

\342\200\224
\321\200\320\263\"

elements into the completeHermiteequation:

4ft(l-cos8)/
p(w)=UMr

\\Jp2~Po'

sin

\316\270

4^(1
\321\200\320\264-\321\200\320\270
\\
-

Pol

\342\226\240p2

-cose)/
sin \316\270

'

p,-p2
\"
>pi

p2

Conic Hermite
0

Curves

\342\226\240
73

0000)

0 0199)

Hyperbola:

x1

\302\261x

)'

2
4
6

1.24

4.12
6.08

\316\270

'2.0000'

Po'

2.2361

/2.0000\\

\320\270

\316\225

I
VI
\320\257

\316\225
\316\231

in
\320\273

10.0000'

Pi =

3.4560'

10.0499

*.\302\253)

\316\234

3.5384.

True
\321\203

Error

0.2

0.2861
0.6062
0.7861

1.0400

1.0401

1.1692

1.1694

1.2719

1.2719

0.6
0.8

0.9831

1.4022

1.4400

1.7530

1.4023
1.7532

20000

2.2361

2.2361

0.0001
0.0002
0
0.0001
0.0002
0

0
0.2
0.4
0.5
0.6
0.8

2.0000

2.2361

2.2361

2.7796

2.9541

2.9540

0.4

0.5

3.20 Another

4.5552

4.6637

4.6637

5.3609

\316\257.4534

4.4534

0
0.0001
0.0002
0
0

7.4385
10.0499

0.0001
0.0001

3.9924

3.\316\2226\316\2522
3.9926

7.3710

7.43\316\2326

10.0000

0.97
0.99
0.99
0.99

.0009

Figure

Pi

U.2J6lJ

0
0.89

0.6180
Pi

10.0499

example of a Hermitecurve approximatinga


segment

of

a hyperbola.

dx

= 0.5679
\317\201

Segmenl 2,
Po'

= 0.5601
(\302\267

1.

Segmenl

8.06

10.05

10

- y1 +

74

Curve

\342\226\240
Hermite

180

-hR/R

L
\316\235
\316\233
\\\\
\316\263

150

*tf

\\\\
\\\\

\321\203

120

SR

-6R/R

\317\20690

\316\275

\316\227

^t

60

4-

30

^^~

=L~~~

10\"1

\320\256\"1

10\"'

10\"3

10\"6

1(TS

10\"1

10-9

10\"a

\316\231\316\237\"10

5\320\231/\320\232

curve approximation

Hermite

Another

3.21

Figure

of a

circulararc.

at

Hermite curvefromthe true circleoccurs


(see Figure 3-22). Adjusting the magnitudesofthe tangent
the
deviation
falls slightly inside the circulararc reduces
p(0.5)
from
is equivalent to reducing the \317\201
value.Therefore,
Figure

The

maximum

two

places

vectors

that

so

somewhat.This

obtain

3.23. we

The

of the

deviation

of the

magnitude

For any

(1

- cos

\316\270

\316\270

5RIR)cos

(3.42)
sin2

\316\270

deviation depends on \316\270


(see

specific angle

an
\316\230,

increase

of 5RIR

Figure

at p(0.5)

3.21).

causes a decreasein

= 0 to \320\270
= 0.5 and in the interval \320\270
in the interval \320\270
a
makes
three
of
5RIR
that
the
maximum
0.5 to
is value
the angle
The
smaller
This
value is different for every value of \316\230.
deviations equal.
of the curve from the true circular
an arc subtends, the smallerthe deviation
the

deviation

maximum

= 1.
\320\270

arc.
(3.42)
This

There

to

reduces

3.9

is also

relationship

COMPOSITE

Equation

or

more

We

start

the

two

in Figure

3.21. If 5R/R ~ 0,then Equation

(3.41).

HERMITE CURVES

Joining
curve.

plotted

curve segments
together
of composite
discussion

forms a continuous composite


curves and their continuity
by

4 cos \316\270
(Pi

Po =

1 +

cos \316\270

4 cos \316\270
- \"'
p\302\267;
(p,
'\"
p;)
I + cos \316\270

Figure

Deviation of a

3.22

investigating how to blenda new


curve

composite
geometric

geometric
coefficients

B2

notation

we

the

modify

Pol

p2|

a true

from

two existing

and B3,
so that

to

the

p,(l)

the

same

p5(0)

subscript

must

we

to

circular arc.

curves, forming

two

find

the

curve

line. We

segments

let B] - [pi(0)

modifying
\321\200\321\215\320\270(1)]',

identify

the

a specific

the

curve

identified.
point is uniquely
=
must coincide; this means that \321\200\320\263(0)

so that each

endpoints
appropriate
and p2(l) - p3(0).Furthermore,although
the
line at each
tangent
pi(l)
the new curve
the tangent
the
must
match
line of the adjoiningcurve,
of
be
In
an
magnitudes
can
different.
infinite
vectors
fact,
tangent
adjoining
First,

\342\226\240
75

- p:)

segments (see Figure3.24).

[p3(0)

further

Given

the use of a

this

| P;

-costfjip,
sin \316\270 |p,

between

curve

B3 =

and

to permit

segment.Later,

or

the joints are tangent

\316\241\317\212(\302\260)
p\"(l)]r

scheme

4R(I

disjoint curves B,
of a curve joining them

meeting at each of

PiC1)

Sin 0

Hermite curve

of three

consisting
of two

coefficients

4R(l-coSfl)(p2-p0)

or

Po)

Curves

Hermite

Composite

end of
num-

76

Curve

\342\226\240
Hermite

R(t

- cos\320\262)
- SR
'-

= \342\200\224\317\201

[(I

R Lan \320\261
sin \320\261

A Hermite

3.23

Figure

ber of segments

the

satisfies

B2 matrix,

curve approximation of a circular arc.


conditions.

tangency

\320\264\320\260*^\320\246

The

(SR/R\\]

and

of the adjacentcurves,

in terms

a and
internal

positive scale factors. We


new curve.

b are

*s
to vary

free

are

The following expressiondescribesany

blended

with

preceding

cubic

and

Hermite

succeeding

'
=
\320\222

them to

change

of the

shape

and continuously

tangent

is

*\302\267>*->\302\260m
where

unit

\320\246(1)-\320\254*\320\251

B2 =

the

the

However,

This means that

be equal.

must

vectors

cos \320\262
' \342\226\240\342\200\224
\342\226\240
\321\201\320\276\320\265
\316\262
4\342\200\224
sin2 \316\270

P,--.(l)

p--l(1)
nP,-+.(0)
\321\202\320\273
\320\273

a.,-^-^

p:'-l(0)

b(^-^

curve

curves:

smoothly

Composite

Hermite

Curves

77
\342\226\240

\316\275,\317\200\316\271

\316\271\316\277\316\257
\317\201;

Figure

3.24

Blending

a curve

between two

existing

curves.

With

small

this

complete, we can
at a joint betweentwo

exercise

of continuity

conditions

now elaborate on the


cubic

Hermite

curves

general

and the

conditions arising when two or morecurves


are
end-to-end
forming a
joined
of
a
two
curve segments
at a
curves, called compositecurve.
string
Joining
common point so that their first \316\267
are
at
that
derivatives
parametric
equal
of continuity
called nth-order parametric
point creates a condition
denoted
as C\". A less restrictive form of nth-ordercontinuity
is nth-order
continuity,
denoted as G'.The curve definedpreviously
has
\320\241
or
geometric
continuity,
because
first-order
vectors
geometric
continuity,
corresponding tangent
must
be in the same direction
but not of the samemagnitude.If p?>(0) = p\"(l)
and pi'il) = p\"(0), then the continuity
at
both
would be C1, or firstjoints
order
parametric
Clearly, only one Hermite curve joiningcurves
continuity.
3 satisfies \320\241continuity,
1 and
whereas
many satisfy G1.
infinitely
Geometric continuity
is defined
in terms of the intrinsic differential
of a curve
or surface, such as the unit
and curvature.
properties
vector
tangent
These properties are independentof the parameterization,
parametric
absorbs
freedom
more
of
lhan
If the
degrees
geometric continuity.
continuity
conditions
are
relaxed
while
producing
parametric continuity
maintaining
then additional degrees of freedom becomeavailable
geometric
continuity,
to controlthe curve's shape. For example, Barsky's Beta-Splines offer extra
of this distinction. Similar
taking
by
advantage
shape controlparameters

methods

apply

as

well

to surfaces.

In general, a curve is either continuousat all points,or it has one or more


of continuity
a curve can have is C\302\260
points of discontinuity.The simplestkind
that
there
its beginwhich
ensures
are
no
breaks
or
between
continuity,
gaps

78

Curve

\342\226\240
Hermfte

points. If

and ending

ning

continuity,

of gaps.

number

to be a single curve doesnot have


two
or
morecurves,
on the
be
depending
really

what

it must

then

C\302\260

continuity
We

note

composite
shows
obviously

they

that

that
curve.

The

of

examples

Figure 3.25c is

composite

of two

are joined
a

joined

at a

joint.

the

consists

alleged

common endpoint have at least C'1


the
simplest kind of compositecurve.
They comprise
term curve alone will often
mean
a curve segment or
be
clear
from
the context. Figure 3.25
should
meaning

Two cubic Hermite curves


at

is

distinct

curves and
and separate

C\302\260

continuity.

Figure

curves, whereasin

3.25a
Figure

3.25b,

and form a compound curve with C\" continuity


at the joint.
of
three
curve consisting
segments,againwith C\302\260
compound

0)

Figure

3.25

Composite
geometric

continuity.

curves and

Hermite

Composite

P,l1l

^\320\222\320\263
[Pj{0)

P2IOl

Curves

79
\342\226\240

\320\240\320\263\320\237|
pJfO) \317\201'|\316\231)\316\231\316\223

T0

P,|0)
\317\201\302\273(\316\237\316\271
\316\222,
\316\222\",\\\\)\316\231\316\244
\316\231\317\201,\316\231\316\277\316\271
\317\201,{II

Conditions

3.26

Figure

required

for

G\302\260.

at the joints. Figure 3.25d is an arbitrary


defined
with an
shape
set
to
form
the
of
closed
curve
in
3.25e.
segments
Figure
arbitrary
composite
When two curves join end-lo-endat a common
point,as in Figure 3.26, the
coordinates
of that point are a commonsubsetof the geometric
coefficients
of both curve segments. We
observe
that
the C\302\260
thus
obtained
continuity
the
not
affect
of
either
curve
does
shape
segment.
\320\241
two curve segments requires a common tangent
between
continuity
continuity

line at their joiningpoint.

3.27

Figure

the

their componentsmust

be

is

of

an example

\320\241continuity

conditions that must be met.Themagnitudes

the mathematical
vectors at p,(l)
tangent

indicates

= p2(0)donot have

to

be

equal,

but the

and
of

ratios of

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*(0)
\320\240\320\240,(\320\250
P,I1)

Figure

3.27

pj(1)]r

Conditions

P;

required

= kp5(0)

for G' continuity.

80

Curve

\342\226\240
Hermite

It is

that we

apparent

their common

point

internal

of

shape

can join any

until

each.

they

Whereas

point and tangent line at

requires

that

this,

the

the

two

curves

conditions

following

two

are tangent

the

curves

\320\241

implies

continuity

junction

of

then rotate them about


other while preservingthe

and

to each
two

curves,

possess equal curvature at


must exist:

sharing

a common

G2 continuity also
their joint.To ensure

P,{1) = P~.(0)

p?(l)

pr(D

/r,p?+1(0)

*2P?U0)

ensures
that
between the parametricsecondderivatives
yf
more
must
be
met
for
G2
One
condition
y1\\
point.
The
binorof the two curves must coincide,or their
osculating
continuity:
planes
the
mals
must be collinear. However,
usefulness of G2 continuity
is limited.
fillets
or rounded
For example,most
mechanical parts do not requireit,since
edges usually blend directly into plane faces.

The relationship
~

at their
\316\271

common

BEZIER

Some

curve-defining

CURVES
such

techniques,

as those

using the Hermite basis

the
curve
sel of points. This means that
produced
curve
that
a
those
define
Other
techniques
points.
passes exactly through
the
near
or
given points.Interpolationtechniques
approximates
only
passes
the Hermite
like
basis have certain disadvantages when incorporatedinto an
user
an
the
interactive
geometric-modeling
system. They usually do not give
of a curve. For
intuitive sense of how to changeor controlthe shape
one
or
the
of a spline-interpolated curve by moving
shape
example, changing
if
not
more of the interpolating points may
produce
unexpected,
and
and
both
inflections,
locally
globally.Tocontrolcurve
undesirable,penurbalions
is more
a
a
few
in
simple
parameters
way by changing only
predictable
shape
curve
need.
The
satisfies
this
desirable.
Bezier
partially
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
and the design process.The resultof his work
to the designer
moreamenable
was
the UNISURF
system, used by the Renault companyin the 1970s to
of its automobile
bodies. At the heart
the
design
sculptured surfaces of \321\202\320\260\320\273\321\203
and surfaces that bear his name.
were
the curves
of the UNISURFsystem
must
Bezier
started
with the principle that any point on a curve
segment
be given by a parametric function of the followingform:
functions,

interpolate

a given

p(\")
=

2>A\")

1=

^iwl

(4\320\233>

B1

82

Curves

\342\226\240
Bezier

4.1 Cubic

Figure

where the vectorsp, represent

characteristic polygon
control
points. He then set forth the
must have and lookedfor specific
basis functions
Here
is a review of these properties
requirements.

(see Figure4.1).These
properties the f:{u)

the

vertices

that

to

functions
and

the

1. The
curve

these

meet

\316\267
+ 1

vertices

of a

the

functions must interpolate the


segment

of a

points

ending

of

on p0

start

must

startingand
2. The tangent at
each

are

for them.

reasons

This,
p\342\200\236_i.

Beziercurves.

po

must

course,

be

gives

first

and

last

Bezier

points; that

vertex

and end on p\342\200\236.


It is

up to us

is, the

to eontrol the

curve.

- p0, and the tangent at p\342\200\236


by p\342\200\236
us direct control of the tangent to the curve
at
given

by pi

end.

3. Requirement

2 is generalizedfor higher

derivatives

at

the

curve's

end-

at \317\201\317\205
must
be determined
points. Thus, the secondderivative
by pn, p{,
and
the
i'th
derivative
at
an
In
must
be
determined
general,
p2.
endpoinl
vertices. This allowsus virtually
unlimited
control
by its r neighboring
of the continuity at the joints between curve
of
a
segments
composite
Bezier curve.

BezierBasisFunctions \342\226\240
83

means that

can

we

be symmetricwith

reverse

the sequence

changing the shape of


of parameterization.

without

curve

direction

4.1

f,(u) must

functions

The

4.

to

respect

\320\270
and

(1

- u).

This

of the vertexpoints defining

the curve.In effect,this

the

the

reverses

BEZIERBASISFUNCTIONS
called Bernstein polynomialsto satisfy
He originally
chose a form of vector representation that
properties.
used the sides of the characteristic polygon. However, we will use the notation
introduced
the polygon
by Forrest (1971), which uses the vectors
defining
vertices. It is a more compactscheme,
with
intuitive
greater
appeal. It turns
out that the functions Bezierselecteddependon the number
of vertices
used
to specify a particular curve.To indicatethis,Equation(4.1)becomes
of functions

a family

chose

Bezier

these

(4.2)

\321\200(\320\270)
\320\270\320\265[0,1]
2\321\200\320\225-\320\224,.\342\200\236(\320\270)

where

the

basis functions

are

(4.3)

BiB(u)=Qu1(l-u)-i

and

denotes
from

where

the

familiar
and

probability

binomial
statistics:

function, or binomialdistribution

coefficient

n\\

\342\200\236if
i\\{n-i)\\

The

following

If there are (n

conventions
+

1)

vertices,

apply: If/ and \320\270


equal
then the function

zero,
B,\342\200\236
(u)

then

\302\253'=l,and

0! =

yields

an nth-degree

three,

four, and

polynomial.

Expanding Equation (4.2) for


points

produces

the following
=
\316\267
2, and

For three points,

curves

polynomial

defined

forms:

BQ2 =

{\\-uf

S,,2 =

2\302\253(l-\302\253)

by

five

1.

84

Curves

\342\226\240
Bezier

so that
=

(1

p(\302\253)

For

four

points,

uf

p\342\200\236
2u(l

+ \302\2532p2

(4.4)

\302\253)p,

\316\267

3, and
\320\224\320\274=(1-\320\270)3

S,.3
B2i3

3\302\253(l-\302\253)2

3u2(l-u)

so that
=
p(\302\253)

(1

\302\253)3
po

u)2 p,

3\302\253(1

3\302\2532

(1

\302\253)p2

(4-5)

w3p3

at p(,
a segment
of a parabola with
Using this cubic Bezier curve,
endpoints
and p3 can be modeled exactly,if the end tangents
at
so
that
intersect
pi
p, =
=
=
+
and p2
w)2
(po
2pp)/3
(1
(p3 + 2p,)/3.Theseconditionsproduce
p(\302\253)
+
+
of
the
form
which
is
po 2(\302\253 \302\2532)pi \302\2532p3,
exactly
Equation (4.4).

For

five

p(u) =

Matrix

(1

= 4,
\316\267

points,

\302\253)4
po

+ 4u(l

and

\302\253)3
p,

w)2 p2

6\302\2532(1

+ \302\2534p4
4\302\253\321\217 \320\270)\321\200\321\212
(1

(4.6)

Form

For the

=
cubic Bezier curve,\316\267
3,

we write

follows:

Equation

(4.5) in matrix form as


po

=
p(\302\253)

[(l-3\302\253 +

3\302\2532-\302\2533) (3\302\253-6\302\2532+

u3]

(3u2-3u3)

3\302\2533)

Pi

P2
\316\241'

or

as

p(\302\253)=

[w3

w2

3 -3

-1
3
1]

-6
-3
3
1 0

3
0
0

P.

P2

Letting

U=[\"3
P=[po

\320\2702\320\270

1]

p,

p2

po

\321\200\320\267]7\"

\320\240\320\267

Bezier

=
M\342\200\236

can

-3300

subscript

distinguishes

it

from

even more compactly as

write this equation

p(ii)=
The

\342\226\240
85

3-630

10

we

Functions

3-3

-1

Basis

UMBP

(4.7)

on the cubic Bezier basis transformationmatrixMB


the Hermite
basis transformation matrix MF. The inverse

MB for the cubic Beziercurve

of

is

\342\226\240>

Mi'

\320\267\"\320\267\"

.1

Obviously, the compositionof thesematrices


= 4 we have
+ 1. So, for example, for \316\267
vertices, \316\267
U=[\302\2534

\320\270\320\263
\320\270

=
\320\234\321\217

-4

-4

-12
4

with

the

number

of

1]

1
0
0 0
0 0

-12

-12

-4

varies

po

Pi
=

P2
\320\240\320\267

LP4J

Bezier-Hermite

Conversion
and at this
curves,
Equation
(4.7) is similar to Equation (3.20)for Hermite
point it may occur to you that we can also represent a cubic Hermitecurve
a sequence
These
with
of four control points. Figure4.2presents
the
details.
are
and
enddenoted
as
where
and
are
the
curve
pi,
p2,
points
p0,
p3,
p0
p3

86

Curves

\342\226\240
Bezier

P0u=3(Pl-^,)

Figure 4.2

The Hermite equivalentof a cubic

Bezier

curve.

the

two

The

points.

following

points contribute to

interior

where

and

Pi=Mp3-p2)
and
scale factors introduced to controlthe scaleof
ki are arbitrary
are
the
not
and,
thus,
magnitude of the tangent vectors,
scale in the figure.The matrixof
is
coefficients

\320\272\320\276

which

polygon

to

drawn

geometric

p3

B=[p0
For

in

vectors

way:

Po=*o(pi-po)

the

the required tangent

kO =

pi, p2i

k, =

and

3, the

curve is identicalto the


that

see

We
\321\200\320\267\302\267

for

polynomial expression

\320\263
^\321\200(\321\200\320\267-\321\200\320\263)]

Mpi-P\")

this is

the tangent

cubic

B6zier

curve

defined

true from the following:


The general
vector at any point on the cubic Bezier

by p0,
curve

is
p\"

(u)

(-3\302\2532

+ 6u

3)p0 + (9u2

12u

3)p,

(-9\321\2132

+
+ \320\262\320\270)^
3\302\2532p3

- p2).Thus,
=
if a cubic
at \320\270
1, p\"(l) = 3(pj
Bezier curve is given by the four control points [p0
pj
p3], then the
p,
has
coefficients
geometric
equivalent Hermite basis curve
[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
At

=
\320\270
0,

points

are

p\"(\302\253)

3(p,

pu), and

Po

can

We
rather

matrix

Pi

ypo

P\"

\342\226\240
87

Pi

between the Hermite and Bezierformsusing

this conversion

express
simple

iPo

Functions

Basis

Bezjer

algebra:

B = M?'M\342\200\236P

(4.8)

or
P

= M^MfB

(4.9)

where
1

\317\213

\317\213 \317\213

\320\234,\320\263'\320\234\320\273

-3

Affine

under

Invariance

A Bezier
rotation,

or

produce

the

same

1. Compute

\317\213

and

\320\234\320\2711\320\234/\320\263

\317\213

0-33

\317\213
1

\320\236

\320\236
1

\317\213 \320\236

Transformations

curve is invariant

scaling,

shear).

an affine

under

transformation

that the following two

This means

(translation,
must

methods

point:

the point
=

\316\241(\";)

and
2.

Apply
and

\316\247\317\201151.4\",)
, ^(1

apply an affine transformation A such


an affine transformation
A
lo the
control
the
then
evaluate
curve represented by

then

that

p'(t*,)

p'= Ap(,
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

\316\221\317\201(\316\257\316\257;).

points such that

88

Curves

\342\226\240
Bezier

allows us to translate,rotate,and scale


the
preserving
relationshipbetweenevaluated
points
value of the parameter.
This

arbitrary

then

[a,b],

Construction

by Geometric

Curve

while

as

algebraically

Bezier

curve

the corresponding

invariant under an affine


or
reparameterization,
The transformation from the unit interval [0,1]lo
\320\265
and
\316\275
interval
[a,b] is an affine transformation. If \320\270
[0,1]
=
the transformation
is \320\270
We
this
a).
(\316\275 a)l(b
express

parameter
the

and

is also
curve
transformation.

Bezier

a Bezier

property

curve as the locus of points producedby a simple


construction
derived from work by de Casteljau.
Bezier
geometric
method
and
the
this
generalized
developed
explicitnonrecursive
expression
of Equation
(4.2). We begin with the constructionof a seconddegreeBezier
a Bezier

create

can

We

recursive

curve

and

any three

\320\222\320\241

For successive

construct

the curve(in

the

in

The

vector

this

sides

of the

values of

open polygon

AB

case,

\316\225
so

that

ADIAB

Notice that we must be directionally


the polygon edges.
is (see Figure 4.3b):
of this process
\302\253(pi
Pu) + \"[pi + \320\270(\321\200\320\267
Pi)
po \"(pi - po)]
a parabola).

way we subdivide
description
=

p(\302\253)

Rearranging

the

\320\270
closed
in the
interval
= BEIBC - u.
on
Finally,
F so that DFIDE = u. F is a point
on the curve. Repeating
of \320\270
a sequence
other values
of points that defines
generates

4.3a).

construct points D and

this process for


consistent

points A,B,C, we draw

Figure

(see

[0,1] we
D\302\243we

4.3).

Figure

(see

Given

pc +

terms yields

+ \302\2532p2
po + 2h(1- \320\275)\321\200]
to see evidence of the Bernstein polynomials.
Here
we begin
to Bezier curves of any degree,
and the
A similar
construction
applies
the
as
control points
are not constrained
to a plane. Figure4.4illustrates
process
to
the
of
a
it applies
construction
cubicBeziercurve. Here wc are given any
four points A,B,C,D and draw the three sidesof the
open
polygon
values
of the
For
successive
we
AB,BC,CD
Figure
4.4a).
parameter,
(see

- uf

(1
\321\200(\320\275)

construct

points

E,F,G

construct

points

\320\224/so

so ih&i
that

EH/EF=

= BF/BC
\320\222
El \320\220

FUFG-u.

CD - u. Next, we
Finally, we construct point /so
= CGI

\342\226\240
89

Points

Control

<a)

4.3 Geometric

Figure

construction of a Bezier

curve:

= 2.
\316\267

u. Point/ is on the curve.Continuing


the
of points whose locusdefines
curve.

HJIHI=

that

sequence

this, too,can bedescribedwith


polynomials

we find

thus,

emerge;

p(u)

po +

po

+\"(p2-pi)-po-\"(Pi~Po)]
+

\302\253(pi-po)+\"[pi

4.4b shows

Figure

produces

process

how

the Bernstein

the folio-wing unwieldy expression

+
\302\253{pi \320\270(\321\200\320\263
Pi) +

which

from

vectors,

this

po)

\302\253(\317\201,

\"[P2

pi)

\320\247\321\200\320\267

\302\253[\317\201,
u(p2

pi)

Pi
-

po

- \"(pi\"(pi

Po)]

Po)]l

which reducesto
=

p(\302\253)

4.2

CONTROL

w)3 po +

3\302\253(1

w)2 pi

3\302\2532
(1

u)p2 +

w3

p3

POINTS

points are the coefficientsof the


(see Equation [4.2]).When we connect

The control
functions

(1

Bernstein

these

polynomial

points

in the

basis

order of

90

Curves

\342\226\240
Bezier

Figure
their
points

4.4 Geometric

with
numbering
straight
on a Bezier
curve lie

The partition

of unity

property

construction of a Beziercurve:

= 3.
\320\273

we form the Bezier control polygon.All


lines,
within the convexhull of the control polygon.
of the Bernstein
basis functions, that is

to the convex hull property In moreformal


mathematical
hull is the smallest convexset that contains
a given set. A
that
connectingany two points in a convex set lies entirely within

gives

convex

rise

terms,

straight line
set.

It
polygon formed by the control points servestwo functions:
establishes the
a framework
initial
the
curve
and
then
of
furnishes
for
shape
curve.
4.5 shows two examples of cubic Beziercurves.
altering the
Figure

The

In

Figure
4.5a, the disposition of points generatesa smooth,uninflected
curve,
while
in Figure 4.5b, the disposition of pointsgenerates
an
inflected
curve.
In
both cases, the curves are tangent
lines defined
to the
and
\317\201\317\203
by p,
\321\200\321\215
\321\200\320\263.

Control

Figure

4.5

Cubic Bezier

curves.

Points

\342\226\240
91

92

\342\226\240
Bezier

Curves

Figure 4.6

(a)

(0

(b)

id)

Bezierbasis functions;(a)

(b) Four points,

=
\316\267
2;

= 3;
\320\277

Five
(\321\201)

Three

points,

points,

n=

4;

= 5.
(d) Six points, \317\200

As is

the case for

Hermite curves,the

basis

functions

are

the key

to the

=
basis-function
curves
behavior of Beziercurves.Figure4.6shows
Bln for \316\267
and 5. For the examples in Figure4.5,the first
control
2,3,4,
point p0, whose
contribution to the curve'sshape is propagatedby B05 (\302\253),is the most
=
= 0. The
influential
when
\320\270
other control points do not contributeto p(\302\253)for \320\270
to zero.
A
iheir associated basis functions are eachequal
0, since
and
are
symmetrical
most
occurs
for p., when\302\273 = 1. Control
situation
p2
points pi
influential

when

= 1/3
\320\270

and

2/3, respectively.

For any Bezier curve,eachcontrolpointp,is weighted


by its associated
=
basis function. As we have seen, when\302\273
0,p0 is given a weight of 1.0, and \317\201,
a
Less
is
of
zero.
weight given to p0 and more to each
through
p\342\200\236
weight
a maximum
as
\320\270
increases,
weight for each p, when \320\270
succeeding
reaching
p,
of p\342\200\236
becomes
i/n. Then
all other weights decay gradually to 0 as the weight
=
1 when
\320\2701. We
reaches
observe a shift in the influence of each point (each
as the parametric
variable moves through its rangefrom 0to
polygon
vertex)

Control

1. This

influence

means that changing the posi lion of controlpointp, has


on the curve's shape at and near the parameter
value

Points

the

\342\226\240
93

greatest

i/n.

4.7- In
ability to modify a Bezier curve is demonstratedin Figure
the
curve
toward that vertex. The
Figure 4.7a, moving point p, to p5 pulls
effect canbe weaker
on the distance (or direction)
or stronger
depending
the point is moved.In Figure
of an interesting
we
see
evidence
4.7b,

The

degree of freedom.
vertex, we pull the

By

specifying

curve

in

-and

closer

control

coincident

multiply

closer

vertex. To do this, a
specify a positive
number of coincident
existing vertex points,

to that

us to

curve-generating
might
require
simply
The
the
indicates
integer
integer for each
coincident
with
points at a vertex. adding
points
we increasethe degreeof
polynomial
representing
program

vertex.
By

the

the

case without changingthe

polygon.
If
first

last

and

the

of

number

points
a closed

produces

arrangement

in

curve

join

points \317\201,,p0,
4.8c. However, the

by making

is produced
exists

condition

sjdes

Figure

and shape

ps

together
and p4

curve,

in this

of the characteristic

of the characteristic polygon


curve. The closed curvein Figure

continuity where the endsof the


continuity

points at a

at p0 and

coincide,
4.8a

has

the

C1

p5.This

collinear. A similar

curve in Figure4.8bexhibits

only

C\302\260

continuity.

The

or

shape
the

traverse

control

_ i,...,
p,\342\200\236
p\342\200\236

parameterization

in which we
Bezier curve is unaffectedby the direction
free
We
are
to
them
in
two
order
ways:
p0, p,,...,
points.
the
The
curve
looks the same either way; only
direction
\317\201\316\261.
as
is reversed. We express
this property

of a

J]=
1

(u)
p,-S;,\342\200\236

1=

p\342\200\236

of

u)

\321\200\342\200\236_|\320\224;.\342\200\236(1

=
from the basis function
(\302\253) #\342\200\236-,.\342\200\236
(1 -\302\253).
identity^,,
describe
method
that
Fowler
Barlels
a curve-shaping
(1993)
permits
of points
direct
of certain geometric properties at any selection
manipulation
affects the shape of a
on a curve of arbitrary degree and
The
method
basis.
curve at one or more points by establishing
and solving an underdetermined
The
of constraint
constraints correspond to position,tansystem
equations.
at the points.
or curvature
conditions
gency,
The convexhull property
determination
of the intersection of
expedites
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.
This
If the boxes do not intersect,then neitherdothe curves.
of
test
increases
the
and
preliminary
significantly
speed
efficiency computing

The

proof

of this follows
and

intersections.

94

\342\226\240
Bezier

Curves

Figure

4.7 Cubic

Bezier curvesand

their modification.

Points

Control

0,0

\342\226\240
95

\342\226\240
\342\200\224

e,q-

<a)

<c)

4.B

Figure

Degree

Closed Bezier

curves.

Elevation

Adding another controlpointto the

degree

by

We

one.

are

motivated

of

definition

to do

this

if

wc

a Bezier
are

not

curve raises
satisfied

with

its
the

more freedom to achievean acceptable


It is
shape.
best to add this point in a way that leaves the shape of the curve unchanged
move
of the points,
Figure
4.9). After adding the point, we may
(see
any
the
the
new
to
the
set of control
alter
Because
new
addition,
including
shape.
must
the
same
the
curve as
initially
generate
original set,it must be
points'p,
true

and need

curve

original

that

+ 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-\\"

Multiplying

the right side of this

equation

by

\320\270
+

(1-\320\271) produces

96

Curves

\342\226\240
Bezier

Figure

4.9 Degree

elevation:

= 3
\317\200

to

= 4.
\316\267

=
\316\247^\316\267)1)\302\2534\316\220-\302\253)\"+,\",

-\302\253)-']
\316\243\317\201.(\[\302\253,(1-\")\"'\316\271\",+\302\253,\"+\316\271(\316\220")

summation
on the right side of this equation produces2(n +
on the left \316\267
+ 2 terms.
We rearrange and group terms on the
can
so that we
ofu'
compare and equate the coefficients

The

1)

and

right

sides.

this, we

Doing

(1-u)\"f,~'

find

and
Expanding the binomialcoefficients

the

simplifying

,=o
><=\320\250\321\200-|+(1^)\321\200'

This tells

results

n+i

on

terms
side
both

yields

(4jo)

a new set of controlpoints'p, using


the
compute
and
at
the
linear
original
interpolation
points
piecewise
parameter
Che
of raising the degree of a cubic
values
results
il(n + 1). Figure 4.9 shows
the original
Bezjercurve while maintaining
shape. Clearly, after raising the
degreeand before moving any control points to adjust its shape,the curve is
defined
by more information than necessary.
to repeat this process several times to establish
It may be necessary
The general
formula for producing a new set of
sufficient
modeling
flexibility
lis

that

we

can

control

controlpoints

for

discussion:

degree

elevations

follows

directly

from the previous

and

Truncating

\342\226\240
97

Subdividing

n + r

a degree elevation technique


Thetechni
can
this method.
be
que is iterative
and
as to curves.
a
s
Bezier
triangular
patches,
products
Degree reduction usually is Jiot a good idea.
based
upon a reversal of the processabovearepossible
Kocic

(1991)

that

presents

form of

and

is

a generalized

applied

to tensor

well

However,

under

and

Watkjns

circumstances.

with

subdivision

reduction.

degree

intersectioncomputations
and

4.3

AND

TRUNCATING

have developed a

(1988)

Worsey

in

An

use

important

graphics

computer

approximations
special

method that

combines

a procedure
for use in rendering.
of such

isin

SUBDIVIDING

the
curve is necessary when
itself
modeling
process
no
to
the
active
model.
of
a
curve
that
parts
longer
belong
are used to expedite
the computation of points on a curve
Subdividing
techniques
the number of control points by creating
curve segments
or to increase
small
without initially changing the shape.We will look at a recursive subdivision
method and a subdivision by geometric
construction.

Truncating

a Bezier

eliminates

Truncating

a 5econd-Degree

Curve

The truncation and subsequent


for a
transformation
reparameterizatjon
the three control
Given
second-degree Bezier curve proceedsas follows:
points defining the curve,we can find three new control points defining a

segmentof
interval

is

this

normalized

matrix

form

curve

in

interval

the parametric

to a new
we write

parameter

\316\275
so

that

\316\275
e [0,1]

p(H)=UM*P

where

U=

\320\2701]

[w2

MB= -2

-2

2 0
0

where
\320\270
\320\265
[u\342\200\236u,].

(see

Figure

the
4.1\317\213).

In

98

\342\226\240
Bezier

Curves

Figure

4.10 Truncating

curve.

Bezier

second-degree

P =

Pi

P2

Let U = VT,whereV = [\316\2752 \316\2751].

so that

= VTMflP

p(v)

= VM\342\200\236P'
This

means

that

and

TMSP=MBP'

\320\240'-\320\234\321\200'\320\242\320\234\320\262

where

\316\224\316\267,20

T =

\320\236
2\316\274;\316\224\316\274
\316\224\316\274;
\320\275?

(see

the development

Li
so that

(3.28],et seq.)and

of Equation

M^

\320\270,

\316\271lJ

where

Truncating and
-

uf

99
Subdividing \342\226\240

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)

1 + \316\224\302\2532
+ 2\320\224\302\253,(\320\274(1)

2u, +

+ 2\320\274,\342\200\2242wf

-2uf
-2\302\253,?+

The

control

uf +

+ \316\224\302\253;(-2\316\274,
+ 1)
2\316\271\317\212;

\320\270,-\320\224\320\274,

-\320\275
+ 2\321\213(-\320\224\321\213(+ \320\233\320\2702
_
2\320\274, 2\316\224\316\274,2
4\320\270;\320\233\320\270,
2\316\224\302\253,
\320\270?

for the

points

(4.12)

truncated segment are


\317\201'=[\317\201\316\214
p;

\321\200\321\203\320\263

where

p'o =
pi

(1

- u,)2Po

(1

- w,)(l -

p2 = (1
For
segments

+ 2u,

Uy)po

po
\302\253,)2

\320\270

w,)p, + \302\253,2p2
+

(-2u,-h;

2\302\253/l

case of dividing
special
we
have for iy, = 0,
0.5,

the
at

(L

u;)p,

\302\273,-u,)Pi

\302\2532p2

this second-degreecurve
1

\320\236

Po-s

0.5

0.25

0.25

0.5

0.25

0.5

0.5

transformations

0.5 0.5
0.25

0.25

(4.13)

the control-point

=
0.5

two

\320\236

Thus,

into

=
\321\211 0.5

0.5
0.5
\320\274-\320\231]\321\202\320\274\320\260

and foru, = 0.5,u;=

+ \"i\"/p2

(4.14)

are

Po

0.0 -s 0.5
\316\241

Pa

Pi

+ \317\201,)
0.5(\317\201\317\205

0.5

0.25

p2

0.25(\317\201\317\2052\317\201,+\317\2012)

0.5

0.25

Po

0.25(pll

Pl.O -! 0.5

P2.0-SO5

and
0.25

P^0.5->1

As

expected,

0.5

0.5

Pi

P2

\342\200\224

we see

that

pji0 _, a,

\321\2001,\320\2645
_,,

+ 2p,+p2)

Po.0.5->1

0-5(p0 + p,)

and

that

Pl,0.5->1

. p2,f!5->1_

P2

and
_, \320\276.\320\267
_,,
\317\201\317\214,0
\317\201\317\214
p'2 \316\2615

p'2.

100

Curves

\342\226\240
Bezier

a Cubic

Truncating

Curve

Truncating and reparameterizinga cubic


way as outlinedabove for the second-degree

points

defining

of

this

segment

normalized

the

curve,

we find

curve

Bezier

curve.

four new

control points defining

curve in the parametric interval \320\270


e
where
[u\342\200\236u,],
to the new parameter \316\275
such
that
\316\275
e[0,l]
(see

Again, working in matrix form, we

have

the

u1

\320\270

general

UMsP,but now

1]

-3

-6
3
0

3
\317\213
\317\213

Po

Pi

P2

Lp3J
If

we

let U

in the same
the four control

proceeds

Given

= VT,

where
V = [v3

\316\2752\316\275

1]

then,again,

p(if)

= VTMsP

Figure4.11

Truncating

curve.

= VMflP'

a cubic

Bezier

the

interval

Figure

expression

is

4.11).
p(w) =

Truncating and
that

means

This

101
Subdividing \342\226\240

TM

= \316\234
\342\200\236P
SF

and

\316\234
~i

TM

\342\200\236P

where

Auf

3u,Auf

T=

Au]

3uf\\Uj

of
(see the development

2utAu;

u?

II;

and where

et seq.)

[3.28]

\"\317\2130

0
All;

u)

Equation

\316\223

\317\204- \316\231

Mfl'

\"Hi 3

so that
(1-\320\271,-)3

(l-u,f-(l-u,fAUl

\316\234\316\262'\316\244\316\234\316\262-

(1
(1

2(1-\316\234/)2\316\224\302\253(-+(1-11;^
\316\227,-\320\243

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
-

3u,(\\

3u,(l -

u,f

+ 3(1\"

u,)2

\320\227\320\270)
(I -\320\270,)

(1

3u? (1
The

+ 2f(,

\320\270,)

\302\253,)

control

3u,

(2

points

(1

3u,)(l

+ 2(1 - 3U/)(I-

(2

3u.)0

\321\211)\320\220\320\270,

(2

- 3u)
-

\302\253,)\316\224\302\253,

3(2

\302\253\316\266)4\";

3\316\271/,-)\316\224

3u?(l

3u?

if,)2

\320\270]

\320\270,)

+ \320\270,
(2-

\302\2532(\302\253,
\316\224\302\253,)

3\302\253,)\316\224\302\253,

+ (1
\320\227\320\270;)\320\220\320\270,
Au,)1
3\302\253,)\320\224\320\2752 \302\273,(\302\253,

3u,)Au, + 3(1 for the

3u,)Au2

3\316\224\302\253\316\257
(u, + \316\224\316\271\316\271,)3
(4.15)

truncated segment are

P'=[PO Pi Pi

P'AT

102

Curves

\342\226\240
Bezier

where

pS =
=

pi

0 - u,f

Recursive

ul(2ul

h,-)(2u, + u,

(1
\320\270\321\203)\321\200\320\277
+

u;)!po

(I

\302\253fr3

\320\227\320\270^^\321\200!

u^u;p_i

+ 3\316\271\316\256(1
u,)p2

u,)2 pL

\302\253,-3u,-ti/-)p2

(I u,)(l

pi=

p;

u,f (I

(1

+ 3u,(l

po

\"y)(2u/+

\302\253,-3u,u,)pi

\302\253\321\203(2\320\270,
\320\227\321\213^^\321\200\320\263
\320\270(-\302\2537\321\200\320\267
u;

(1

p,j +

u,-)3

3uy (1

\320\270

If

p, +

3u7(l

u,)p2+

ujpi

Subdivision

the curve
For

a Bezier curve s times producesa set of points on


length of each is approximately1/2S.
parameter

subdividing

Recursively

Is

at

intervals.

The

small enough to plot as straight

pixel.

We

smaller

finding

curves. Figure

curve. This

gives us only

of these

each

for

by

begin

transformations,

p(0.5)

continues

subdivision

applications

computer-graphics

are

line

or to

segments

on the initial

end

points. To

control

the

segments

display as a

curve, dividing

4.12shows the resultsofthe first


the

until

it

subdivision

single

into

two

of a

cubic

find all the controlpoin

two smaller curves,we perform


repeating the subdivisionas often

the
as

ts

parameter
is an

necessary

Here

necessary.

algebraic description of this process:

StepI.
Step

e [0,0.5]

= po/8 + 3pL/8+ 3p;/8 +


compute
p(0.5)
we use the general parametertransformation
compute P^. We have
we

First,

2. Then
to

Pi = Ms]T\342\200\236MBP
where,

from

Equation

(4.15),

10

M\302\253'TeMH

\316\271 \316\271 \316\271

\320\276

L8

p3/8.
for

segment

\320\270

and

Truncating

Figure

so

subdivision of a

Recursive

4.12

\342\226\240
103

Subdividing

cubic Beziercurve.

that

\"l

~2

~2

Po

Po

\317\205\317\205

Pi

\317\205\316\2412

Step

time

3. Finally,
for segment

we use
\320\270
e

[0.5,1],

(Po +

Pi)

(p,, + 2p, +

\320\240\320\267

the general parametertransformation


to compute

its Pi,. We

have

\321\200; \320\274\320\271%\320\274\321\217\321\200

and

111!
8 8
1

\320\276
=
\320\234^\320\242\320\254\320\234\320\222
4

ooii

.0
Therefore,

p2)

0 0

1.

again,

this

104

Curves

\342\226\240
Bezier

-(p0 +

Po

2 4

\320\276

P> =

\302\273 \316\277

\316\227
2
2

All that

really interests

intermediate

control

segment.

Now

repeating

Subdivision

by

points,
we

+ p3)

^(Pi+2p2

P2

(4.16)

^(P2

\320\240\320\267)

pi

LPa.

us computationallyin

because

can find

Pi

3Pl + 3p2 + p3)

we already

the
know the endpoints of each
Steps

2 and

the midpoints of each of these two

3 are

curve

segments

by

this process.

Geometric

Construction

devised a subdivision technique by geometric


construction
to find a
on
a
to
a given
value
of
the
curve
\320\270,
point
parameter
(see
corresponding
Figure 4.13).
that
we find the point on each edge of the controlpolygon
First,
value
of
and
subdivides
it proportionally
connect
these
\321\211
according the
We
subdivide
each
of these new line
points to form a set of line segments.
to u, and repeat the subdivision and line
segments proportionallyaccording
we
can
construct
construction
until
segment
only one line segment. The
subdivides
this line is the point on the curve
point that proportionally
= 0.25.
The
in
at
\320\270
to
curve
iij.
corresponding
Figure 4.13 constructs the point
Points
labeled1,2,3,4are
labeled 0 are the initial controlpoints.Those
\316\267
subdivisions.
In
there
are
of subdivision,
subsequent
general
cycles
sequential
and the number of line segmentsdecreasesby one each cycle. Figure 4.14
Bezier

Figure 4.13 Subdivision

by

geometric

construction.

Composite

\342\226\240
105

Construction

4.14

Figure

Bezier Curves

of the

point

\320\270
-0.5.

the construction

shows

is described

by

first
Figure

4.4

cycle

some

of recursion

a cubic Bezier curve.This construction


and a simple recursion algorithm.The
vector
algebra
as shown in
on
the
initial
control
points,
operates

of

= 0.5
\320\270

for

4.15.

COMPOSITE

BEZIER

Bezier curves

may

CURVES
be

end-to-end

joined

to form

a composite curve.This

us to create
a more complex curvewithout
having
of an equivalent single curve.The geometric
relationship
the
continuity
points adjacent to the jointsdetermines
allows

K-P, + u*>l+1-Pj

Figure

0,

- 1
\316\267

4.1S

A recursion

algorithm.

the degree
control
conditions
at those
to

raise
of

the

106

\342\226\240
Bezier

Curves

To explore these ideas, we again focus


on
the cubic
Bezier curve and
extend the continuity
criteria
discussed
earlier
(see Figure 4.16).
terms
to obtain
First, we differentiateEquation(4.5)and rearrange
- 12u+ 9uz)pi + (6u - 9u2)p2+ 3u2p3
=
p\302\253(u)
(-3 + \320\262\320\270
3u2)p0 + (3

joints.

this

function

P8 =

3(p1-po)

evaluate

Next,we

These

at

= 0and
\302\253

=
\320\270

I,producing

p? = 3(p3-p2)

and

= 0 is determined
at \320\270
by the
the
and
line
between
p2
p3.Theyalso
by
that
Bezier
reveal
certain
conditions
between adjacent
segments
continuity
of a compositecurve are relatively
if we
define
one
to
Thus,
simple
Specify.
control
..
and
the
segment by
,pm-i,pm
points po, pi,.
adjacent segment by
control

at

= 1
\320\270

,qn-i,qn,

q0, and

p,\342\200\236_
upm,

G1 continuity

then

\342\226\240
\342\226\240
\342\226\240

qo.qi,

points

by making

pb and

the tangent

that

demonstrate

expressions

and
line between \317\201,)

as

we

also

move

\320\241
and

P2

\302\243
in

P3

a way

with

joined

We

that

are

preserves

p\342\200\236
q,

Ibl

4.16

Composite

(we

move point D so

the collinearity of C,

4,

Gl continuity

free to

p0

Figure

at

q, collinear.

Figure 4.17 shows two cubicBeziercurves


do not address parametriccontinuity
here).
long

is established

Bezier curves.

Composite BezierCurves

Two cubic

4.17

Figure

Bezier curvesjoined with

\342\226\240
107

G1

continuity.

lengths of C,D,and E.
the event that other
propagate beyond points
curve segmentsare present
or are added
to this string.
for G1 continuity
the
five
A condition
at a joint between curvesis that
D, and E.
The effects

this

Within

_ 2,
-1, p4,
p\342\200\236,
p,\342\200\236

vertices

change the

G in

\316\233
and

qoi

a\302\260d
must
\320\247\321\214
\320\246\320\263

require increasingthe
The equations the curvature
number

for

of

control

and
\320\2720

be

To achieve this might


in one or more segments.
end of a cubic Bezier curve

coplanar.
points

at
\320\272,

each

derivation.

without

follow

we may

constraint,

do not

_ 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

these equations for Bezier curveswith \316\267


> 3.
generalize
Bezier
that
of
curvesis
advantage
higher-order
they
provide
of continuity
orders
between segments of composite
correspondingly
higher
a fifth-order,
curves.Forexample,
or quintic, Bezier curve permits us to
and curvature
end
at each end. However,we must
tangents,
specify endpoints,
We

can

easily

The

consider

geometric

how

polynomial functions
and relationships. If we have

higher-degree

properties

affect

the

quintic

computation

curves

of

and the

108

\342\226\240
Bezier

Curves

related

biquintic

4.S

more

are

these

for
surfaces, for example, the intersectioncomputations
and
for
cubic
curves
bicubic
surfaces.
than
complex

BEZIER CURVES

RATIONAL

Equation (4.2)definesa
now

We

polynomial.

discuss

curve

Bezier

using

or nonrational

an integral

curve defined

a Bezier

by

a rational

We

polynomial.

of it as a projection of a fourthinking
study this curve
onto
three-dimensional
dimensionalnonrational
space.To understand
of
this formulation, we
the underlying geometry
power
representational
of
coordinates
and
must reviewsome
homogeneous
properties
projective geometry. Riesenfeld(1981)discusses use of homogeneous
was
coordinates
and projective pJanes in computergraphics.
(1965)

can best

by

curve
and

elementary

the

Roberts

of the first

one

to observe that

are a

coordinates

homogeneous

represent geometrictransformations
and

useful way to

projections.

Cartesian space hasa corresponding


Every
point x,y,z in three-dimensional
in four-dimensional
set
coordinates
of
hx,hy,hz,h
projective
homogeneous
of
an
infinite
number
There
are
points in this four-dimensional
space
space.
and
each
because
to
x^hxlh,
inordinary
space,
y-hyih,
point
corresponding
= hzlh
on a line through the origin
for all real h except h = 0. All the points
\316\266
have identical ordinary 3D
in this four-dimensional
homogeneous
space
the
is
the
Thus,
x,y,z
projection of the point hx,hyhz,h
spacecoordinates.
point

originisthe centerofprojection
4.18b
space. Figures 4.18a

the hyperplane
h~l, where the
is
ordinary three-dimensional
hyperplane
onto

and

the

and

dimensions.
a Bezier
curve in the homogeneous coordinate space of four
We
define
onto the h ~ 1 hyperplane,
that
dimensions
find its projection
and
is, onto
The
of
this
curve
is
three-dimensional
equation
ordinary
space.

illustrate

coordinate

homogeneous

geometry

in one

and two

(4.17)

\316\241(\302\253)=\316\243\316\241^\302\273
1= 0

where

are

the

coordinates.

p(u)

is the

control
We

know

four-component vectorof a

points,

also

given

point

in four-dimensional

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

on

the curve,

and the

homogeneous

p;

Bezier

Rational

Curves

\342\226\240
109

h-1--

hxa,hya,h

Figure

4.1B

Homogeneous
one

so that now we
the

and

two

coordinate

= 1 plane

geometry

in

dimensions.

can write, for the homogeneouscoordinatesof any

on

point

curve,

x{u)~ V

\320\263\320\224,\342\200\236(\302\253)

2(\=\316\2432\316\221\302\253(\302\253)

%)^\320\233\320\224\320\233(\")

(4.19)

110

Curves

\342\226\240
Bezier

For the

projection

of this point onto x,y,z

write

we

space

= x(u)

CO

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

Because analogous expressionsapply to y(u)


rational Bezier curvein vector
form
as

and

we

z(u),

the

represent

\320\245/\320\263,\321\200\320\224,\342\200\236(\320\270)

the p, are the control points in three-dimensional


spaceand the
t
he
also known
the corresponding
are
projective space coordinates; h,
or nonrational
Bezier
weights. Equation (4.22)reduces an integral

h, are

where

to

when all/z,= 1,which

If all

from:

follows

ft;= l.then

as the

curve

because
(\302\253)= 1,

\316\243
h,Blin

\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

points can produce many


and with the same end
the

changes

shape

Bezier curve
Let us see

plane

in

plotted
identicalto

of the

how this

points

on
between

whose

slides
along
h coordinate

shown

in the

point

and weights

cubic.

rational Bezier curve in the

hlth2,h3. In Figure4.19,we

the rationalBezier

curve

curve

cubic

a rational

nonrational

the

all

for

h,=

see

1. It is

points. All the


=
coordinates
h
1 plane,as do
in
the
x,y
OB and \320\236\320\241.
This
is because
of the relationship we established
and h. When we change a weight, the corresponding
x,y

nonrational

earlier
control

po>pi,pz

points

points on the line OA


the

endpoints
one or more of the weights

interpolating

Changing

a second-degree

for

works

control

set of

the same

curve. This means,for example,


that

the h = 1 plane

the

shapes,

tangents-.

same

the

has four more degrees of freedomthan

control

with

different

Bezier

have

the

with

the

same

control

same

its projection
matches the

line in homogeneous space to a position


new weightedvalue. For the case of

figure, the control point moves

along

line

OB

to the

hi,

position

Bezier

Rational

h0,

h, > 1, h2

= 1 curve 1n

111
\342\226\240

Curves

space

homogeneous

\320\222

\316\212-|\316\247\316\220\302\267\316\267\316\220\316\245\316\220.\316\212\316\220

,C

\342\200\224_

= l,
h\342\200\236
hy>l, h2 0
curve projected onto

h = 1

\\

0IC^__^

'
4.19

Figure

We can

htX\\,h}yuh.
two

the

with

the h = 1 planethat

this

= 1 curve

Bezier curve

control

end control

unchanged

the homogeneous

of

think

plane

1\\

Rational

point

turn

produces

in

the

in its

plane.

new position together

points as defininga new

or projective space.It is the


in

h = 1 plane

a new

projection

curve

Bezier

of this

curve

in

onto

curve in that plane. This is the

interest.
It has, of course, the same controlpointsas the h-,~ 1 curve
same end slopes.Only one weight
has been changed, and the effect
we
of this is to pull the curve toward the control point p\342\200\236
whose
weight
rational
Bezier
All of this applies equally to three-dimensional
changed.
of

curve

and the

of any

curves

A rational

degree.

Bezier curveis invariant

under

a perspective

transformation.

If

all other
its control points are subjectedtothistransformation,
then
points
are produced as usual from the transformedcontrol
The
resulting
points.
curve is the accurate perspectivetransformation
of the original. This is not
true for the perspectivetransformation
ofa nonrational
where
curve,
every
on
the
curve
order
to
must
be subjected
to the transformation
in
point
produce

an

accurate

perspective

image.

we
can
Using the rational Bezier formulation,
accurately
curves. The Hermite basis and nonrationalBezierforms

conic

represent
cannot

do

this.

112

\342\226\240
Bezier

Curves

conies are second-degree curves,only


associated weights are requiredto represent
Because

,
1

three
them.

control
Thus,

points
from

+ h2p2B22(u)
\317\207\320\2540\321\200\320\276\320\222\320\274(\320\270)
/11\321\200|\320\224,\320\264(\321\206)

'

and their

h0B,li2(u) + hlBi2(u) + h2B22(u)

l ' '

of circles, ellipses, hyperbolas, and parabolas.If


segments
then
of
values
h,
1,
segments
weight
parabolas are produced.Other
the
other
of
conies. Space does not permit
a full discussion
this
produce
in the section on
topic. However,theserepresentationsare also discussed
we

the

can

generate

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
with the
has
in common
endpoints
other
are
the
vertices
not
on
the
Second,
usually
curve).
polygon (the
slope
of the tangent vectors at the endpoints equals the slope of the first and last
of the polygon.Third,the curve
within
the convex hull
lies
segments
entirely
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
from
their
control
defining
away
are
smoother
than
the
data
on
which
are
points (they
they
based). Fifth,
to conventional
or splines, Bezier curves do not
compared
polynomials
us to input slopes, just daita points. Finally,
the
require
parametric
formulationallows
a curve
to represent multiple-valued shapes. In fact, as we have
= p\342\200\236),
if the first and last points coincide(that
then
the curve
is
seen,
is, if p0
closed. Bezier curves are specialcasesofthe more
curves
general
B-Spline
that we consider next.

CURVES

B-SPLINE

of

from a Hermite or Beziercurve


in that
it usually
one curve segment. Each segmentis definedand influenced

differs

curve

B-Spline

consists

more

than

control points, which are the coefficients


basis
of the B-Spline
The
curve
is independent
of
the
of
the
total
degree
polynomials.
number of control
do not
characteristics
allow changes in shape
that
points.These
a
few
Most
one
or
local
propagate beyond
only
segments.
curve-defining
do
not provide
for local control of shape. Consequently,
localchanges
techniques
a small change in the position
of a point on aspline curve or of a
(for
example,
vertex
of a characteristic
polygon of a Bezier curve)tend to bestrongly
the
entire
curve. This is sometimes describedas
propagated throughout
The B-Spline curve avoids this problem by using
local
a
aglobalpropagationof
change.
has
and depends on only a
special set of basis functions that
only local influence
few neighboring
control points. Connecting the controlpoints
p, (see
Equation
in
the
order
of their numberingwith straight
lines
the B-Spline
[5.1])
produces
control polygon.The B-Spline
is contained
within the convex hull
of its
curve
control
do
not
endIn
their
polygon.
general, B-Splines
necessarily
interpolate
nonuniform
We
the
basisfunctions
this.
allow
points. However,
B-Spline
and rational forms of the B-Spline
consider
here
both
nonrational
basis
functions.
only
function
by

5.1

a few

B-SPLINE

NONUNIFORM

We

by

begin

nonuniform

with

the

BASIS FUNCTIONS

most general nonrational B-Spline curves,thosedefined


functions. That is, the basis function definingone

basis

seg-

113

114

Curves

\342\226\240
B-Spline

may differ from those defining another.Thisallows


or more of the controlpoints,
on the modeling
depending
ment

by specifyinga nondecreasingsetof knot


A B-Spline curve is similarto a Bezier
of

effects

the

combines

one

to interpolate

situation. We do this
in the following).

(explained

a set of basis functions


nonrational
form is given by
points p,.The

control

\316\267
+ 1

values

us

p(u)

in that

curve

(5-1)

Xp,AU\302\253)

Equation (5.1) to Equation (4.2).For a Bezier curve, the


the degree of the basisfunction
number of control
determines
points
polynomial.
For a B-Spline
curve, a parameter /i controlsthe degree
(K1) of the basis
and
it is
of
of
the
number
control
usually
points,
polynomials,
independent
exceptas it is limited by Equation (5.6), following.
The nonuniform
are defined recursively by the
basis
functions
B-Spline
Compare

following expressions:

Nil(u)=\\

if

= 0

(,<\302\253<(, + ,

(5.2)

otherwise

and

= (u-t,)N,.t-,(u)
~~

i; + * -1
for

values

integer

controls

the

degree
the

of

continuity

where

points

interpolates the

=
\320\272:
\320\272
2,.

the

.
tt

tj

values
once

that

all

=
\320\272

1,.

of/: j
the

+l

i(

+ 2

n-K

function

N,,k

functions

for each

k.

The parameters
degreeof polynomial

from
the

are

related
n

the

set of knot
\320\270
to

values

the

p,

curve that

nonuniform
using K:

if
if

K<j<n
i> \316\267

(5.4)

they are

used to computeN,-pt for


0 to (n + K).The
from
- /i +
2).The indexion

knot values

/ on

determining

the

and a

j<K

for K,

calculated

ranges

B-Spline,
also

if

knot values ^themselvestakeon values


blending

in

= Q,...,n + K.
are

index

. , \316\232.
The

open
once

= 0

integer

an

calculated

are

of the
\320\272
and

order

values,

53

+ i

relate the parametricvariable

. , \320\277.
For

tj=j-K

Note

the
\320\232.

knot

called

are

t)

=
\316\257
0,.

tj

for

where
, \316\232

. .

vector. They

endpoints.

tl + k~ti

t,

1) of the resultingpolynomial

(K
curve. The

a knot

comprises
control

of

+ U-i(K)

ft- + t-w)JVl

t,

ranges

Oto

from

0 to n. There
number

(n

are

of control

always

\316\267
+ 1

blending

points, knots,

and the

by
K+l

= T

(5.5)

115
Nonuniform B-SplineBasis Functions\342\226\240

where

7\"

is

number

the

vector

knot

the

\316\244
is

of knots.

For nonuniform and open B-Spline


curves,

characterized

by

-..
\342\226\240
\316\262)
\316\244=[\316\261,\316\261, ,\316\261,\316\257*,..,\316\257\317\204\302\267-*-\316\271,\316\262,\316\262.
end

where

knots

\316\261
and

with

\316\262
repeat

K.

multiplicity

entire curveis parameterized


over
the
unit
interval,
then, for most
=
=
we
\316\261
0
and
1.
if
However,
situations,
\316\262
assign nondecreasing integer
= 0 and
=
values of the
to the knots, then \316\261
+ 2.
\316\262\316\267\320\232
parameter
the knots at equal intervalsof the parameter
a uniform
describes
Spacing
we assign
nonrational B-Spline curve; otherwise it is nonuniform.
Usually
to
the
at
this
is by no
values
variable
the
knots, although
integer
parametric
the
means a requirement.However,
it greatly
discussion of this
simplifies
to be
subject.So,we will define the range of the parametric variable\320\270
If the

0<\320\270<\320\273-\320\232+2

the

Because

0/0

in Equation

denominators

- 0.

(5.6)

(5.3) ean be zero,we

define

must

or multiply
coincident
control
values,
Multipleor repeated
For cubic curve, a double knot defines a join
points, induce discontinuities.
curvature
A triple knot produces a corner point in
discontinuity.
point
the curve.
=
=
to
The basis
and
\\,K
N^(u)
NlA(u),Nii2{u),
corresponding
=
as follows. For the
2, and K-3, given six controlpoints
5), we compute
knot-vector

with

\320\232

functions

(n

basis
functions
\316\235\316\257\316\233(\316\272)

vector

with

= 5
\302\253

and/C=

find that

l,we

0<\302\253<6

and

the

knot

is [0,1,2,3,4,5,6], or
= 0

u--4

\316\212 1

h=

= 2

h-=

fo

f2

(5.7)

i3-3

spacing. From Equation


=

\320\273\342\204\226)1

if

-0
= \316\271
\316\234.\316\271(<\302\2670

if

0<\302\253<1

< 2
1 < \320\270

otherwise
if

=0

otherwise

-0

^(10=1

(5,2),

2 <n

<3

otherwise

116

\342\226\240
\316\222\302\267
Spline

Curves

= 1

Nu(u)

if

=0
=

W4.i(\")

< 4
3 < \320\270

otherwise

if

= 0

< 5
4 < \320\270

otherwise

if
= 0

5 <

< 6
\320\270

otherwise

functions are plottedin Figure 5.1. They are obviously


form
and limited to a different successive
unit
interval
of the
parametric
variable.
these
basis functions to any set of six controlpoints
Applying
we see that p(u) is given by a different
for
using
Equation
(5.2),
equation
each unit interval, so that

These

six basis

identicalin

p(u)

=p0

for

0 <u

<1

.\316\275,
,\316\271.\316\271

\\

i\
\342\226\240

vs>>

Figure

S.I B-Spline

basis functions for

=
\316\267
5,

= 1.
/\320\241

B-Spline Basis

Nonuniform

= Pi

for

1 <u<2

for

2<u<3

for

3<u<4

\321\200(\320\270)
\317\201-,

for

4<u<5

\321\200(\320\274)=p5

for

5<\321\213<6

p('0

p(\") = p2
\321\200(\320\270)
p3

The

but

the initial

merely

set of control points.(We

represent six disjointcurve


concentrated

at

a control

not a curve in the ordinary sense of the

is clearly

curve

resulting

of

segments

zero

and

i4 =

= 0

Equation (5.3) indicates


we can compute N,2{u), we
the

l3 =

t7 =

knot

<\320\270

on the N,A(u), so before


another
set of NiA(u)
first compute
values in Equation (5.8). This computationproduces
the

=
=

N^u)

f
\316\271

NXi(u

depend

u =

otherwise

= 1

0<\321\213<1

=0

otherwise

\316\233\316\212.\316\271(\302\253

=1

=0

=
1
\316\2353\316\233(\317\205

1 <

< 2
\320\270

otherwise

2 <

< 3

= 0

otherwise

= 1

3<\321\213<4

=0

otherwise

=1

4 <w

\320\233\320\2234\320\273(\320\270

\316\2355\316\233(\317\205

=0

this set

that

(5.8)

must

\316\233\316\214,(\302\273

Substituting

= 5

f6

that

the

to

= 4

\\

find

i5

h =

\320\232~2,we

knot spacing.

a nonuniform

corresponding

word,

this to

interpret

point.)

4=0

is

\342\226\240
117

each segment

length,

theNi2(u) basis functions with n~Sand


the knot vector is [0,0,1,2,3,4,5,5),or
i0

This

also

could

Next,for
< 5

Functions

< 5

otherwise

as appropriateinto Equation(5.3)produces

118

Curves

\342\226\240
B-Spline

A\\,z(\302\253)

=
=

NX2{u)

^(\320\270)

+
(\320\270 2)\320\233\320\2233.!
(\321\213)

+ (5
(\302\253 3)\320\233\320\2234\320\233
(\320\270)

+ (3

(\320\270)

\320\233^\302\273

Nu(u)

- 1)N2!

(u

- u)Nv{u)

+ (2

uNu(u)

(4

\320\270)\320\233\320\223\320\267\320\224(\320\270)

\321\213)\320\233\320\2234.,(\320\274)

\302\253)\320\234,(\302\253)

(\320\270-4)\320\233\320\2235,1(\320\270)

of 1 or 0.
switches, taking on a value
define
the
over
which
the
basis
They
region
complete
or
the
function is nonzero,
interval ofsupport
for
a curve's
These
expression.
basis functions are plottedin Figure
5.2; they are identical in size and shape,
The

on
depending

act like

functions
N;j(u)
the value
of u.

< 5.
end
< 1 and 4 < \302\253
at
the
0 < \320\270
these
segments
spanning
Applying
of Equation
basis functions to any set ofsixcontrolpointsby means
(5.2), we
find that p(u) is given by a different
for each unit interval in u,
equation

except

through the actionof the


=

(1

p(\302\253)

so that

switches,

N,A{u)

+ \302\253Pi

for

0 <

+ (\321\213-l)p2

for

l<u<2

for

< 3
2 < \320\270

3)p4

for

< 4
3 < \302\253

4)p5

for

< 5
4 < \320\270

\302\253)po

\321\200(\302\253)
(2-\320\270)\321\200]

\321\200(\320\274)
(3

(4

p(\302\253)

= (5

p(u)

Finally, for
< 4
\320\270

and

the

\302\253)p2+

(u

2)p3

+ (u
\302\253)\321\200\320\267
u)p4

(u

curve is a sequence of straight

the resulting
the control points.
Here

<

Ni3

the knot

functions

basis
(\320\270)

/\302\253-\320\236

/5 =

= 0
f \316\271

fft

i4

is =

the

Again,
we must

curve

because of
first compute

segments.

/i =

3,we

connecting
find

that

= 4

4
\316\2577

(5.9)

nonuniform knot spacing,and

joints between

and

segments

f\320\267 1

is a

~ 5
\316\267

with

or
vector is [0,0,0,1,2,3,4,4,4),

\316\25720

This

line

< 1
\320\270

the

knot

values

correspond

to the

the recursive nature of the basisfunction


equations,
the NiA{u)
and
then
the N,i2{u), strictly in that order,

Nonuniform

Basis

B-Spline

Functions

*\302\253,\320\260<\">

Figure

S.2

B-Spline

for

basis functions

= S.
\316\267

K=2.

before

computing

the N0(u). For the Nltl(u)


= l
for
/Vai(w)
= 0

Nu(u)=l

= 0

obtain

= 0
\320\270

otherwise

for

= 0
=1
\320\233^\320\270)

we

= 0
\320\270

otherwise
for

0 <

< 1
\320\270

otherwise

\342\226\240
119

120

Curves

\342\226\240
B-Spline

for

Nu(u)=l

1<\321\213<2

= 0

otherwise

2<u<3

for

N^{u)~l

= \317\213

otherwise

3 <

for
\320\233\320\223\320\267\320\273(\320\270)=1

= 0

< 4
\320\270

otherwise

Substituting these equationsas required

into

produces

(5.3)

Equation

AW(\=0

Nu{u) = {l-u)Nv{u)

N32(u)

(\320\270

- 2)Nu(u)

= (u

M,(ti)

1 )N3A(u)

new knot values affect


into Equation (5.3)to obtain

+ (3
+

Notice how the

the

appropriate

the

(4

\302\253)*\302\267.\302\273

w)ATs,,(w)

we

Now

\316\235\316\2572{\316\271\316\271).

substitute

as

\320\233^\320\224\321\213):

\320\233\320\223\320\260\320\264(\320\270)
(1-\320\270)2\320\233\320\2232.|(\320\270)

NU\")

J\"(4

\320\227^\320\233\320\252\320\224\320\270)
\320\274^\320\224\321\213)

+|<2

\320\233\320\254\320\224\320\270)

^(~2u2

^^\320\224\")

\320\220^\320\224\302\273)
\\{\320\272

NA3{u)

3)\320\234\320\273(\321\213)

10\320\270

\321\213^\320\224\321\213)

11)\316\233^4,\316\271(\302\253)

|(4

|(-2\321\2132

+1(3

1)2\316\2353\316\233(\317\205)

-2fNiA(u)

]-{u

+6u~

U-\320\252\320\2701
+ 20\321\213-

u)2N5il(u)

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)

on
and
off the
NlA{u) functions act like switches,turning
are
in
control. These basis functions
Figure 5.3.
plotted
of these
Notice the symmetries and congruences of the shapes
functions; we
these
will
this
in more detail a little later. Applying
phenomenon
explore
to a set of six control pointsusing
we find that
basis
functions
(5-1),
Equation
Here,

again,

the

terms lhat they

p(\302\253)

action

is

given

of the

by a
NiA(u)

different
switches,

equation
so

that

for

each

unit

interval

in

\320\270
through

the

B-Spline Basis Functions

Nonuniform

pi(\")

- \2po")+ x\"(4 -

(1

\321\200\320\263(\320\274)

\320\240\321\215(\320\270)

\320\270)^

|(3

The

the curve
tangent

to

- uf&

pj

1 Ou

+ 20w

continuity;

- 11
)p3 +
-

|(\321\213

32)p4 + l(u

p4 at

first

and

these same

last

for

2)^4

for

2<u<3

for

3<u

curve

also

<u<2

< 4

segments

Figure 5.4.We

points,

points. We

0<\321\213<1

1 )2p,

- 3)^

is shown in

example

through only the


p5

+ -(\320\270
3)\321\200\320\263

composite sequenceof four


an

\320\241

passes
p0 and

^(-\320\227\321\213\320\263

curve is a

resulting
with

6w

^(-2\"2

\321\203(-2\321\2132

P4(\") = |(4

connected

\302\253)2
pi

^\"(2

for

+ ~u2p2

3w)p!

\342\226\240
121

notice

that

that

notice

p(, and ps, and

it

is

this curve

=
is langent to each successive
sideof the eharacterislie
(only for K
polygon
3 curves).This tangencyoccursat the joinls between curve segments (that is,
at integralvalues
of u). These
joints are indicated by tick marks.In the figure,
to p',, and the effect on the curve is plotted. This local
p] is moved
point

\320\233\320\270\"\"

Figure

S.3

Nonuniform

B-Spline basis

functions for

122

Curves

\342\226\240
B-Spline

Figure

affects only

change

set

preceding

S.4 Nonuniform

curves: n= S,

two segmentsof the

of equations,

because

/C =

B-Spline
3.

also evident in the


the first and second

it is

curve;

occurs
\317\201,

in only

equations.

we infer that only three controlpoints


equations,
a control point can influence
the
segment.
Conversely,
shape
of at most only three curve segments.Similar
to
K= 1 and
observations
apply
= 2 curves.
\320\232
Each
of a
In fact, we can generalizethis observation:
segment
From

influence

each

these

same

curve

B-Spline curve is influencedby only


control point influencesonly \320\232
curve

requires at least four


knot values.
What

we

must

happens

review

control

points,

each
and, conversely,
points,
A nonuniform
cubic B-Spline

\320\232
control

segments.
>
\316\267
3,

and

at least

eight nondecreasing

the number of control points?Toanswer


this,
no
to
w
e
see
evidence
whatso5.1
5.3.In
Figure5.1,
Figures
if we

increase

B-Spline Basis Functions\302\253123

Nonuniform

on the shape of the basis-functioncurves


that
number of controlpoints.
In both Figures 5.2 and 5.3,
we also correctly infer that, except for the basisfunctions
influenced
by the
near
them
or those very
(dependingon K), the interior basis
endpoints
to

ever

we

can

functions

that

are

indicate

an influence

attribute

lo the

For example,

of n.

independent

= 7
\316\267

if

~
\320\232

and

3, we

would

find

Ni3{u).

Ni3{u)
\320\233\320\223\342\200\236(\320\270)
\320\233\320\223\321\215\320\267(\320\270)

of \316\267
and
al the
Let us pursue this idea of basis-function
independence
a
more
convenient
m
atrix
notation.
We
same time Iry to develop
will do
reason
this for K= 3. First,we compute
Nl+ L3(\302\253).and iV( + 2 3(w).The
Na(u),
for selecting
these three will become clear asour investigation
progresses.
< i < n. This
We choose
an interval in i so that \320\232
anticipates the uniform
the calculation
of the t, knot values
so that
B-Splineand,for now, simplifies
the
recursive
of
1
formulas
Using
Equations
(5.2) and
tl~j~K+
=/-2.

(5.3), we then compute

Nju)

- 2 < u <
otherwise

for

('

for

\316\271

-o

w,tl,M=i

1<

=0

- 1

< i
\320\270

otherwise

for

JV,.,.i(\302\253)-l

('<\302\253<('+

^0

otherwise

for
\316\273\316\263(+3.\316\27100=-\316\271

= 0

1 <

u<

+ 2

< i
\320\270

+ 3

otherwise
\316\271
+ 2

for

W, + 4.i(\-l
= 0

<

otherwise

Next we compute
N,,i(u)

A^iX\302\273)

Nl + 22(\")

- i +

(\320\270

(\"

= (\" =

finally,

(i

+
1)\316\233\316\223,+!,,
(\320\270)

'\320\226.2.1

- ('-

\320\233\320\223(
+ 3\320\224\320\270)
(\320\270

And,

+
(\320\270)

2)NU

lW

(U)
+

+ (/

\320\270)*;+

(/ +

+2

+ (('
3.i (\320\270)

i.i(\

- u)Nl+ 2.i{tt)

+ 3,,(\320\230)
\320\230)\320\233\320\223;

+ 3

u)N, + ij{u)

we compute

+ 2)1N,.]{u)
+ {u-i
+ 2){i-u)Ni,u{u)
+ 1)\320\233\320\223,+,.,(\302\253)
+ (,\342\226\240
+ 1 - U)(U - ,\342\226\240
+ ((+!+ \316\271.,(\316\274)]
\316\274)\316\266\316\233\316\223,

Nii(u)-^[(u-i

124

Curves

B-Spline

^*|\302\273^[(\"-|
-

+ (\317\212
+ 2

NtM\302\273)

1)!^+\320\270(\320\270)

- i)Nl+ 2,(u)

u){u

+ 2.i00

*/
\320\2362

(\"-'\320\2471)(/\320\247\320\254#,\320\273(\320\274)

+ (r +2

+ 2

(\320\270 <){<

|[(\302\253

+ {i +
of the

curve, say,

switches.

terms from the set of equations


from Equation (5.1)
=

\321\200(\320\270)
-(('

1)\320\233^3,,(\320\270)

expression for
i <

interval

the

for

the functions

Only

- i

u){u

to find an

are ready

we

Now

3~

\320\270
<

1
\316\233^
+ 2>\316\271(\302\253)

+ 1-

+ 3
over

+ 4.,(\316\274)]
\316\274)2\316\233\316\223,

an

Ni

2i{u)

segment

arbitrary

1. We again
ihis interval.

in

that

above

u)N,M\

\321\200(\321\213)

i +

+ (/

+ \321\212\320\273{\302\253)}
\320\270)\320\251

use the

as

NlA(u)

those

Collecting

switches

on, we

obtain

ufp,
+ (i

^[(u-i+l)(i+l-u)

+ 2-u)(u-i)]pl

+ l

(5.\320\250)

+2
2-(\"-')\316\212\316\241'

are

There

0 <

that

< 1
\320\270

subscripting

(5.10),

we

so
advantages to reparameterizing the interval
the interval in some useful way; for example,
by
the
as p,(\302\253) for
r'th interval. To reparameterize Equation
\321\200(\321\213)

computational
and identifying

replace

\320\270

by

that

\320\270
+ l,so

(-2\321\2132

+ 2\321\213
+ 1)\321\200,\321\2021
+ \321\2132\321\200(
+ 2)

(5.11)

\321\200;(\302\253)=^[(1-\302\253)2\321\200,

< 1.
0 < \302\253

where
will

not

confuse

now

rewrite

Note that as long as we maintain the function notation,we


the function \321\200;(\321\213)
the control
with
point p,.

Matrix Form
We

denotes

now

(5.11) using

Equation

the curve

matrix notation, replacingi

segment number).So,

a B-Spline

for

with

by

\342\200\224

=
\320\232

1 (i
3, we

obtain
1
=

\320\270 1)
\320\240,{\320\270)
\\[\320\270\320\263

-2

The analogousform for

cubic

-2

\320\223

B-Splines.

pi-i
for

\316\241;

p,

\316\271.

K=

4, is

ie[l

:n-l]

(5.12)

125
Nonuniform B-SplineBasis Functions\342\226\240

p,H

\320\2702\320\270

JK

3-3

-1

pi-i

3-630

1]

P'

-3030
1

Pi

for

(5.13)

re[l:n-2]

+ 1

\316\271

oJLPi+2J

curve,
Simplifying these equationsfor a second-degree

=
\320\232

where

3, U

[\320\2702 \320\270 l),and

-2

1
M< =

-2

2 0

1 0

have

we

Pi
= \320\270\320\274.
P:
\320\240.\320\230

for open

ie[l:\302\253-l]

curves

(5.14)

curves

(5.15)

P/-M

For

the

where

cubiccurve,

K=-4,XJ

\320\2702\320\270
[\321\213\321\212
1],

-3
3
-3 0 3
1 4 1
-1 3
3 6

*-i

we

and

0
0
0

have

\316\241-\316\271

UM,
\321\200,(\320\270)

P<\"

for open

ie[\\:n-2]
p; + i
_p; + 2_

The number of segments


curves.

open
Ms

depend

Equations(5.14)

and

formulation

(5.14) and (5.15) for


curves later.The sizesof U and

in Equations

\320\263
is determined

We investigate
on the degree

closed B-Spline

of the curve.
are

for specific

= UM5Px

ie[l:n

(5.15)

\320\232
values.

However,

the general

is

p,(w)

+ 2-K)

(5.16)

where
U =[\302\253*\"*

uK~2

\320\270

(5.17)

1)

and
PK =

[p ]

je[i-l:i

K-2)

for open

curves

(5.18)

126

Curves

\342\226\240
B-Spline

We have

Bezier,

Hermite,

5.2

UNIFORM

the basis-functiontransformationmatricesfor the


and
Ms, respectively.
B-Spline curves. They are MF, M\342\200\236,

now defined
and

B-SPLINE BASIS FUNCTIONS

the

through

do

situations

geometric-modeling

Many

endpoints.

In those

cases, we

(5.13) to the set of


set of controlpoints in Figure 5.4 and
(5.12) or

Equation

require the curve to pass


a
apply formulationsuch as that in
not

control
points. For example, given
a uniform knot vector, we find
for

the

=
\316\267

[1:4]

5andX=3,('e

po
pi(\302\2530

UM5

Pi

UM5

p2

Pi
Pz(\302\253)

\320\240\320\267

(5.19)
\"p2
:=
UMS
\320\240\320\267(\302\253)

\320\240\320\267

pj

\320\240\320\267
Pj(\302\253)

: = UMs

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

5.5 result when we completethe remaining


= 3 curve
= 4 curve
the \320\232
nor the \320\232
computations.
passes
of
the
This
method
or
a
uniform
control
through any
points.
produces
periodic
curve.
It is periodic because the basis function repeats itself
B-Spline
over
successive
intervals
of Ihe parametric variable.On the olher
identically
the
curves
in Figure
5.4 are nonperiodic or nonuniform
hand,
B-Spline
and the basis functions differ
from
one
to the next. Again, in
curves,
segment
both
of course, the knot values correspondto the joints
between
the
cases,
curve segments. We make use of the nonuniform
that
characteristic
B-Spline
at selected locations,
allows us to have multiple knot values
knots
byinserting
a convenient way to reduce the continuity at a segment joint without
creating
line segments
straight
(as in the case of the Bezier or uniform B-Spline
The

B-Spline

curves

Notice

in Figure
that neither

FigureS.S Uniform
curves:

= S,
\316\267

= 3
\320\232

and

B-Spline
= S, \320\232
= 4.
\316\267

128

Curves

\342\226\240
B-Spline

See Farin

curves).
the

of

shape

(1993a)

to interpolate

curve

for

(5-19) and (5.20)show

Equations

curve segment, and iheyshowthe

Figure 5.6 presents

basis

the

control

which

for

B-Spline curves. These basisfunctions


intervals
in

S.3

on

Figures

the

parametric
5.2 and 5.3,

span

line, respectively.

we see that they

basis

the uniform
compare
we now
functions,

and

2,

\320\222-Spline

control

=
\320\232

3, and

three\302\267, and

point.
- 4

\320\232

are invariant

from

span

to span.

FUNCTIONS

B-Spline basis functions to the Hermiteand Bezier


look at the second-degreeand cubic basis functions

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

Figure

V
S.6

uniform

four-unit

ir-

o1

points.

a particular

influence

single control

~
\320\232

two-,

last

Comparing these functions to those

BASIS
QUADRATIC AND CUBICB-SPLINE

To

nonuniform

points

of a

influence

functions

insertion on

of knot

effects

of the

descriptions

curve. In fact, we can forcethe


a control point, includingthe first

a B-Spline

Uniform

B-Spline
and

basis functions:
Wi4(u).

Nu(u). Nii3(u).

in

more

detail.

N3= U3M3and N4

We define

basis-function matrices for \320\232= 3 and


= 3
matrix multiplications for \320\232
produces
N3

B-Spline BasisFunctions \302\253129

and Cubic

Quadratic

=[*!>)

where

= UjMj,

=
\320\232

N, and N4 are

the

Performing

the

4, respectively.

\320\233^(\320\270) \320\233^\320\230]

where

\320\234\320\224\320\270)=|(\320\2702-2\320\270+1)

+ 2^+1)

(5.21)

\320\233\320\223\320\260.\320\267(\321\213)

=-^(-2^

and for

=
\320\232

4,
\320\233\320\2234.4(\320\270)]
\316\2354=[\316\233\316\2634(\302\253)
\320\233\320\223\320\274(\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)

In

both

cases,

see

we

that

and for

=
\320\232

and(5.15)

\316\267

1]

1)

these basis functions.


for K~3 yields

1. Figure

+ Ww(w)pi
p,(w)= \316\233\316\212.3(\\317\201(-\316\271")

i e[l

3w +

3i/2 +

\320\245\320\220^\320\224\320\272)

(5.14)

Equations

Rewriting

\320\245(~3\"3

5.7 plots

+ N^{u)p,

for open

+ 1

(5.23)

curves

4 yields
=

p,-(\302\253)

Nl_A(u)pi.l

i e

+ N1A{u)p,+

[1 : r

- 2]

for

NJA(u)p,
open

+ l

curves

+ NiA(u)pl

+1

(5.24)

130

Curves

\342\226\240
B-Spline

l\302\267\342\200\224I\342\200\224

-\316\233
^^\342\200\224\342\200\224

-4

\320\272

;,'
'

^I..

'
\317\206
\316\263^

<.

,\342\200\224

Figure S.7 Uniform

functions on the unit


K=

3andK

4.4- ._***

>

B-Spljne basis
interval

for

= 4.

S.4 CLOSEDB-SPLINE

CURVES

The

uniform

curves.

B-Spline

of

For uniform

and

(5.14)

Equations

modifications

curves

the

number

segment

closed curves, we
P(i- l)mo(i(n +

are particularly well suited to produceclosed


(5.15) are easily adapted for this by simple

U3M\321\200,(\320\270)

(n

+ 1)

l)mod(.i

p/mod
.P(i

range and the subscriptson the


rewrite theseequationsas follows

control
for

points.
3:

=
\320\232

l)
i e
l)_

+ 1]
[1 : \316\267

for closed

curves

(5.25)

Closed B-SplineCurves \342\226\240


131

The

on the

subscripts

p/mod

= 4.
withn = S. \320\232

matrices are for convenience


of reference.
[\320\270
11)

P(i

l)mod(n

+ l)

.p{i

2)mod(n

+ l)_

where mod(n+ I) is the remaindering


= l,8mod3 = 2,4mod4= 0, and so
to

work

through.

Here,

for closed

i e[l:\302\253+l]

\320\2704\320\234^
\321\200,(\320\270)

example

For

=
\320\232

4,

+ l)

P{i-l)mod(.i
=

B-Spline curve

S.B Closed

Figure

operator

(that

on). The curve in

= 5
\316\267

and

=
\320\232

(5.26), we obtain

4; using

is, for

curves

(5-26)

example, 5mod4

Figure 5.8isa good


these

values in Equation

P(i\"-I)mwl6
Pjmud

P(i + l)mod6

.p(;
Expanding

this

equation

produces

2)mod6_

re[l:6]

(5.27)

132

\342\226\240
B-Spline

Curves

UjMj[P(J
\321\200,(\320\274)
=

UjMjfp,
\321\2002(\320\274)
=

ps(\302\253)

pft(w)

We evaluate

P2

P2

\320\240\320\267
\320\240\302\253\320\223

\320\240\320\267]'

UjMj[p2

\320\240\320\267
Pj

UJM4[p3

Pj

Pi

PoF

UiM^pj

Ps

Po

Pi]''

= UjMj[ps

po

Pi

ft]7

for

some

p3(\302\253)

pJ(\302\253)

Pi

=
=

each of thesecurve

segments

psf

of

sequence

\320\270
values

of the
of course, specific control-point coordinates to produce
and,
plol
5.9
is
resulting
B-Spline curve. Notice the subscript sequences.
another
of
curve
where
a
same
conditions
hold.
It
closed
is
example
clearly possible to generate a self-intersecting
In Figure
closed
5.10, moving p; to p'2 producesa moreelongated
of affects
four control points define this curve, the perturbation
Since
only
the entire
while
the
curve, although ihe most drasticchangeoccurs
p';,
the

Figure

the

curve.

curve.

p2

near

disturbed
original curve is only slightly
Defining
B-Spline curves with one
an effect similar to that
produces
points

the degree of ihe polynomials.


Each
the curve closerloitself.Theexample
two,

and

three

and p5; or p.,,p5,

control
and

points
p6, where

for

group
in

of
Figure

coincident

curves

have

coordinate

Closed,self-intersecting
curve

with

\320\273

5,

control

without increasing
control
multiple
points pulls
5.11 shows the effect of one,

Bezier

atp4. (that is, at locationp4,we


have
identical
p.,, p5, and \321\200\320\271

Figure S.9
B-5plfne

nearp0.

or more multiply

= 4.
\320\232

p4 alone,

pj
values).

Closed

Figure

S.10

Closed B-Spline

curve with

with

= 3.
\316\267

= \316\221.
\316\232

\321\200\321\201

\317\201,

Figure

B-Spline Curves

S.11
multiply

Closed

B-Spline curves

coincident

points.

= 4.
\320\232

control

\342\226\240
133

134

Curves

\342\226\240
B-Spline

This

makes

advantage

S.S

it possible to define B-Spline curves with


in many geometric-mode ling situations.

sharp

corners,

an

CONTINUITY

of a B-Splinecurve, we will
use the example in Figure 5.12.Because
the curve is a cubic B-Spline,
and
we can
second-order
expect
parametric continuity throughout the curve.
To examinethe first- and second-derivative
continuity of this
parametric
=
= 1 of
to
\320\272
0 of segment
curveat point \320\270
(7 +
segment i corresponding
point
NJ and N\"4U:
1), first we compute
To

demonstrate

the continuity

between segments
= 4,
\320\232

\316\235\316\252
[AT?\302\273

N$A(u)

NUu)

N'Uu)}

(5-29)

where
b

(5.30)
6

FigureS.12

Four

of

segments

curve,

/C

= 4.

a cubic

B-Spline

Continuity

\342\226\240
135

and
=

\342\204\2264\320\270
[\320\233\320\223\320\230(\320\270)
N%(u)

(5.31)

Nfi(u)]

N%(u)

where

Nft(u) = -u+l
V

= ~3u

Njft(u)

(5.32)

+ 1

Nft(u) = u
we

Now

can

write
+

PK\302\273)-Mu.4(\302\273)p(-i

^,J(w)p,

+ A'l4(w)p,,i+A\"1i,4(w)p;,2

(5.33)

and
=

\320\233\320\251
\317\201\316\223{\316\272)
\316\233^\316\227\317\201,-\316\271
(\\321\200.")+

we evaluate

Next,

+, + \320\233\320\223\320\231(\320\270)\321\200,+2
\320\233\320\223\302\243(\320\270)\321\200(
(5.34)

(5.24) for p,(l) and p, + 1(0)

Equation
p,(l)

-|(p,

to

obtain

+ 4p, + )+Pl+3)

(5.35)

and

pi

-^(p,

+ 4p, +, +

that p((l) = \317\201;,^0),


continuity
by evaluating

first-derivative
pf+)(0).This

i(0)

shows

(5.36)

Equation

p, +2)

as we

(5.36)

would expect.

We

examine

Equation (5.33) for p\"(l) and

yields

(5-37)

\316\241\317\212(1)
\320\240-\320\263)
\342\226\240\302\243<-*+

and

p?+,(0)
We

see

lhat p\"(0)

joint. Finally, we
Equation

(5.34)

for

-|-(-p,

+ pf+2)

(5.38)

= p','+)(l), demonstratingfirst-derivative

examine second-derivativecontinuity

py\"(l)

and

p\302\243,(0).

This

yields

continuity
by

evaluating

at

the

136

Curves

\342\226\240
B-Spline

pT(l)

= p(-2p,

+ i

pr?i(0)

= pi-2pi

, +

(5.39)

pit2

and

=
We see that p'\"'(l)
demonstrating
\317\201\316\220'\"\316\271(0),
the joint. Of course,we can easily extend

(5.40)

p,-i:

second-derivative

for higher-degree B-

this analysis

Spline

at

continuity

curves.

The

on

is a summary of the
Control

point

Control
Control

coincident control
at segment joints are worth

of multiply

effects

the continuity

point

points and multipleknot


some

values

Here

discussion.

further

conditions:

continuity

multiplicity =

C^andG2

multiplicity^

C1 and

G1, with knots restricted to

reduced

convex

point mulliplicily = 3

hull.

Gn. The curve interpolatesthe


and the segments
control
point,

C2 and
triple

at each side of

the

are

joint

straight

lines.

Control point multiplicity

= 4

G2 and
of

sides

C'.The curvesegmentson both


the joint are straight lines and

interpolate

control

the

both

on

points

sides.
Knot

multiplicity

= 1

C2andG2

C1 and G\\ with

Knot multiplicity^ 2

knots

reduced convex

Knot multiplicity=3

C\302\260
and

control point.
the

multiplicity

=4

The

the

interpolates

Curve segmentshapesat
and not constrained to

are free

joint

lines.

straight
Knot

hull.
curve

The
G\302\260.

to

restricted

is discontinuous,

curve

one controlpoint
next. The

and

ending on
at

resuming

the

shapes of the curve segments

adjacentto

the

discontinuity

are

unconstrained.

the various kinds of continuity


and surfaces, including parametric, geometric,Frenel
conditions
of curves
and
surface
frame,
tangent
continuity.
Pegna and Wolter (1992) present
resultsof work on the control of curvature continuity in the design of blend
Veltkamp

(1992)

surveys

and

discusses

and

surfaces,

parametric
subject

5.6

of

(1989) discuss
also reference

Barsky and DeRose


curves. These reports

Functions

Basis

Between

Conversion

the

literature

basis

functions

of

continuity
on the

geometric

other

\342\226\240
137

continuity.

CONVERSION

BETWEEN BASIS

FUNCTIONS

The conversionbetweenBezier
B-Spline
forms.
For
matrix
equating appropriate
and

uniform
we have UMaPs = UM^Pj, or MBPfl
cubic
B-Spline,
convert from B-Spline to Beziercontrolpoints,we have

ps =

by
proceeds
and the
so that to
MSPS,

curve

Bezier

cubic

the

m-jm5ps

(5.41)

which expands to
\317\213 \317\213

\317\213

-1

-6

-3

3 0

1 0

1
0
1
\302\261
=
P\302\273

\317\213

-3

or
\316\262-

\316\2314

\320\236

2 4 0

0 14
\320\242\320\276
convert

to B-Spline

Bezier

from

p^
which

expands

(5.42)

control points, we

\320\2741\320\274\320\264\321\200\321\217

to

\316\277

-\316\271

\316\271

-1

3-3

\317\204

\342\200\224

--

3-630

-3300
11

2 1

10

use

(5.43)

138

Curves

\342\226\240
B-Spline

or

6
s~

A nonuniform
\320\232
=4
Of

and

-7

\317\213

-1
2

\317\213

2 -7

\317\213

-1

\317\213

(5.44)

\317\213

of a cubicBeziercurve

B-Spline equivalent

is

course,

curves.For

the

= \316\234
\320\222
>' M5P5

which

by

produced

vector [0,0,0,0,1,1,1,1].
we can also convert between the Hermite and B-Splinebasis
and uniform
cubic
Hermite
cubic B-Spline curves,we have

the knot

expands

(5-45)

to

0 0
b,1

1 1

0
3 2

6 0

0
1

3-630

3-3

-1

-3030

14

Ps

10

or

10

14

14

-3030

It

1
(5.46)

p,

0-303

Similarly,

to go

the other way,

we have
P5 = M5MFB

which

expands

to

.! =

-!

\302\260101
2

2-211

-3

11

-1

-2

\320\222

10

or

(5.47)

10
0

Nonuniform

Rational B-SplineCurves

2
3

1
3
2
3

22
3

17
3

3
1

5.7

\320\222

(5.48)

CURVES

B-SPLINE

RATIONAL

NONUNIFORM

\342\226\240
139

the most versatiletoolsfor modeling


is the nonuniform
curves
rational
or
NURBS
is
as
it
called.
It
has
become
so widely
curve,
B-Spline,
popularly
used
it is almost an industry standard.Its basisis the ratio
that
of two nonrational B-Spline basis functions,making it a vector-valued
rational
piecewise
a
it
As
rational
the
same
as
exhibits
invariance
form,
polynomial.
properties
the rational Bezier basis,makinguse of homogeneous
and
coordinates
characteristics
of projective
This means that the NURBS curves are
geometry.
invariant
under
translation,
rotation,
scaling, shear, and parallel and
perspective
the
Like
rational
Bezier
curve, we can usea nonuniform
projection.
rational
to represent
curve
the
added
B-Spline
exactly the conic curves,with
of local control. Nonrational B-Splinecurves
and
rational
and
advantages
Bezier curves are Specialinstances
ofthe rational B-Splines.
nonrational
on a NURBS curve are given by
Points
One of

(\320\270)
\316\243\316\233,\317\201,\316\233',\316\272

(5.49)

\321\200(\320\270)

wm

\316\243
= 0
\316\271

where

to

the h, are

the weights.

Ifweights/z,=1 forall
the

and

each

nonrational

B-Spline

i,

then

the

form

basis

function

N,k. However,

has the form T= (0,0,


have multiplicity K, then the basisfunction

if the

knot vector

of Equation

(5.49) reduces

if the weightsh,

0,1,1
of

this

1 for

1),

where

curve

shape.

reduces to
equation
- \\ for the Bezier
\320\232

the nonrational Bernsteinpolynomialbasisof degree


curve #,>_,(\302\253). If a weight /z; = 0, then controlpointp, doesnot contribute
the

all

0 and

to

140

Curves

\342\226\240
B-Spline

ways to modify

are three

There

knot vector,

control

move

to

difficult

relatively

the

points,

and

how a

determine

the weights.

change

curve

curve; Change

of a NURBS

shape

will

to

respond

Because it

in the

changes

the

is

knot

vector, this is not the best way to change curve shape.On the other hand, the
effect of changing a controlpoint is predictable
and
intuitive.
If a weight h, is
increased or decreasedin value, then the curve is pulled toward or pushed
from,

away

the control

respectively,

point on the

curve along a

point. See Piegland


and

modification,

line

straight

will

changes

move

any

control

its corresponding

through

on curve and surface


for
a discussion of shape
Piegl (1989c)
and
Mekhilef
(1993) for a study of the

Tiller

rational

constructionsusing

point p,. Weight


for

(1987)

B-Splines,

Laurent-Gengoux

more

optimizationofa NURBSrepresentation.

Choi,

Yoo,

matrixof
of NURBS
a

the

5.8

Lee

and

as

surface

for obtaining the coefficient


the matrix representation
and
degree
a tensor product of NURBScurves.
and
Joe,
Wang,

(1990)
present
of arbitrary

eurve

NURBS

Bezier

NURBS

ofrational
reduced knot NURBSrepresentations
curves
with G1 continuity Piegl (1991) and Farin (1992)survey
that led to the wide acceptanceof this form.
characteristics
WITH NURBS

CONIC5

REPRESENTING

The NURBS

is

curve

the first

often

(1992).

represent
A conic is

choice of designers becausethey


Sun,

or

second-degree,

quadratic,

curve, so

can
and

use

Wang

we begin with

the

curve:

NURBS

second-degree

CURVES

exactly. For example,seeQin,

a conic curve

it to

a method

(1994) discuss

Cheng
composite

X *,P,AU\
(5.50)

V(\=4\342\200\224")
\316\243*\316\233*(\

where
rational

K =
Bezier

3 and the
curve.

p(o)-

We

assert

without

knot vectoris (0,0,0,1,1,1).This


actually
becomes
the
expanded,
equation

produces

When

^(1

'

+ 2\321\213(1-\320\270;\302\2731\321\200|-\320\263\302\273
\316\234\316\271\316\241\316\277
\320\246);
\"\"\320\223\320\276-\320\263^\320\2771
u2h2p2
,\316\267\316\275\316\271

u^iipi

uf h0 + 2u(l - u)hi + u2h2


(1
that this is indeed the equation
-

proof

of

a conic

curve.

Moreover, the ratio

s-mT

(5'52)

Conies

Representing

is a

constant,

ratios

depending

determine

a Speeific

for

ealled

\317\201 sometimes

is

arc

the

an

for a

= l

for

p>1
Fora circular

the conic

(5.53)

hyperbola

shape factor.
must prevail:
an isosceles

triangle, where

Z.p0=

^pz
h0

= h2

= l

'p^p\302\260'

xh^

2lp,

pol

a sel of four 90\302\260curve


to define a full
circle,
segments
vertex
of
and
has
45\302\260.
Also,
triangle
angles 45\302\260,90\302\260,
NURBS exists (see Figure5.13),where
point square-based
We

each

Of

following

parabola

conditions

following

\342\226\240
141

ellipse

1. The controlpoints\321\200\320\276,\321\200\321\214\321\2002
must
define

2.

NURBS Curves

The
on the specie of conicrepresented.
of
conic:
type

p<l

where

with

can join
isosceles

course,

one

transformation

obtain any ellipse is by applying


to the circle's eontrol points.

way to

Figure

S.I3

square-based

A seven-point

NURBS circle.

an

appropriate

where
a seven-

affine

142
5-9

Curves

\342\226\240
B-Spline

BETA SPLINES

CUBIC
An

over

which

p2,

These

shape.

on

variation

interesting

defined

knot

uniform

provide
two

the B-Spline basis function


it adds two more
sequence,

is the Beta-Spline,

parameters,$}

and

of eurve
for global control over certain characteristics
the
extra degrees o-f freedom are createdwhen
we
relax

of parametric continui ly while preserving


the
formulation of Equation (5.15),we
Following
spline
requirement

have

geometric
for the

continuity.
cubic beta-

P.-1
=

p,0)

UME

P<

Pi + l

ie[l

(5.54)

:n-2]

Lpi+J

where

-2$
6\316\262?

= \302\267
M\342\200\236

+ 2\316\262?
+ 2$)
-3(\316\2622

-6\316\262\316\257

and
affect

2\316\262?

=
+ 2\316\262\316\257
+ 4\316\262?
+
\316\264
\316\2622

and
\316\262,
the

are
\316\2622

flatness

the

+
3(\316\2622 2\316\262?)

1)
2(\316\2622+\316\262?+\316\262\316\220+\316\2621)
-2(\316\262\317\212+\316\262\317\212+\316\262\316\271

6(\316\262?-\316\262\317\201)

+ 4(\316\262?+\316\262,)
\316\2622

4fr

(5.55)

+ 2.

Both
tension parameters, respectively.
curve. Manipulation of \316\262,
affects
the tangent
vector

so-called
of the

6\316\262\316\271

bias and

and increasing
\316\2622
parameter-increasing side of each control
point,
to
the
of
the
As
we
curve
closer
sides
control
increase
$}
pulls
polygon.
the curve asymmetrically shifts
to one
we
side of the control polygon. When
the
and more elosely approachesand
curve
flattens
increase
\316\2622
uniformly
A
the
control
thorough diseussion of this interesting
approximates
polygon.
curve
found
in
is
(and surfaee)
Barsky (1988).

on the

the

SURFACES
surface is a continuous sel of points approximating
of each of the points.Mathematically
more
plane
of points.
Yet
we also
succinct,
may think of a surface as a two-parameter
family
of a surface as
is that
another conception, analogous to our notion ofa curve,
In addition, we can
the locus of a point moving with two degrees
of freedom.
notion
of a
the neighborhood

intuitive

Our

in

describe

surfaces

of a

with

special

properties;

for example,

as the locusof points

become useful to geometric


The
intrinsic equations and
express
analytically.
of a surface
of
characteristics
differential
subject
geometryand are far more
subtle and complex than
those
a
the
of
curve. Where
theory of curvescenters
oncurvature
and
as functions
of arc length,nothing quite so
torsion
Al
of
straightforward
to
surfaces.
applies
though we will diseuss many
properties
the
that
surfaces
that
arise
from their differential
in
follow,
geometry
chapters
In
we will not pursue the fundamental forms or more
derivations.
rigorous
and
this chapter we review the explicitand implicit
of surfaces
equations
introduce the bivariate parametric equations.Thesetopicsarc the basis for
and
the Hermite,
later discussions of quadric surfacesexpressedimplicitly,
and
The
Bezier, and B-Spline surfaces expressed parametrically.
implieit
surfaces are the most commonlyusedsurfaces
in geometric
parametric
and
of
the
tensor
most
our
studies
about
here
are
modeling,
product
particularly
line

moving

We construct,
other

it,

curve.

These

notions

them
arc a

surfaces.

parametric

display

or

we

modelingwhen

to

reveal

geometric

evaluate, and analyze points and curves on


special properties, or to demonstrate its
objects, which may then become the basis

a surface

to

relationship

for

to

subsequent

143

144

\342\226\240
Surfaces

modeling
on

points

6.1

AND IMPLICIT

EXPLICIT
An

or definitions. So this chapter


curve nets, and embeddedeurves

processes
a surface,

equation

also discusses

evaluating

on

surfaces.

EQUATIONS OF SURFACES

form

of the

(6.1)

Aw)-o

is the implicit equationofa surface,where

f(x,y,z)

is a

polynomial

in*, y,and

that

such
\316\266

i.j.k

From
equation

simply

know that the degree of any term in this


exponents appearingin it. In other words, the
\320\263
+
is
j + k. The degree of the polynomial expression
is linear
of its individual terms. If this equation
degree

algebra, we
sum of the

elementary
is

the

degree of term a,jkx'y'zk

itselfis

the

maximum

If it is a secondvariables, then the surfaceis an unbounded


plane.
then
the
a
is a
surface
of
which
the
is
quadric,
degree equation,
sphere
if one of the variables is absent from the equation,the
special case.
Finally,
must
be a cylinder whose generators are parallelto the
axis
of the
surface

in all

absent

variable.

When we solvethe
of

the

other

equation

implieit

two, say,

for

as
\320\263

a function

for one

of

\317\207
and

of the

variables as a function

y, we

obtain

(6-2)

z=/(xoO

This representsthe

same

explicit

the

equation

of

surface

as Equation

(6.1). However,

this form is the

surface.

also possible to express every


rational
and
nonrational
parametric
a
from
surface with an implicit equation.The processofconverting
t
o
form
is
called
parametric
implicit
implicitization. Although the implicitand
are useful, in representing
forms
surfaces they suffer from an
explicit
their
to
an
inherent weakness:
easily transformedand bounded
inability
represent
we can
surface.However,
either
direetly adapt or closely approximatemost,
of
these
and
On the
if not
all,
equations.
implicit
by parametric
explieit forms
other hand, they do have interesting
associated with intersection
strengths
It is

and
compulations, point classification,
Here is a relatively simplesurface-fitting
equation (see Figure6.1)

the

inverse
procedure,

point

computation.
on an explicit

based

Surfaces

Quadric

where we determinethe
must

specify

\316\267
are

large,

surfaces

with

16

An explicit

6.1

Figure

surface.

a specified

from

a,7coefficients

points for a bicubic polynomial

then

it becomes

\342\226\240
145

(that

sel of dala points.We


=
is, m = \316\267
3). If m and

possible to inadvertently generate

increasingly

oscillations.

undesirable

and
surface, as well as the nonralionalHermite.Bezier,
B-Spline,
a
as tensor product(a
similar surfaces,
are mathematically
expressed
of the
scalar
A
tensor is a multiply
for
generalization
vectors).
product
subscripted
that
in
a
a
of practical reasons, the
transforms
For
certain
array
way.
variety

This

indexing schemeused here and

follow

the

strictly

more

in

rigorous

of the

most

modeling

literature does not

of mathematical physics.

conventions

SURFACES

QUADRIC

A quadric

surface is one

whoseimplicit

0 where f(x,y,z) is a quadraticpolynomial.


surface is given by |he equation
Ax1 +

For

example,

By1 +

Cz1+

2Dxy

if \320\233
=\320\224=\320\241=-\320\245=1

equation producesa

unit

sphere

The

+ 2Fxz

+ 2Eyz

at

is given

representation

algebraic

+ 2Gx +

and

D =

the

origin.

\302\243=F=

form

+ 2Jz

2Hy

G-

by f(x,y,z)

of a quadric

+ K

\320\257- J

=0

= 0,

(6.4)

then the

146

\342\226\240
Surfaces

form, we

matrix

In

may write Equation (6.4)as

PQPr=0
where

\321\203\316\266I]

P-[x

(6.5)

and
D

\316\214 \316\222 \316\225 \316\227

Q-

convert

of

problems

computation,

may

slowly

may

eause

represent

and

sealar

some

represent
on

point

arbitrary

\320\232

to repeated

subjected

the defining

kind

of type

right

circular

its axis,

gives the

scalar
A

degrade
a radical

can

We

transformations. This
small changes in the coefficients
change in computed surface lype.
surface by a data set consistingof vectors,
every quadric

characteristics

surface

intrinsic

scalars,

\316\227

of Q have no direel geometricor physical


meaning.
We
form of representation js often more practical.
form only when computationallyneeessary.
may arise when using either form.The source
problems
the
js
very naiure of floating-point data representation
aecuracy and lack of robustnessof
including
imperfect

computational

these

and

C>

(6.6)

a geometric
to the algebraic

Therefore,

However,

\316\225 \320\241

coefficients

ten

The

da|a.These

identifier. For example,two

cylinder,

another vecior

where

one vector

vectors

and

defines an

defines the direciionof the

axis,

and

radius (seeFigure6.2).

rigid-body

motion

a 4 \317\207
4 Iransformation

is produced
matrix

simply by pre-andpostmuiiipiying

Q by

T:
Q[T

Q'=T

'-\320\246\320\242

(6.7)

Certain properiies of Ihe matrixof quadrie


coefficients
Q are
equation
the
determinants
invariant under rigid-body transformations,including
IQI
and IQJ. This allows computation of surface
and
axes
cenjer,
vertex,
type,
are critically
surface
(see Table 6.1).The jeststo determine
dependent
type
on computing whether certaininvariants
or zero.
are
negative,
positive,
or unrealizable
with
Again, this is often computationallyimpractical
floating-point

Using

quadrie

arithmetic.

the

following
surface:

and tests, we easily determine the

definitions

A
=

Q\302\253

\316\214 \316\222 \316\225

\316\225 \320\241

type

of

Quadric

Figure

6.2

A right

Surfaces

\342\226\240
147

circular

cylinder.
rx

- rank

r2 s =

rank

Q,(

of Q\342\200\236,
the
where
signalure
as Ihe difference
beiween

z1 =
bl

&2

s of

a quadratic form is

the number of posiliveand

defined

negative

rools.

characteristic

+
\317\204^\316\221

signalure

B+C

AB + AC+BC~D2-E2-F2
z2 +

= ABC

z1K-G2-H2-J2
+ ACK

+ ABK+BCK+

- D\\C+ K) -J\\A

E2(A

2(DEF+ FCJ +
F2(B

K)-

+ K)-

DGH

G\\B + C) -

+ EHJ)
+

H\\A

C)

+ 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
surface
is produced by
of revolution
quadric
aboul its axis. This surfaceis in its canonical
position

Totaling
if

and

a conic
only

if its

curve

center

Table 6.1 Classificationof quadnc surfaces


\320\2231

\316\223\316\271

Invalid

Coincident planes
Single plane

>0
\316\264,

Invalid

u<0

Two

parallel

\317\213

\317\204:<0

Two

intersecting

2
3
3
3
3
3
3

\317\204,>0

Line

Other

Condi lions

Surface

Parabolic

planes
planes

\317\2043<:0

Hyperbolic cylinder

> 0; \320\263\320\224
< 0
\317\2042

Elliptic

2
3
3

\317\204,>0;\317\204,62>0

Invalid

\316\261

Cone

\316\262

Point

IQ\342\200\236I \320\2561

Other

Conditions

\302\261

0
2
1

\316\262

Invalid

\302\261

\316\262

Ellipsoid

cylinder

paraboloid

Hyperbolic

t;>U

Elliptic

\316\261

Hyperboloid

\316\261

Hyperboloid of two

paraboloid

is at the origin and its axes of symmetry


coincide
In this position
there are no crosstermsin the
\302\243=F-0,sothat
+ By1

Type

\316\244;<0

axes.

Ax2

cylinder

Surface

or vertex
coordinate

Type

+ 2C>x

+ 2Hy

+ 2Jz +

of one

with

sheet
sheets

the
D

equation.Thus,

K=0

(6.8)

is only one term in each variableif the


where AG- BH=CJthere
f), since
eenter
or vertex is at the origin.An additionalconditionisnecessary.
The
axis
of rotation
means
that the intersection of the x,
must be along the \316\266
axis.
This
\321\203
plane

(z

0) and

a quadric surface of

circle whosecenteris at

the

Ax2 +

Foracircle,./!
general

of

quadratic

a quadric

origin;

equation

surfaee

and

dividing

of revolution:

position

is a

thus.

Bf + 2Gx+

= Bx0andG-//=0.

in canonical

revolution

2Hy

Applying

+ K=0
these

(6.9)
conditions

to the

by A, we obtainthe canonical
equation

Parametric Equations of Surfaces \342\226\240


149

LM

where

6.3

= 0.

+ N=Q

familiesin this

are eight

There

+ Mz

+Lz2

x1 + y2

(6.10)
class

general

Table 6.2).

(see

PARAMETRICEQUATIONSOF SURFACES
The

is a

It is a

patch.

into manageable

In

units.

spline curve. A
coordinates

are

given

mathematical element we use to modela


down a complex surface
|o break
the
a segment
of a
way
patch is analogous \316\257\316\277

most common

and

simplest

surface

convenient way
this

palch is a curve-boundedeolleetionof pointswhose


by continuous,
two-parameter
(bivariate), single-valued

polynomialsof the form

x
where
e [0,1].
the

formulations

variables

parametric

course,

This,

of

that

produce

terms

other

(6-11)
to the intervals u,w
consirained
There
are other
patch.

w are

or other

one of the

the

z =

y(u,w)

a rec|angu|ar

generates

of

\320\270
and

triangular

Fixing the value of

the patch in

x(u,w)

\316\267
on

z(u,w)

patches.
in a
results

rectangular
variables

parametric

variable, which

remains free. By

curve on

continuing

one variable and then the other for any number


of
in the allowed
values
interval, wc form a paramelric net of two onearbitrary
of curves on |he palch so that
one
families
curve
of each
just
parameter
each
on any
the
sense
Again,
family passes through
pointp(u,w).
positive
|his

process

first for

curve is the sensein

which

the

parameter

increases.

Associated with every patch is a set of boundary


6.3).The most obvious of theseare the four comer

definingits edges.Othersof
vectors,

and

later. For

twist

vectors

importance

the

arc

conditions

points
tangent

are

always

we

CanonicalEquation

Sphere

- N
x2 + v1 + \320\223

Cylinder

x \342\226\240
+ f - ,V

Cone

x2 +

Paraboloid

x2 +

Prolaieellipsoid

xl +

Oblaie

j-!+

ellipsoid

Hyperboloid of one she ei


Hyperboloidof iwo sheels

=0

= 0

f-Lz1 = to
y2 + Mz = f)
f + Li2-N = Q,L<\\

/ + /,;2-(V-0,7,>
-N = 0
x1+y--Lz1

x2+y2-Lz7 + N = 0

will

discuss

and only

four

Table 6.2 Quadric surfacesof revolution


Surface

Figure

four curves

vectors, norma!

(for the cubic Hermite patch), which

an ordinary rectangularpatch,there

(see

and the

four

150

\342\226\240
Surfaces

\\
Figure

eorner points and

of |he

two

limits

|he

surface patch.

A parametric
This

eurves.

edge

of

6.3

follows

two parametrie

from the

variables.

We

possible combinations
find

the

corner

poinls

to obtain
1 into
p(u,w)
by subs|i|uting these four combinationsof 0 and
the
the
or
On
other
and
hand,
edge
boundary
p(l,l)p(0,0),p(0,l),p(l,0),
We obtain Ihese
variables.
eurves are functions of one of the two parametrie
to
free
while
fixing the other to its
by allowing one of the variables remain
in four and only four possible
results
This
limiiingvalues.
procedure
curves
of
the
four parametric boundary
combinations
the
functions
yielding
and

p(u,0),P(u,l),p(0,w),

p(i,H>).

surface
some examplesof generalparametric
patches
a
The
oneis
The
following
plane.
simplest
defining equations.
equations represent a rectangular segmentof the x,y plane.
+b
z^O
y = (d-b)w
x={c-a)u+a

Here are

e [0,1].

where

u,w

parametric

coordinates

of

constant

w are

functions of u. An

Figure
and

their

parametric

(6.12)

both
the
6.4 illustrates this patch, showing
coordinates of each comer point.Thecurves

the x,y

The
are
axis.
curves
running parallelto the \320\264\"
which
of
exists for the lines
situation
constantu,

straight lines
analogous

and

Parametric

Surfaces

of

Equations

\342\226\240
151

\321\203

Ml

Ml
u,,

\320\256.1)

(1,11

a-0

\316\2671
10

= IW-

vi =

la.W

(e,6)

(1,0|

(0,01

Figure 6.4

Parametric and x, \321\203


coordinates

of

plane.
= a,
are straight lines parallelto the \321\203
axis.
The boundaries
of Ihis plane are \317\207
=
=
d.
b,and \321\203
c,y
The next simplest surface is the sphere(seeFigure
the locus of poinls
6.5),
at a eonstant
distance
from a given point. The parametrie equations \316\277\316\271
a
of
radius
centered
at
are
r,
sphere
point (\317\2070>)>\316\277.\316\226\316\277\316\247

x =

Parallel ol latitude
= curve o( consiani

\320\270

-Meridian

Figure

6.S

parametric

curve ofconsiani

sphere.

152

\342\226\240
Surfaces

=
\316\233\"
+ f COS
\320\224\"\320\276

U COS

+ r sin

Z-Za
where
radians.

\321\213
is

meridians

An

ellipsoid

of longitude,

at

centered
.v

+ a

-xtl

\321\203y0 + b

- Zo +
\316\266
Equations

(6.14)

Figure6.7
the surface is

x(u),z(u)

that is

\320\270
cos

cos

\320\270
sin

space
two

both angles in
of latitude, so lhal a circle
is
w varies. Curves of constant

semicircles as \320\270
varies.
the

equations:

parametric

following

w 6

[0,2\317\200]

(6.14)

Figure 6.6.

ofrevolu Hon. For clarity, only pari


surface
(hat
it is the curve defined by the
function
The

equations

of

are

cos w

-x(u)
\321\203

parameter

as

plane

axis.
revolved around |he \316\266

must account for

(6.13)

with

2'2

Notice

z=

[0,2\317\200]

\320\270

\317\207

The

parallels

has

a parametric

.shown.

longitude,

generating

are illuslraledin

shows

x,y

to

(\317\207\316\277\316\233'\316\277,\316\226\316\267)

cos

\321\201
sin

\320\270
are

plane parallel lo the

in a

are

and

of constant

curves

w
2'2~

\320\270

lo latitude

analogous

Obviously,

generated

sin

+ \320\263
cosu
\320\243\320\243\320\276

x(u)

(6.15)

ue[0.1J, we[0,2Tc]

sin w

z(u)
of a patch

differs from
variables.

parametric

three-dimensionalparamelerspaces

defined

that

Thus,
by

of

because

a eurve,

we have a
(u,w,y),

(u,wr*c),

com sinui

\320\260
\320\24105\320\246
COSIil

Figure

6.6

A parametric

ellipsoid.

we

set of hybrid
and (u,w,z)

Parametric Equations of Surfaces \342\226\240


153

6.7

Figure

eoordinales.As

A parametric

eubicHermite

with

surface of

revolution.
curves,

decomposing

iIs parameter-spaee components oflen helps to


model

y,z plane; p|0


at the

in|o

behavior

in

spaee.

The surfaee

graphs

a bieubiepateh

elaboraleits

on

in
and

the left

6.8

Figure
pn

He

show

has

the following

properties:

poo

and

p01 lie

in |he

in |he x,y plane; eaeh boundary curveis planar.


the paleh's componenls parameier
Shown
space.
The

in

syslem is a componenl
given by
lop
patch
=
the equation \317\207
the
and
similar
u,w,z patches are given
u,w,y
x(u,w);
by
|o the
Again, nolice jhat the parametric variablesareconstrained
equalions.
unit square u,w e[0,l]. Holdingone of the parametric
variables
constanl
the curve
defines a specific paramelric curve on Ihe patch.Thefigure
shows
on
curve
has
\320\270
this
the
and
in
same value,
p(ii\342\200\236iv).Every
poinl
parameter
These
space we see Ihis curve decomposedin|oits componenls.
parametric
=
are revealed
curves
the component
u,- Ihrough
by passing the plane \320\270
patches.
left

in

the

u,wrx

coordinate

154

>

Surfaces

Figure

with

As
careful

Ihree

6.B The

we can

curves,

parameter

observe

the parameter-space
cases. We call Figures
of

inspeclion

special
a point
6.9a,

space of a surface.

many characlerislics of a patch by a


componenl patches. Figure 6.9 shows

6.9a and 6.9bdegenerate


patches.

In

result in model space;in Figure


a straight
6.9b,
line;
and in Figure 6.9c,a plane.
6.10 shows all three results in modelspace.
Figure
to
their
boundedness
and ease of transformation,
In addition
inherent
another advantage
of the
of a surface is the
representation
parametric
the
of
a
we
have
of
domain
control
surface-modeling operationsimply
complete
an appropriate parameterization scheme. By carefully
by the
choosing
Figure

specifying

of a

subsets

define certain
composed

of

parameterization

to

is the

particular

sections of a

several
choose

patches.
[0.1]

domain
surface.

We will
x [0,1]

\317\207

[H'min,wmflX],

[umo,umux]

This
frequently

is useful
use

this

we

can

a surface
freedom of

whenever

readily

is

as the domain of a surface-interpolating

Parametric

of

Equations

6.9

Figure

The parametric
Nine

faces

plane

Two

region

observations

surface

are

are shown

of a larger

can be

necessary.

interchangeably.

surface, in

\342\226\240
155

component surfacesof three specialsurfaces.

operation. Any other domain


square in parameter space.
and

Surfaces

Although,

in

three

groups
as

normalized

First, we will
strictly

of three.

to this

necessary

unit

often use the termspatch

speaking, a

the contextof composite


surfaces

patch is a
or

limited

patches

the

us distinguish
these limited
patch has more significanceand
helps
have
classes
of parametric
surfaces
been developed.
regions. Second, many

term

156

\342\226\240
Surfaces

\316\234

Figure

Three

6.10

special

surfaces.

Most are interconvertable,their differences


being
class defines and modifiesits underlying
piecewise

6.4

HERMITE, BEZIER,ANO

B-SPLINE

next three chapterswe


parametric surfaces,including
Spline representations.As with
In the

specialcasesof

the

rational

AN

the

Hermite.

consider

curves,

The

Bezier

in

parametric

SURFACES:

rational

forms.

primarily

and

of course,

hierarchical

the way
surface.

each

OVERVIEW
Bezier, and B-Spline
nonuniform
rational B-

the nonrational
relationship

forms are

between the

Hermite, Bezier,and

An Overview

Surfaces:

B-Spline

\320\266
157

the
rational
surface
B-Spline
applies
equally to these surfaces, with
We
the
will
consider
the
or
most
tensor
being
general.
only
product,
of these
surfaces. There are, however, well-knowntriangular
forms
rectangular,
of each of them. See for example,
or othermultjsided
varieties
Farin
(1993a),
Kato
and
GreinerandSeidel
Warren
(1991),
(1994),
(1992).
The
bicubic
Hermite
patch is defined by its four corner
points, tangent
at the
vectors of the four boundary curves,and the so-calledtwist vectors
corner points.
of these patches may be assembledto represent
Composite
arrays
scheme exhibits advantages
surfaces.
This
surface
complex
representation

curves

and disadvantagessimilarto those


The Bezier patch is definedby

dimensionsdetermine

the

for

the

curves.
array of control

Hermite

a rectangular

of

degrees

points, whose
the
comprising

the curves

curves interpolate the corner points


of the
array
defined
the
the
of
the
control
to
two
plane
by
edges
tangent
each
hull property, and like Bezicr
polyhedron at
corner
point. It has the convex
curvesit is the easiest surface to subdivide. Local controlis not a
of moving any control point is propagated
the
effect
characteristic,because
globally
Its boundary

net.

curve
isoparametric

and are

the

throughout

The

points.This

and

beyond

independently

of curve
of the

array

rectangular

of control

shape.The degrees of its basis


control points. Although our

three chapters on surfaces is on the effectof control


on surface shape, there are other importantapproaches
and
of this text. For example,see
Grecnberg

Georgiades

scope

Fowler (1992). who discuss geometricmanipulationof the


and
and other tensor product surfaces.Also see Fowler

and

(1992)

these

(1993)

control

following
weights

the

local

permits

defined

the

in

points

of

surface is also definedby

fofm

are

functions
focus

patch.

B-Spline

shape

Bartels

work on curves.

for similar

and
of these
forms, including
disadvantages
Comparative
For
see
and
well-known.
Farin
others,
(1989b, 1993a).
implicit
example,
and
Shook
Piegl (1989b), Letcher
(1995a, 1995b). Letcher and Shook
of the NURBS
summarize deficiencies
surface form as applied to
advantages
are

and

the

volume

for

gridding

are also

relevant

concern

are

the

1. Division by

2.

Nonuniform

computational
to the
entire

fluid dynamic analysis, but their comments


of
group of parametric forms. Six categories

following:

zero (for the rationalforms)


of

parameterization

arcs

(particularly

important

in CAD/

CAM)
cannot
3. Surfaces
surfaces
helicoidal
which

are

manufacturing

surfaces

having

be accurately
mentioned

no exact

represented
as common

NURBS

efficiently (for
and

engineering

representation)

example,

158

\342\226\240
Surfaces

4.

nonuniform

surface meshes

isoparametric

Irregular

(for

weights

the rational

resulting from the use of

forms)

5. Ill-conditioned basisfor surface


fitting
under
6. Lack of closure
commongeometricoperalions(for
composition,

and

projection,

example,

intersection)

and
deficiencies have been pointed out by Requicha
offset
Fixed
NURBS
cannot
describe
surfaces
Rossignac
(1992):
degree
and NURBS
forms
for quadrics or othercanonical
representation
exactly,
of these surfaces. For example,
hide
the nature
it may be useful to know that
the surface of a hole is a circular cylinder; the test to determineif a NURBS
Of
surface
is indeed a cylinder is a numerically
unstable
computation.
but
course, sophisticated modeling systems work around these problems,
is a stimulus to search for alternative
their
existence
forms.

Other

6.5

POINTS

descriptive

ON A SURFACE
discussed

We

different

on

to direct-

approaches
2.6. Point

and inverse-point evaluation

curves
in Section
of
evaluation on a surface
is an extension
those techniques,plus some additionalstep?.Toevaluate
a
more
or
directly
to a similarly
less regular distribution of points on a surface
corresponding
of
we
a sequence of curves
first isolate
regular distribution parametervalues,
on the
of constantparametervalue
and then evaluate points along
surface

eachof these

curves.

the

Changing

often results in moreefficient

point

density of points to be evaluated


point solutionfor surfacesis somewhat
let us
operations,
than that used for

constructed in it
face)

in

these

(for

curvature

where

more

explore a somewhat more general


curves.If we talk about iV-dimensional

will

spaces

have

N components.

requires

(N

\342\200\224

1)

by reparameterization
example, increasing the
The inverseis greater).

subtle.

solution is one of the

the inverse-point

Because

net

parametric
evaluation

To define

parametric

most

important
strategy

space,

for

analytic
surfaces

then vectors

a surface (or hypersur-

variables.

direct-solution mode, the parametricequationsyield


the
N
of p, as well as their various derivatives
to the
coordinate
with
respect
components
all
variables
at
some
on
the
located
surface
(N- 1) parametric
by
uh
point
for each of the parametric variables.However,in many
a value
specifying
of practical
values
for J of
interest, a point is locatedby specifying
problems
the N coordinatesof p. For most problems
J \317\210
\316\235 1, so that
the inverse may
not be unique.In fact, when/<iV1, the inverse degenerates to a surface of
= N, the
When/
(N-J -1) dimensions.
problem is somewhatoverconstrained,
sowe simply ignore one of the coordinates to obtaina determinatesystem.
In the

Curve

Nets

\342\226\240
159

We let p' denote a specificpoint on the


surface
on which
(or hypersurface)
the
N
or
we must compute the first derivatives
We
know
coordinates
\320\255\321\200/\320\255\320\274;.
but
the
of
this
we
do
not
the
of
know
values
components
point,
parametric
A
variablesuf at the point; therefare, we cannot evaluate \320\255\321\200/\320\255\320\274,directly.
related
inversion problem develops if we are given
(N
only
1) components
of p' and must find the Nth component.The
resulting matrix algebra required
to invert
the system of equations defining these problems
and
solve
defies
To illustrate
the
and
we are forced to use an iterative procedure.
solution,
the
of
vectors
at
a
ona
surface
we
tangent
finding
point p'
problem
p,
the

consider

to the
the

=
\320\263

vector

If

p'-p.

surface.A

good

guess

of the

center

parametric

is

Irl

then

small,

a vector

\320\263

approximates

tangent

start the

is to

iterationatp(l/2,l/2,1/2,...
,1/2),
f =
hypersurface. Now, we definea unit vector

that

r/lrlso

\320\255\321\200/\320\255\320\271,
_\316\233^

or in

(6.16)
dujds

fti

matrix form

[*] =

\320\223
dlt;
\320\255\321\200]

\320\263

ds

(6.17)

Irl

or

duf\"

-1

\320\263
\320\223\320\255\321\200\"
\342\226\240

ds

If As=

then

Irl,

the

incremental

(6.18)

:r:

dll,

in the
\316\224\316\257\316\257,

changes

parametric

variables

are

-1

[Ali,}

Again,

we compute

... ,1/2),
procedure

CURVE

until

of

\320\255\321\200

(6.19)

\316\234
\320\255\320\270,-

at

the

initial

[\320\255\321\200/\320\255\320\270;]

guess p(l/2,1/2,1/2,

Next, we appropriatelyincrementeach
to determine
variables by \316\224\316\257\316\257,
a new p, and continue the
we satisfy
some convergence criterion Irl <\316\265.

and

parametric

the elements

\320\263
from

r =

p'-p.

of

the

NETS

of curves
related subjects are of interest here: Ihe general
formulation
embedded
curve
in a surface, and netw orks of curveson surfaces.
The
nets
of interest
of which
are the parametric, orthogonal,and conjugate
all
nets,
have special properties. Olher types
of curves
on surfaces
include lines of

Two

constant or equalcurvature

and

geodesies.

Our

goal is

to become aware of

certain

of

systems

modeling

curves

on surfaces

we can

use when

applying

problems.

Of course, the simplestand

most

curve

obvious

net on

to

surfaces

a patch consistsof

those curves on a patch where one


is constant. If the parameter w is
parameters
the
curve on
fixed
while \320\270
the
locus
of
is a w = constant
varies,
point \321\200(\320\275,\320\275>)
the patch.By continuing
can
a
we
define
this process,
one-parameter family
of curves
the roles of
that completely
covers the patch. Next,we interchange
= conslant
u
w and
define a one-parameter family
of \302\253
and
curves.
Thus,
A
these two families of curvestogetherconstitute
the
curve
net.
parametric
net
a
of
curves
curve
on patch p(\302\253,w) is two one-parameter
families
constructed
so that
each point there passes just oneofeach
through
family.
the
two tangents
of the curves at the point must be distinct.
Furthermore,
A
net
be covariam
in
to its sustaining patch;|ha| is,it can be defined
may
a way that is invariant under rigid motionin space.
this is not
However,
the case. With a suitably chosen transformationof
necessarily
always
net on the
net can be made to coincide with
parameters,the
parametric
any
specified
the proofs here, we can transform any
surface. Although we will not develop
net-This allows us to concludethat |he
covariani
net to a parameiric
is independent
of the analytical representtion usedand is,
geometryof a surface
of parameiric nels,If the parametric
of
the
choice
nel
|herefore,independen|
a
that
the
net
are
is
covariant net, then we find
of
also properties
properlies
the

of

varies

of |he
We

leave

isoparametric

defining

the

itself.

surface

assert
the

that is,
curves;
while the other

without

parametric

proof that the only


nel invarian-l are

iransformations of parameterslhat

r = r(u)

r =

s = s(u)

(6.20)

s(w)

and

r(w)

(6.21)

to rj, or from u,w |o s,r. Finally,


that the normal vectorat a
we see
on
a
for
surfaceis
its sense.
point
invariant,exceptperhaps
on a
we
consider
the
more
Next,
specializedorthogonalnet ofcurves
surface.
An
net is a ne| such that
at every
orthogonal
point of |he surface, the
that
two
curves
of the net iniersecj at right angles. We
conclude
immediaiely
a necessary and sufficient conditionfor the parameiric
net
on a patch \321\200(\320\275,\320\270>)
from

|o

u,w

be orthogonal

is

(6.22)

p*pH=0

An orlhogonalnet is useful
in many
analytical
for
geometric modeling; example,in structural

engineering
analysis,

fluid

applications of
flow, and ther-

Embedded Curves

\342\226\240
161

of the parametricfield of an object's or


characters
tics
can often be made compatible
with
geometric
phenomenon's
the orthogonality
of the driving and response functions,
and
thus
facilitate
Here

modynamics.

|he orihogonality

analysis.

A net of curves on a surfaceis a conjugatenet when


of the
|he
tangents
of |he
curves of one family
of |he
net at points along each fixedcurve
olher
the
form
a
surface
The
of
two families
family
developable
(seeFigure 6.11).
net do not play symmetrical
roles in this definition, bu| |he |wo familiesare
A
for the parametric net on a pa|ch|o
condition
interchangeable.
necessary

be

ne|

conjugaie

is

p\"\".ft =

6.7

(6.23)

EMBEOOEO

CURVES

surface

vector

a two-dimensional
space suitable for supportingthe
of
curves.
The
two parametric variablesdefining
representtion
serve
to supply |he coordinale grid on which
define
we
may

provides

analytic

surface

the

embedded
curves. This inherent characleristicof |he paramclric
lion is an invaluable
assel to many aspecls of geometric
modeling,
surfaces
primitive

wilh

shapes.

The

curve

space of |he
distinguish

u,w

irregular

the

curve

surface in Figure 6.12is definedin

patch. Here

we

wc denolc

the

parameiric

plane, |hc

c(l)

= u(l)

Figure6.11

+ w(l)

Conjugate

u,w

of

parameter

|o
the curve as c(/).Notethai

a new

introduce

formula|ion,and

including

and the interseciion and union

boundaries

variable

curve is necessarilya planecurve.


on the curve have vector componentsin the \320\270
w
and

parameiric

poin|s

on the

represenia-

Also

in

|he

|ha|

no|c

direc|ions.Thus,

(6.24)

net.

162

\342\226\240
Surfaces

we can define
this curve in many ways in the u,w plane:
explicitly,
with Bezier or B-Splineforms,with the parametriccubicform,
and

define c(/) in

implicitly,
so on. We

Hermite form as

(6.25)

c(/)=TM,Bc
where

T=[P

and MFis the


component

curves

are

l2

1]

Hermite basistransformationmatrix.Theparametric
sketched
in their respective u,t and w,t parameter

Figure

6.12

Curves on

surfaces.

spaces.

Embedded

>

Curves

163

the coordinates of points on this curve


To determine
in model
space, wc
first compute pairs of u,w values
for
successive
values of /. We substitute
\342\200\224
to
these
u,w values into the surface equation, say,
UMBsM'W,
p(u,w)
a
in
These
coordinatesof
obtain
points object space.
points
sequence oix,y,z
selectsonly those points on the
arc necessarily on the patch.Thisprocess
patch that satisfy the curve equation.Wc can stalethis as
on the

\317\201[\302\253(/),\320\270>(/)]
points

a model-space

find

We

tangent

curve, embedded in

vector p/ to

the patch

the curve at any

point

(6.26)
/ on it

computing c,', the tangentvectorto the curve at u(t),w(i) in the u.w


the direction
determine
cosines of this vector (that is, with
respect
plane.
and
and
Next
we compute
to the u,w coordinate
denote them k\342\200\236
k\342\200\236.
system)
at the
and
u,w point determined
by c(/) at / and find that
p;;\342\200\236, p;;\342\200\236
by first

We

'Pun1

It

is the

of p;

direction

that

interests

'Piiii'1

us;

the

magnitude

has no

particular

meaning.
A

different

the control

only

requires

approach

poinls

of

Bezier

or B-

Wc compute
the corresponding
be embedded a surface.
of
and
then
construct
the curve
coordinates
control
points
model-space
the
as
lie
in
surface.
itself usual.However,
|he
will
only approximately
do not require transThe advantageof
is thai poini evaluations
approach
formalionfrom parameterspacetomodelspace the surface equation.

Splinc curve to

in

the

curve

this

via

We can

of smaller

decompose the total surface of a

surface regions(seeFigure

6.13).

object

physical

of these

Each

a collection

into

regions is

reaching
praclical limits at abrupt or
We
establish
the boundaries of a region at
changes
shape.
thesediscontinuities.
In general,
the curves where regions join do not
the isoparametric
the
curves of the individual patchescomprising
coincide with
the total surface ofa modelin this way so that each
surface.
We may segment
is
then
where
often the total surface is
itself
tractable,
region
mathematically
not. We map each region and its boundary curves onto a unit square or m x
characterized

by

conlours.

well-behaved

in

discontinuous

in

\316\267
rectangle

space.

parameter

form
defined a surfacein parametric
the
and
between
coordinates
relationships
model-Space

Earlier wc

w : p(u,w)
variables

triplet

as

We can

\342\200\224

[x(u,w)

surface

y(u,w)

coordinates.

of Cartesian

coordinates u,w.Wc

z(u,w)].

Every
interpreted

of

two

these

parameters,

but

this

also

as a

a unique

\320\272
and

parametric

point on a surface has not only

coordinates x,y,z,
have

think

analytical

by specifying

pair

the

familiar

of parametric

mapping of the surface onto a

164

\342\226\240
Surfaces

T/ansii ion

geomeuy

Cylinder

>

J^)

\320\241

6.13

Figure

uni| square

the

in

equaiionsof
mentioned

As

For

irregular.

plane, where we derived the parametric


boundary conditions or control points.
curves of a surface are frequently
boundary

the

objects,

established

of |he
they may not correspond to the limits
of
the
domain
variables.
|he
by
parametric

the underlying

intcni.

by

Usually

real

parametric

surface region
|he objeci's
curves may be necessaryto delimit
cxteni

points

in

this

subset

complex shape.

certain

from

above,

surface

parametric

geomerry

Disk

coordinate

u,w

surface

the

of a

Decomposition

Tiansiiion

are in a

real object's

surface always equalsor exceeds


are

we

that

one-to-one

subset

modeling.
of poinis

Thus,

on |he

in

boundary

patch. The

correspondence wilh points on the

surface.

In

6.14,

Figure

intersections

established

by

themselves

contain

b2. and

and
we

express

map

surface

R are

may or may nol


ihese
regions.
boundary curvesas b]
tbem onto the unit square of R in parameter space,where
as parametric equations of the form

model

ihem

two of |he boundariesof a

we sec that
with

surfaces

and
5\316\212

b, =

S2, which

We denole

surface

k(0

(6.28)

/e[0,l]

w,(0]

After we computethe interseclions


as
sets
of u,w points, we apply curve.
To
the boundary
curve
in
to
these
curves
obtain
define
filling
techniques
on the \320\270
model space,we compute
,w coordinale
points
plane from u,(t) and
We
then
the
into
the
values
substilute
otu.w
\342\204\226,(/).
approprialesurface
equasurface wilh these
tion to obtain x,y,z points on the curve . The resuliing
irregular

boundaries

is called

called inmmed-paich boundary

a trimmed
elements.

patch. The curves

For

an elegant

themselves

are

entry into |his sub-

Embedded

\342\226\240
165

Curves

see Casale (1987), and Casale, Bobrow,and


Underwood
Other
(1992).
references
and
include Miller (1986). Farin (1993a).Shantz
Chang
(1988),
and Farouki and Hinds (1985).
We
need
to decide if a given poini on |he unii
lies wilhin
a
may
square
bounded region. This is called
A
somewhat
bruie-force
point
classification.

ject

way to do

this

region. Then,
the region

in

We then

a point q thai we know to lie in


other
given any
point p, we caneasily test whether
is

to

specify

as follows. We

construct

the

straight

line

compute the numberof intersectionsthis

the boundary curvesb(. If it does not intersect


in an active region. If the line intersectsany

Figure 6.14 Surfacewith

irregular

\317\201
-q

line

bounded

|his

or not

it

with

makes

plane.
each of

any of these curves,then

boundary

boundary.

an

lies

in the u,w

odd

number

is

\317\201

of

166

\342\226\240
Surfaces

then

times,

on.

the regi

ouiside

lies
\317\201

All

even

intersections

bring

Ihe

back

\317\201

of |his.
Figure 6.14 shows severalexamples
a
R
as
a function of Ihe
One
to
is
region
way
symbolically
represeni
parametric
surface
S onlo
curves
which il is mapped, the boundary
b,. and
known interior point q.
the region;

inlo

R = \320\244(5,\320\254\342\200\236\320\247)
S is

Here,
unit

an m
in

square

mapped
that

is,

active

\317\207
\316\267
rectangular

the

paramelric

pJane u,w. b; is

region.

region is to specify

and perhaps more elegant,


of an

intersection

the

half-spaces.
the implicit
the
defining
sophisticatedpoint-classification
Using

this

approach,

of

set

methods

previously.
slated

inlo

earlier

that

a collection

Figure

to

way

appropriate
test each

we merely

functions

object

on a

curves

paramelric

as functions
of a parameier t;
on|o the same planeand expressed
=
\320\270
the
and w
inside
w(i). q is a point on the parametricplane
u(t)

An allernative,

We

(6.29)

patches normalized

of parametric

array

the

active

candidate point against


Figure 6.15). More

(see

half-spaces
are

indicate

set of two-dimensional

found

in the

references

listed

we can decompose the total surfaceof any physical


of smaller surface regions.In Figure6.16we see

6.1S jrreguJar
intersection

surface defined by
of

half-spaces.

the

an

Curves

Embedded

Figure 6.16 Surfaceof an objectdefined


regions.

extrusion
easily
parametric

that

decompose

has

been

it into

slotted

and

truncated

of smaller

a collection

by

in a variety of

six regions, modelingeachwith

> 167

ways, yet

we

trimmed

surface.

There
are six parametric surfaces. Sj wraps
around
and defines the extrusion'slongitudinal
surface

the
(before

entire
cuts

cross section
and slots are

168

\342\226\240
Surfaces

that
one end
defines
S2 is a plane surface normal to 5\316\212
completely
surface
of
the
a
extrusion.
is
closed
53
cylindrical
intersecting S, to form
plane
surface
that
takes a nick out of
a slot in the extrusion.
an
54 is
open cylindrical
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^.
\316\267
of parametric
surface patches. We
Each surfaceis a unique
in \317\207
array
the
surface
each
R
a
surface
with
establish
by intersecting
adjacent
region on
\342\226\240
we
surfaces.
We define
the interiors by six points qi- q6. (Alternatively,
could use an expression defining the intersectingtwo-dimensional
halfof traversal
or we could use the right-left re/ationshipto Ihedirection
spaces,
of the
shows
these
and
bounding
points
region
curve.) Figure 6.16
in
on
surfaces
the
unit
boundaries
onto
their
square
respective
parametric
mapped

made).

the

u,w plane.

To complete the definition

q,,

which

we

us to

allows

to be

know

test (or

of

inside the

the

straight

p,.

enclosed volumeof
other

We

can

do this

easy to

determine

testing the

distance

determine

by connecting

occur

the test

object.This

the condition of

between

point

being
a

and
with
p\342\200\236
q\342\200\236

this

results. If there

line and

each

are no

inside the object. If the line intersectsthe


number of times, thenit liesoutsidethe object.
All

bring the

intersections

pv. for

poim

we define a point

the

is obviously
an odd

surface

bounding

even

then

volume.

total surface,

object's

counting intersections that

of the surfaceregions,
we
intersections,

any

classify)

outside,on, or inside
line. By

Ihe

if

point

of pv from

point backinto the interiorof the object.


lies exactly on the surface of the objectby

each region.

It

is

HERMITE

BICUBIC

THE

SURFACE
of cubic

families

Two

Hermite

curves forming a parametric

net are

the

basis

bicubic Hermite surface. A simple tensor productproducesthe


16term
to which boundary conditions are applied,generating
the
polynomial,
form. Four coiner points, together wilh two
vectors
and a
geometric
tangent
vector
at each
of these points, are the necessaryand
twist
sufficient
the bicubic
are
conditions defining
Hermite
patch. Sixteen points, four of which
are also sufficient. Reparamctcrizing, truncating, and subdividing a
interior,
patch proceedin much the same way as for curves.A large complex surface
can be defined by a composite collectionofsimpler
while
patches,
preserving
certain levels of continuity.
of

7.1

the

ALGEBRAIC

AND

The algebraic

GEOMETRIC

FORMS

form of a bicubicHermite patchis given


3

by

the

tensor

product

\317\201(\".\302\273) \316\243 \316\243\342\226\240</\"'\302\273'


= () j = U
\316\271

(7\320\233)

where

\302\273,\302\273\316\265[0.1]

The
term

a(J vectors

bicubic

are the algebraic


is obvious, because

(7.2)

coefficients of the patch.Thereasonfor


both parametricvariablesare cubic terms

the

if

169

170

\342\226\240
The

Surface

Hermite

Bicubic

w
and
that as with Hermite curves, Ihe parametricvariables\320\270
0 to I inclusive.This
makes
the
restricted lo values in the interval
and the use of
this restriction
patch bounded in a regular way. We wi II discuss
us
method
to describe
allows
irregular boundarieslater.Thetensorproduct
0. Notice
a53 \316\246

are usually

a rectangular patchas a product


Expanding Equation (7.1)and
produces a result similarto Equation
-

p(u,w)

the curve-defining

of

the

arranging
(3.2)

a^w2

+ a]3i(w3 +
+

+ a^icV

+ a^ii2iv2

a^irw3

in descending

order

curves:

for

+
\320\260\320\267\320\267^\320\275\"3
+

a,y

polynomials.

terms

+ \320\2603\320\276\320\2702
+ a^u2

a2\\U2w

anuw2 + atiuw

(7.3)
+ a]0i(

+ a02w*
+ \320\260\342\204\226
\320\257\321\211\321\213
\320\260\320\276\320\267\320\270^

on the
and
w defines
the set of all points lying
in \320\270
the
form
of
the
bicubic
Hermite
patch.
patch,
expanded algebraic
has
3 independent
Because
each
of the 16 vector coefficients \320\260,\321\203
components,
or 48 degreesof freedom.
there is a total of 48 algebraiccoefficients,
Thus,

16-term

This

polynomial

and it is

vector

each

is

component

x(u,w) = <733lu3w3
similar

with

for_y(u,>v) and

expressions

In matrix

notation

the

+ a3Uu3w

+ uvxifw2

form

algebraic

p(u,w)

\321\217\320\250\320\264.

(7.4)

z(u,w).
is

= UAWT

(7.5)

where
\320\2702\320\2701]

U=[i?

w2

W=[h\"3

a33

a32

a23

a22

a13

a12 all

a2i

1]

a2J
a10

\320\260\320\264\320\260
\320\260<\320\270
\320\260\320\271
\320\260\320\256_

of the
elements in U and W, the subscripts
to
those
in
They
correspond
(7.3).
Equation
for
not, in this instance, correspond to the normalindexingconvention
the a elements
is
matrices. Since
are three-component vectors, Ihe A matrix
of

Because
vector

elements

actually

a4x4x

As we
Hermite

patch

Ihe

order of the
A matrix

in the

do

3 array

found with
determine

the

Hermite

its shape

the algebraic coefficients of a


curves,
and position in space. Patchesof the same

Algebraic

and

Geometric

Forms

\342\226\240
171

have a different set of coefficients


if they
different
occupy
in
one
of
the
and
the
48
result
is a
coefficients,
space. Change any
positions
a point
on the patch each time we insert
a
different patch.We generate
of u,w values
specific
are
into Equation (7.5). Although the u,w values
pair
size

and

shape

is
by Equation (7.2), the range of the variablesx, y, and \316\266
because the range of the algebraic coefficientsis not restricted.
A patch
consists of an infinite number of points given
by their
x,y,z
occurs
An
infinite
number
of
of
also
in
the
coordinates.
u,w values
pairs

restricted

not

restricted,

pair of u,w valuesis associatedwith


a
from
bicubic
Figure
patch mappedintomodel
point.
space
in
parameter space.
components

corresponding

each

its

parameter

space.

A unique

7.1 shows

Parametric

Figure

7.1

spaces

A bicubic

Hermite patch mapped into

componenls

in

parameter

space.

model

space

from

its

172

\342\226\240
The

Surface

Hermite

Bicubic

A bicubic

patch is bounded by

cubicHermile

These

curve.

because

arise

Ihey

\321\200(1.\320\2700.

four

curves,

curves

are

denoied

a| |he

limit

values

each boundary curve is a


as: p(i(,0), p(u, 1),p(0,w),and
of |he parametric
variables.

and

is by appropriately
curves
Another way of denoting the boundary
use
should
we
vector
their
Thus,
may
\321\200\320\262\320\270.,
pi \342\200\236,\317\201,,\316\277,\317\201,,\316\271;
interpretation
p.
be obvious. There are also four
corner
unique
p(0,0), p(l,0), p(O.I),
points

Ihe
subscripting

andp(l,l).orpoo,pio.poi,pii-

Reversing sequence
shape of a surface.
example, direction

of

the

the

freedom

to

course,

p(0,w)

It is
Hermile

so all

must be

normals),

Let

complete
Of

curves.

be
must
opposite p(l,w) on the patch,and p(u,0)
a useful convention for the elementsof a

patch.

a simple exerc/seto show

curve.

we have almost
scheme defining Ihe boundary

surface

7.2 shows

\321\200(\302\253,
1). Figure

Hermile

bicubic

from

the parameterization

assign

opposite

of

does not change the


u,w parameterization
external
modeling constraints (for
any

the

aside

And,

us investigate

terms containing

a boundary

that

the curve

vanish,

and

p(ii,0) = a,0\302\2533+

curve is

indeed a cubic

p(u,0). The subscriptindicatesw

Equation

0,

(7.3) becomes
+

+ ai0u
\321\217\320\266\320\2702

a\342\204\226

(7.6)

is the expression for a cubicHermile


curve.
for curves, algebraic coefficientsare not the most convenient
of a patch, and they do not contributeto
way to define and controlthe shape
our understanding
we must turn to the geoof surface
behavior.
Therefore,
This,

As

of course,
we saw

Figure

7.2

Elements

of a

bicubic Hermite

patch.

Forms
Algebraicand Geometric

form.

metric
lain

the geomeiric form from a relationshipbetweencerthe


and
|he algebraic
form, in keeping with
for the cubic Hermile curves.We will use |he four paich

We derive

conditions

boundary

used

approach
corner

\342\226\240
173

tangenl vectors\321\200\320\271\320\276,\321\200\320\271\320\276,\321\200\302\245\320\276,\321\20
the boundary curves

define

of course,

They,
\317\201\316\212\316\212,
\317\201\317\200.

the e'ghl

and

pointspoo,pio,poi,pn

(7.7)

\321\200\320\223\320\276\320\223
\321\200(\320\270,0)\320\240[\321\200\320\276\320\276
\317\20110 \317\201\317\213\316\277\316\277

p(\302\253,l)

p(0,w)

Pm

F[poi

pn

F[pfl0

p&
\321\200\320\270

\317\201\317\212\316\271\316\223

(7-8)

\316\241\316\260.\316\223

(7-9)

pTb
\321\200(1,\320\270\320\236
\320\240[\321\20010
p\342\200\236

curves

These
geometric

use

coefficients.

12 of

provide

the 16 vectorsneededto specify


are needed,and

Four
additional
vectors
twist vectors, one at each of the
the twist vectors-as follows:
express

so-called

the

we

Mathematically,

,\342\200\236,
\320\2552\321\200(\321\206,
w)

at

u =

%
01
\320\240\320\232\320\237

at

a=0,w = l

-i^uiaa aw
Pl1~

aI

-=^ul
-=

-, -,
?pb^

an aw

Calculating the mixedpartial derivative


at

of

-u

the

l,w

=0

1>w =

function

1
p(u,w)

the indicated u,w values, from Equation (7.3)we


lit:

\320\2552\321\200(\302\273,
W)

48

points.

\342\200\236-\320\277\321\213-\320\277
\320\270
-U,w

^ ^
an aw

\320\2401'*\320\243
\316\261\316\271\316\271
aw

result

comer

four

the

for these we will

at

poo

the
evaluating

(7.10)

\316\241\316\271',\316\223

and
obtain

Sit aw
+ 4\320\26022\320\274\320\270>
+ 2a2iii
+6\320\2602\320\267\302\253\320\275'2

+3a13w2
When

we

evaluate

this

equation

at the

+ 2a12w +

an

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
+ 2\320\260\320\263,
+ \320\227\320\260,3
+ 2\320\260,\320\263
+ \320\260,,
+ 6\320\26032
+ \320\227\320\260-,
+ 6\320\26073
+ 4\320\26022
\320\270
\317\201\316\220\317\212\"

174

>

The Bicubic

Her mite

Surface

Having gone this

Ear

poo

= aoo

plO

= a30 + a2()

p01 =

+ a01 +

the

aM

+ \320\26032
+ \320\260,1
+ aM
=\320\260\320\2643
pi \316\271

+ aLi +

jwist vectors, we now do the samefor


evaluaie Equaiion(7-3).we obtain

+ a00

+ aI0

+ a02
\320\260\320\250

|he

wi|h

when we

12 veciors.Thus,

oiher

an + a,,

+ an

+ a12+ a21

+ am

a,,,

+ aw

+ aM
\316\206\316\262

aWl

= a io

poo

poo =

+ 2\320\2602\342\200\236+\320\26010
\320\227\320\260\320\266
\321\200\"\320\276
pU)

= aS]

poi

=ai3+

poi

=3803

+ a21 +

+ \320\257(|]
\320\260\320\230

+ \320\260\320\270
+ \320\260]\320\241
\320\260,2

+ 28(2

+ aoi
+ 2a21

+ 3\320\260\320\271+
+ \320\260\321\215\320\270
=3\320\260\320\267\321\215
\320\227\320\26031
+2a2J
+2a22
\321\200\320\275
=

3aH
\321\200\320\271

use

+ 2a3:

+ as1+ 3a\342\200\236
+ 2a22

A geometric
of
iriterpre|a|ion
|he faci jhaj a bicubic paich

+ a21 +

|he

3a13+ 2aJ2

consisisof |wo

+ a]2

+au

+ \320\260\320\270
+ 3ao3

is shown

veciors

Iwisl

2a2(l

+\320\260\321\210
\320\260,,

+ %
2\320\260\320\264\320\260

in Figure

sets

orthogonal

mutually

7.3. Wc
of

cubic curves defined


curves\342\200\224orthogonal
parameter
space.
of the parametric variables u, and w,.Oneset containsthe
constant
values
by
and
and an infinite number of intermediate \317\201(\316\257\316\257,,\316\227')
curves,
p(0,iv)
p(l,w)
a
A
set of
across
surface
from
one
to
the
other.
similar
sweeping
boundary
an orthogonal
net. Equations (7.7) to
these,
forming
p(w,)v;)curvesoverlays
are
to
define
the
but
how do we define
sufficient
curves,
(7.10)
boundary
They are the

in

intermediate

these
We

curves,
as follows.

proceed
and

computing
\317\201(\316\237,\316\271\316\275,)
p(l,w,-)

must

find the

at

such as \321\200(\302\253,\320\275\",)?
First, we find the endpointsof p(i(,w,)
w = w, from Equations (7.9) and
(7.10).

tangent vectors pu(u,)V;)

that, for the generalcase,poo

as w

the
this

from

changes
tangent

change

vectors

in

the

and

To

\321\200\"(1,\320\270>,-).

do

this,

by

Next,

we

we observe

pu(0,>v) must change


same
w,
through
thing happens to
curve p(l,w). Mathematically, we express
along
p\"(l,w)
as
and
but
vectors
tangent
(dldw)(puln),
(3/3w)(pjj\342\200\236,)
w

are
not
\321\200\320\271]

and

w =

\342\226\240=.
0

lo

equal.Thus,
w = 1. The

\320\255\321\200\321\206(0>)
\320\2552\321\200(0,\342\204\226)

3iv

\320\264\320\270
dw

\317\201\317\213\316\231\"(0,<*0

(71\316\240

and

Algebraic

Geometric

Figure

and

7.3

Geometric

interpretation

Forms

\302\253',

\342\226\240
175

\302\273J
1

of Iwist vectors.

similarly

\320\255\321\200\320\274(1,\342\204\226)
\320\2552\321\200(1,\342\204\226)

dw

\320\264\320\270
dw

12\\
/\316\267

of the
the
twist
vectors
corners, these terms are p^, \317\201'^\",
\317\201',',1;,
\317\201'\316\257\"',
set of boundary conditionswe saw earlier.
There
is an analogy between the way
we
a curve and the way we
handle
to find the intermediate
usethe twist vectors
tangent vectors.Just as we
on
a
cubic Hermite curve by twoendpoints and tangentvectors,
we
specifypoints
can
intermediate
specify
tangent vectors along a boundary curve by the two
end tangent
We find points
vector values and correspondingtwist
vectors.
a
curve
for
along
by using
(7.9)
boundary
p(0,w), example,
Equation
At

the patch

p(0,vv) = WMi-[p,)U
p,,
p&
\321\200\320\271\320\223
We use an identical form to determine an intermediate
tangent
point on and orthogonally crossinga curve
boundary:
p\"(0,w)

WMji[p\"w

Equation(7.14)describescurve
a

by

the

arrowhead

endpoints

of the

p'd,

pSl'

pKT

(7.13)
vector

at

(7.14)

that
we might visualize as being formed
intermediate tangent vectorsas w varies

176

\342\226\240
The

Surface

Hermite

Bicubic

Ihis interpretation, calls


proposed
are
four
auxiliary
auxiliary curves:p\"(0,w),
and
These
curves
an
are
abstract property of the
pu(l,w),
p\"'(0,u),
\317\201'\317\207\316\220,\316\257\316\257).
form
of the
bicubic
Hermite patch. We cannot point |o
generalmathematical
themon any physical
model
of a surface. The parametric componentsof the
curve
w = 1 and iis associaied auxiliary curve are shown
in Figure
boundary
7.3. Note that theordinates
are labeled p(l,w) and \321\200'\320\246
denoting
expediently
along the
this

unit

interval.

the x,

or

y,

who

Meriwelher,

that there

Note

curve.

an

veclors.

these

of

\316\266
components

interesting mathematical property of twist


bicubicpatch,p\"\" = \321\200\320\270\".
That
on
the
is, the order
point
Anolher

mixedpartial

not

is

derivalive

means

This properly

important.

is lhal

vectors

dislinguishthe

u,w

\320\270
and

that

and no experimenton a physical

are completely
interchangeable
of a bicubic patch can
lion

at any

we take the

in which

manifesta-

order.

conditions permil a complele and unambiguous


boundary
a bicubic
definition
curves,
patch as an orthogonal net of cubicHermite
of a patch
we can investigate
by
any interior point or geometricproperty
the
setofcurves.
to
see
and
an
N
ow
we
begin
selecting
analyzing
appropriate
|he

Because

of

patch in terms of Hermite

define

the

boundary

patch

necessary

in

curves

geometric
conditions.

these patch-definingcurvesby
matrix.We begin by filling the first two rows with
of curves p(0,w) and p(l,w)
We summarize

Next,

we

fill the

Row

1:

p(0,w)

Row

2:

p(l

-> poo

some

that

them

assembling

poi

the

in turn,

in a

4x

coefficients

geometric

\321\200\320\274
\321\200\321\202\320\276

,tv)-\302\273 \317\2011\316\271\316\274
\321\200\320\270
\321\200?0 \321\200\320\270

first two columns with

p(u,0) and p(w,l),noting

form. They,

their

the

Column I:
J-

Column

4,

geometric

coefficients

of these

coefficients

of curves

are already entered.

p(w,0)

\316\241\316\277\317\205
poi
poo

2: p(i(,l)

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

auxiliary curvesto

finish

filling

the

matrix.

matrix.

Now,

we must

use the

and Geometric

Algebraic

->

p(0,w)

P_(_l_.w).

p\"(0>)

p(u,0)

p(u,l)

4^

4-

\316\271
JI

J^

p\342\204\226

poi

poi

\342\200\224>
__Pi\302\253l

Pii_

->

pfi,

pSo

p'\"(\302\273-l)

\321\200>,0)

pft,

Pw______P_n____
\321\200\320\271\320\223

jpSS'

->

p',7

\317\201\317\212\316\271
\320\240\"(1\320\273\302\2730 \317\201\317\212\316\277
jpft

from this complcled


of the four boundary

Conversely,
coefficients

malrix, we can easilyexlracithe

curves and the

When we partition the malrix into quadrants,


the four corner
vectors in the upper left define
quadrant

the

contains

with

those

contains
pattern

of

Using

respeel
the

these

twist

Forms \342\226\240
177

four

geometric

auxiliary

curves.

observe

thai

we

the four

points. The upper righi


with
tow
at the corner points,while
veciors
langenl
respeel
the
to \320\270
are
in
lower left. Finally, the lower right quadrant
or cross-derivatives
vector
at the corner points.The

vector

repeals

subscripts

in

a regular

of geometric coefficients,we

this matrix

patch at a specificpair of
situation.
the geometryof
this

u,w

values,

Here

say,

we see

way.
can

a point

evaluate

on the

w, and
w,. Figure 7.4 illustrates
that the point of interest liesat

is easily
of the curves
This
p(w,,ii') and \317\201(\316\271\316\271,\\\316\275}).
problem
to finding a point on a curve
at a given
value of a parametric
with
choose
to begin
can work
with either curve, so we arbitrarily
variable. We
of this curve, \321\200(\320\270,,0),
coefficients
p(u,,w). First, we determine the geometric
the.se
can then determine
and
we
coefficients,
p'Vj.lJ.With
p(Ui,l),p\"'(\"\342\200\2360),
the

intersection

reduced

the

coordinates

of

the point

Figure

7.4
point

p(u\342\200\236wj).

Determining
on a bicubic

the coordinates of
Hermite patch.

178

\342\226\240
The

Surface

Hermite

Bicubic

p(\",,0)using curve \317\201(\316\272,\316\237):


+
(7.15)
p(w;,0)
F,(udpw + ^(\"Opi\" + \320\240\321\212\320\253\321\200\320\252\320\260
\316\233(<\316\233)\317\201\317\212\302\273

We compute

We

using p(w,l):

p(\",,l)

compute

p(w\342\200\236l)

We

+ F3(w,-)pSi

F2(ut)pu
an

using

p\"(uh0)

compute

Fi(\302\253,)pM

auxiliary
\317\201'\316\247\316\257\316\257,\316\237),

F2(\302\253,-)pii>
\317\201\"\302\267(\"\342\200\2360)
^(\320\270;)\321\200\"\302\253

we

Finally,

compute

that

Now

at W/,

it

evaluate

working

curve.

+ /s(^)p,o

Fiiw^F^ypa,

the

Equation

ftW^uJpui

+ b(u,)V%

/^^(\"^pKi

(7.19)

cannot

+ ^(\"iJpBo+

curve

p(u,>Vj)

as the

(7.19)

initial

be reduced to matrixform.We
variables

parametric

the function

drop

/\320\247\320\270,)\321\200\320\255\320\224

+ ^(wOP'aJ

can certainly

yet

+ F4(\302\253,)pnJ

/\320\234\"0\320\240\320\270
^(w/Jpff

using

we

\321\200(\302\253;,\320\270>),

follows:

+ Ft(u,)p40]

+ F3(u,)p\302\25301

the
the same time generalize
We

+ /^(\"Opoo

+ /M'OpH

obtain the sameresultby

the subscripts.
abbreviate

curve:

auxiliary

the geometric coefficientsof the curve


from Equations (7.15) to (7.18)as
substituting

and at

this

do

+ ^(\"\316\237\316\241'\316\257\316\277
(7\302\2671?)

/\320\234'\320\236\320\240\320\231'
(7.18)
/\316\257\316\234\316\241\316\277\316\212+
^(\"\316\237\317\201\317\212\316\212
^(\"\316\237\317\201\317\212\317\212'

+ /^HfiOOPoi

We could

ft(\"i)pi\302\273

we have

p(u/,Wj)

(7.16)

curve:

p\"'(u,l),another

p\"(w\342\200\236l)using

pu'(ii\342\200\236l)

+ Fa(ut)pb

will

by dropping

notation, but we can

to read

equation

\321\200(\302\253,*\320\253\320\257(\302\253)
F2(u)

Fa(u)]

Fi(u)

poo

poi

pio

\320\240\320\270
\316\241\316\252\316\212.
\316\241\316\252\316\271

P&

\316\277\316\271
\316\241

P&i
\321\200\320\271\321\201\320\242
\316\241\316\277\316\220
\321\200\320\223\302\273
(7.20)

Pfo

\321\205^\320\230

F2(w)

F3(w)

\316\272 Pffi'
\316\241

\317\201\316\220\316\257

F4(w)]T

the
the 4x4 matrix of geometriccoefficients
as
B, and
simplifying
that
and
are
and
to
and
row
[notice
F,(w) arrays
F(w)
F(w)
F(w)
Fi{u)
F(u)

Denoting
vectors]

produces

p(u,w)
Now

and

w are

F(u)BF(\302\273>)T

(7-21)

basis-function
the function notation and use the Hermite
= UMF,
and because
Because it is also true that \320\251\320\270)
and
interchangeable parametric variables,it is also
symmetrical

we eliminate

transformation

matrix.

Functions

Basis

Patch

Hermite

= WMf, From matrix algebra,we have F(w)T =


the
substitution
into Equation(7.21),we derive
appropriate
form of a bicubic patch using
matrix
notation
geometric
true

that

the

conventional

= UMfBM/.'W'''

(7.22)

we
By comparing Equation (7.22)to Equation (3.12),
between the algebraic and geometricformsand see that

one form to the other with

With

MfW.

F(w)

p(H,\302\273v)

\342\226\240
179

the

we can

relationship

convert from

formulas:

following

A =

see

M,-BM\302\243

(7.23)

and
=
\320\222

7.2

AM/

M^

(7.24)

HERMITE PATCH BASIS FUNCTIONS

The basis
serve
same

for

functions

the

Because

the

basis

preceding

development

We apply

as the

purpose
has
patch
twice.

functions

Hermite
patch have the
basis functions for the cubic

bicubic

the

two
see

We

independent
parametric
this in Equation (7.21)

Hermitecurve.

variables, we use the

and, of course,in

the

it.

the same tangent-vectorbasis

patches and obtain the

same form and

two

tangent

principal

p\"(u,w)=
=

pw(u,w)

functions

vectors

of

to

(3.7)

Equation

and the twist

vector:

F,'(u)BF(w)T

F(u)BFw(w)T

puw(u,w) =

Fu(u)BF\302\273'(w)T

or

= VMfBMf\\VT

p\"(u,w)
p\302\273(u,w)

VMPBM\302\243TXVT

p\"\"(u,w) =
Remember

the tangent
We can

UM\302\243BM\302\243rWr

that
Mj? (and MJ?')is the Hermitebasistransformation
vector at a point on a cubic
Hermite
curve.
the
form
use a tensor product to express
geometric
in
\320\240(\320\270^)
=\316\243

/=0

(7.25)

matrix

for

as

n
\320\245\320\254.\320\233\342\204\242(\/>(\")")

/ =0

(7\302\26726)

180

\342\226\240
The

Surface

Hermite

Bicubic

in
This is analogous to the algebraicform expressed
Equation
Again,
(7.1).
on
and
we must take care in how wc interpret the
Ftn,(u),
subscripts
\320\252\321\206,
of
The
m
\316\267
are
because
have
their
limits.
\317\210we
shifted
consequences
F/t\342\200\236(w),

not

7.3

here.

explained

TANGENT AND TWISTVECTORS


and

Computing

of

processes
functions

are

cubic

the

in

in two

expressed

This means

curves.

The

is the

vector

\320\255\321\200(\302\273,\320\270\321\200

and

approachhere
defined a curve

we

that

net.

by

investigate

recompose
and
scalar

the

effect

the

\320\222
matrix

i, because
the

appropriate

= dp(M,w)

(7.27)

(7.28)

dudw

curves.

of a

shape

patch,

We can think

p](i

&ii]ifii
&1\320\256\320\234\320\256

Pll]

Ajtfi

^loi'ii)

Pn

'oot'ii

^01*0]

'JO1]!)

/\342\226\240\320\233
m.olff

\321\202\321\202\321\207\321\216
\"\316\220\316\261,\317\212\316\277\316\244

>\"jji',T

now add a superscript u, w, or uw


there are two independent variablesand

of

to the

unit

two

distinct

tangent

patch.

We change
set

we must

that

on

review these procedures.

magnitudes:

\320\222

directions

wc

Earlier,

and extended the

taking the same


of
the
with
patch as being
the curves in the net changes the patch.To
Changing
the tangent and twist
we
of manipulating
vectors,
these
in
vectors
terms
of
unit
vectors
by expressing
did

piw

Notice

use these vectorsto changethe

We can

for

partial derivative

mixed

vector

Let us briefly

one

the partial derivatives

p\"(H,w)=
The twist

derivatives.

partial

twist vectors

and

tangent

for curves.

are

vectors

tangent

must deal with

the

for

used

we

system

variables instead of just the

independent

that we

expressions

developed

notation

the significance of the parametric derivatives


basis functions are similar to these same
patch
curve. The difference is that the bicubic
Hermite

understanding
Hermite

bicubic

the

one or more of the boundary


we notice
However,

scalars.

multipliersof the

twist

vectors

does

not

curves
that

by

a change

change

changing
to any

the

of the

any of the four

scalar

boundary

and

Tangent

curves.

This

We can

is interesting.

curves and still change the


the
a

twist
change

on the
the

fix

interior

shape

vector
in

magnitudes
(see Figure
the twist vector at \321\200\321\206,
where

patch highlightsthe effectof

boundary

curves

this

comer

four

the

Twist Vectors

points

\342\226\240
181

and boundary

operations on
indicatesthe
result of
7.5).The figure
of a

patch through
The

\317\201','5''-\302\273
(\317\201\317\2127)'.

change

on

dashed

the interior.

curve

Wc note

net
that

are unaffected.

vectors equal to zeroiscalledan /-\"-patch, after


its
Here, only C1 continuity is possibleacrossthe
Ferguson,
developer.
boundaries of
because these patches are constrainedto have
adjacent
/-\"-patches,
arc
zero
at their corners. This can lead to surfaces
that
not
cross-derivatives
and
smooth
for
some
it
is
to
construct
easy
enough
applications. However,
for many geometric-modeling
modify F-patches, and they are adequate
The
of geometric
situations.
matrix
coefficients then becomes
A patch with all twist

Figure7.S The

effect

Hermitepatch.
changes

The
when

of twist

vectors

dashed

curves

boundary

on the
on the

conditions

interior of a bicubic
how it

patch show
change.

182

7.4

\342\226\240
The

Hermlte

Bicubic

Surface

PO!
PTi

poci

pui

\321\200\321\202\320\276

pio

Pu

p'io

pSo

pSi

Pto

\317\213
\316\241\317\212\316\271

(7.29)

NORMALS

in geometric modeling, and in most


direction
is required.Forexample,it
normal
is
applications
common
for
the normal
to point outward from the surface of a solid
practice
model.
silhouette
curves, hidden surfaces, shadows,and shading
Computing
effects
information
about
surface normals.At any point p(u,w) on a
requires
a vector that is perpendicular to it.
bicubic Hermite patch,we can construct
This is the unit normal
vector
which is a function of the tangent
ii(u,w),
and
at
The
vectors
the
unit normalis given by
p\"
p\"
point p(u,w).
The

is almost

normal

unit

indispensable

a consistent

(730)
\342\200\242(\"\342\226\240\"^fcti

=
\317\207
\317\207
often convenient to express this as k\342\200\236n(u,w) = \317\201\"
where
k\342\200\236
\317\201\"',
\316\231\317\201\"
order in which the vector productis taken determines
direction
the
pH1. The
out
a
It
turns
that
we
can
itselfas
\316\277\316\257\316\256(\316\257\316\257,\316\227').
interpretn((i,w)
patch,the
normals
and
this
to
be
a
we
see
later
that
useful
will
patch,
proves
very

it is

interpretation.

for

convention

curves

boundary

assigning identifying
subject of Figure

is the

of the right hand curlaround the

corner-point
positive

or

outward

surface

patches.

A more
advantage

of

(7.30).

This

the area of several

way to write Equation (7-30),one that


for the bicubic form, is
algorithms

convenient

existing

\317\207

thumb

as defined by Equation
sign when summing
algebraic

k\342\200\236n
[x\"

The

see
that
if the fingers
direction of ascending curve or
points in the direction of the

in the

normal

surface

a consistent

convention gives

patch

the

then

numbering,

numbers to the corner points and

7.6. Here we

component

\321\203

[(y\"zw

offi

is

\320\243\" zw]

Z\"]x[*\"'

y\"z\")

{z\"xw

x\"z\")

(x\"yv

y\"x\]

takes

\342\226\240
183

Normals

Ip\"

To rewriteeachof the

use of

p\"(u,w)

(7.26),

and

find

terms

patch.

their matrix form, we make


=
of Equations
UMfBMfWr
p\"(u,w)

y\", z\"', y\"\\

and

UM?BM?Wr

to a

vector

Normal

7.6

Figure

x \317\201\"\";

z\" in

and

that

fis

\342\200\224[(UM\302\243B..Mf

B.M'fW')

Wr)(UMf

(7.31)
-

and similarly

fori),,

expensive

relatively

and
to
without

normal

is a

\302\253,.This

at any

polynomial

biquintic

if the

However,

compute.

self-intersecting,
approximate the

(UM/B>.M^Wr)(UM^B,MiWr)]

and

undulations,

so

point on the surfacewith

in

and

is

\320\270>
and

surface is well behaved(not


on), we can instead
a bicubic

expression,

so that

n(u,w) becomes
=

A(Mlw)

UMfBnMjW7'

(7.32)

where
\320\237
: \320\237
\320\262\342\200\236

\320\270;
B\342\200\236 \320\273\342\200\236

B\342\200\236

Nil
\316\256'\316\257\\\316\256

\320\257;
ft?\"

three remaining
matrix algebra is
B\342\200\236,
by
appropriate
but
rather lengthy expressions. Nothing is
tedious,
straightforward
producing
here. Nonetheless,
them
gained by presenting
evaluating each of the
e
:
at
that
at
is,
resulting expressions
u,w
[0 1],
(0,0), (1,0), (0,1), (1,1), determines
We

have

components

of

already

derived

f\\x,

ny,

and
ht. We
differentiation

find the

of nx. The

184

\342\226\240
The

the 16

elements of B\342\200\236x.
Similar
elements of

remaining

7.S

Surface

Hermite

Bicubic

for

matrices

and
B\342\200\236,

will
determine
B\342\200\236\342\200\236

the

B\342\200\236.

FORM

SIXTEEN-POINT

possible to provide the tangent and


a
Hermitepatch.Therefore,
we
bicubic
required
this
we
must
now
another
way of representing
patch. Remember,
develop
A
4 \317\207
4 grid
of 16
48 degrees
of freedom or algebraiccoefficients.
specify
we
and
the
48
conditions
satisfies
However,
(see Figure 7-7).
points supplies
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
to
a
of
values
between
0 and l,or
ratio
line
lengths
get
segment
points using
values
at
the
one-third
u,w
by
assuming
points.
of the patch p(u,w) = UAWr
form
produces
Expandingthe algebraic
It is
twist

not always easy,

or

practical,

even

to define

values

vector

aHii3w3
\321\200(\320\270,\320\270>)

This
for

is, of
each

+ aM
+ \342\226\240\320\260\320\267\320\263\320\2703\320\270>2

16 of these equations, one


course, Equation (7.3).We can generate
the 16 points. Let us use the u:,w,values
in Figure
7-7. Thus,
+ a3:(0)3(0):
+ - + a^
p(0,U) = a33(0)3(O)3

of

p(~A

Figure

*J\\](PY

7.7

+ \"J

Sixteen-point

+
\\)\\\316\270\316\263

form of

Hermitepatch.

- +

aOT

a bicubic

Form

Sixteen-Point

185

(7.33)

\321\200|\320\235)=\320\247\320\267)\320\250+'\320\271(1)(\321\202|+-+\"\321\216

\321\200(1,1)

In

matrix

form,

this set

\320\26033(1)3(1)5

+ \320\260\320\267:(1)3(1)2+-

+ \320\260
(\302\253\316\271

of equations becomes
p(lt;,Wy)=E>

or

(7.34)

\320\225_1\321\200(\320\270(-,\320\270',)=\321\217

is a system of simultaneouslinear equationswhose


unknowns
are the elements
of a. Furthermore, \316\225
a is
is a 16 x 16 matrix of uw
products,
a 16 x 1 vector of the unknown
of the A matrix, and
coefficients
algebraic
is a 16 x 1 vector of the given data
that
the solution
to
p(w,,w;)
points.Notice
this equation involves three A matrices\342\200\224one for each of the coordinates x,
result

The

y,

and

z.

Next,
rewritingp(u,w)

the 16-point solutionfor

we investigate
= UMFBMiWr

the

geometric

(7.35)

p((i,w)=UNFPNiWr
We replace the

by a

\320\222
matrix

P=

matrix

P, where

\317\201(\317\213,\316\237)
\321\200(\321\207)

P(o,f)

>(H

p(if)

\321\200\320\271)

\320\240(0,1)

W
(7.36)

4\302\273)

\317\201(\316\2314)

p(ll)

HI\302\2671)

\317\201\316\237,\316\277)

>\320\232)

Performing

form,

as

the indicated

\320\240\320\236\320\224)
>(\302\267!)

algebra, we find Nf to

be

186

\342\226\240
The

Hermite

Bicubic

Surface

27
2
45
2

9
2
9

N,- =

11
2
1

The

uniformly

speaking,

\320\222
and

\316\241
matrices

are

related

18

earlier

encountered

the

(7.37)

is, of course, the same matrixwe


the four-point form for curves.
With
parametrically

This

9
2
9
2

27

while

investigating

form, ihc input

16-point

distributed over the


as follows:

data

\316\241
are,

patch.

= LPL7
\320\222

(7.38)

where

1
0
L =

M^NF =

11
2

-I
which we
This

fitting

\317\213

9
2

-9

(7.39)

also encounteredearlier.

approach,

requiring

problem,

but certain

only point data for input, is better for the surfacecharacteristics remain that make its use somewhat

in representing
tedious. For example, wben using this approach
analytically
and
known surfaces (spherical,parabolicsheets, so on),a significant
deviation
on a
arises because of nonuniformspacingof the input
Also,
deciding
points.

considerable
care.
patch distribution over a compositesurface
requires
si
fit
across
nee
each
is
the
boundaries
continuity
Finally,
patch
independently,
is neither guaranteednor likely
For
these ilaws
many
modeling
applications,
us to make further improvements.
are unimportant;still,they motivate

7.6

REPARAMETERIZATION

The reparameterization

curve. The simplestform

OF

PATCH

of a patch proceedsin
of

repaTameterization

much

is a

the

same

way as

reversal of the

for a

direction

Reparameterizationofa

Patch

\342\226\240
187

of the parametric variablesw and w. Again as with curves, wc


and
it docs not change the shape of the
7-8
Figure
easily,
patch.
the
three
shows the initial parameterization of a patch and
possible
because
this is the only
reversals. We
will confine
our attention to the \320\222
matrix,
matrix whose elementschange.
The
for the initial reversals will be B,,
matrix
of geometric
coefficients
of one

or both

can do this

where
PlX)

pin

\321\200\320\270\320\263,
Pill

pin
\342\200\224
\320\222

Pll

Ph.

PTi

(740)

\316\271

Pci

pSo

\317\201\317\213\316\277
\320\240\320\2311

Pi'c

\316\241\316\257\316\277\"
\316\241\317\212\316\271

Pn

First, we reversethe parametricvariable


that

all

of constant

curves

To do this,

first

we

interchange

rows

Figure

w
4 and

7.B The

their

change

in Figure
direction
of

7.8b. This

as

means

parameterization.

matrix. Next, we
these
each
coefficient
in
rows
by -1.
multiply

interchange

simply
3 and

will

u,

rows

and

2 of

the B|

effect of reparameterizationon the patch


normal.

188

\342\226\240
The

Surface

Hermfte

Bicubic

=Pn

qoi

qn =Poi

qiu-pix)
\342\200\224
\320\222
'2
=

\320\247\320\262\320\276\320\276
-\321\200?\320\271
q5i
Lq'm\342\200\224Pi',

two

notice

We

and

interchanged

things:

4oi

-p?i

4\316\2231

PSi

II\302\267\342\200\236
W
\320\273
qi'i
qi(i -\317\201\342\204\242

483- =
qKT

\342\200\224
\316\24111
=\321\200\320\271

(741)

-\317\201\317\212\317\212
4\302\267\316\2574=-\317\201\317\212\316\223

qu' = -pil!'J

-p3Sr

coefficients of the auxiliary curvesare


normals
-1; second, the directions of the patch

First, the
by

multiplied

are reversed.

Next, starting
7.8c. This
of constant
interchange

with

we

Bj,

the parametric

reverse

directionof

operation will change the


This

w.

time,
3 and

columns

thus, we obtain

we interchange
4, multiplying

variable

w,

as

parameterization

columns 1 and 2 of Bj and

in

Figure

of

curves

also

each coefficient in these rows

by

-1;

B3:
- Poo

=
\320\263<\321\216
Jm
\316\241\316\277\316\271

~pw

'i\302\273 _\320\240\320\276)
\317\204\316\277\316\271

=
\342\200\242\316\212))

r \316\267
\302\267\316\212\316\271=\316\241\316\271\316\277
\320\263\320\223\320\270^-\321\200\320\277
=\342\200\224pi'o
\317\201\316\271\316\271
-II =
_ nll
_ \342\200\236u\342\200\236u
\320\263'\"1'\342\200\224
\342\226\240\302\273\"\"'
rllw \342\200\224
n\"u
\342\200\224
\320\263
riw
\316\223\316\277\316\271
\320\263\320\264\320\260
\320\270 prx)
poo
ptu
\321\200\320\276\320\267

B,

rio =

pn

fn-pio

(7.42)

\320\263\321\216\342\200\224pn
'n\342\200\224pio

of the patch normalsare reversed.


of both parametricvariables(seeFigure
we
Finally,
or
We
reverse
either \320\270
w first. Let us choose u,
with
can
B,.
7-8d),
starting
in
or
we
reverse
w by operating on B2,
resulting Equation (7-41), B2.Next,
3
and
4. multiplying each coefficientin 3
interchangingcolumns1 and 2. and
and 4 by-1.Thus,
we obtain B4:
Again,

that the directions


reverse
the direction

we notice

Soi =

sm-pn
B<

Su

Pm

\342\200\224
\316\257\316\277
\321\214\320\2761\342\200\224
\320\276\320\264\320\260--\321\200]|
\316\241

sic>J=r poi
pi\302\273 \320\254\321\216\342\200\224poi\320\254\320\270\321\200\320\276\320\276
\342\200\224
II
U
(7.43)
\321\201
\321\214
11
01 \342\200\224
10
\320\254\320\276\320\276\342\200\224
=-\321\200?\321\217 \320\254\320\276\320\276\342\200\224
\321\200
\321\200
\342\200\224pnsSi
\342\200\22411
_
c\302\253
\342\200\224
S 11
\302\273\316\271\316\277\342\200\224
sHi=-p\"\302\253.
p 01
\321\20000
_\320\254\321\216
pOl
_

of the patch normalsare not reversed.


reparairieterization, we considerthe bicubicHerand
mite
the patch is parameterizedfrom \321\211
to \321\211
in
7.9a.
Here,
patch
Figure
same
from
to
the
that
the
shows
Wi
w/. Figure 7.9b
patch,except
parametric
of
variables
and
from
vk to 1^.We let Bj denote the matrix
range from r, to \320\246
in the second:
coefficients
in the first case and B2 the matrix
geometric
In

this case, the directions


For a more generalized

B,

P,A

P.i

p;\302\253 \320\240\320\271

P;*

Pi'

Pj*

P\"i

Pf*

v;>

pi*

rT

Pi*

vT

\316\241\316\252
\321\200\320\263*

(7.44)

of a

Reparameterization

Patch

\342\226\240
189

\302\273.i
ty

7.9 General

Figure

of a
reparameterization

q*

4i*
\342\200\224
\320\222
,2

for
corner

curves,

and

points

are

the same
related

qc

4.

q;;

q*

qi*

q>

qi*

q!v

u*

q;;

The relationships betweenthe


reasoning

patch.

(7.45)

q?

q;j

<\317\212\316\257

of Bj

elements

and B2 are

the same as those

applies. For patches,as for

curves,

the

directly.

\320\247\321\203*
py*

q/;

(7.46)
p/i

q,i=py

The

tangent

vectors area

different matter.To preservethe

bicubic

form

of

t and
\320\270
and
equations, we assumea linear relationshipbetween
and
v. When
we do this, we obtain results similar to those
expressedby the tangent vectors in Equations (3.29). In particular,we find

the patch
between

190

\342\226\240
The

Bicubic

Surface

Hermite

that
\316\257\316\257,-\316\257\316\257,

and

4'

(747)

^VP'

For the cross-derivatives,we obtain


_

wk)

{u,-u,)(w,-

\342\200\236\342\200\236

(748)

ft-\316\237\316\270\316\212-\316\275*)

is ail example. IE

Here

we
\320\265[0,/\320\267],

we

B'

If
i;,

W]

Wj

and

with

in

the

array

successive

are
\316\267,

Wk, and v,

dealing

a patch

reparameterize

from u,w e

[0,1] to u\\w'

obtain

arrays

vh.

As

of

are readily

poo

Poi

pio

3\317\201\316\220\316\231,
3\317\201\316\257\316\220
\321\200\320\270

3\317\201\316\257\302\273
\320\227\321\200\321\216

3p\302\243o

3pSi

3plV

yp'iT
3\317\201\317\212\316\271
\320\243\321\200\320\232\320\227\"

9\321\200\320\271\320\223
9\317\2018\316\277

pairs of integers,
noted
for curves,

then

\320\270,-\320\270,-\320\223,
similarly

for

f(-

is useful when
contiguous
patches. In Figure 7.10,individual patches
identified by the array indexingschemeof successive
we

this relationship

integers.

Figure

7.10
rectangular

Parameterization
array

of

patches.

of a

and Subdividing a

Truncating

7.7

can

We

SUBDIVIDING

AND

TRUNCATING
now

the

stating

geometric

of the
Figure

are

coefficients

techniques

the matrix

Bbfind

the corner

B;of a new patch that


of constant

curves

by

we find

to create a new patch from


a patch whose

as follows:
Given
\321\200\320\263\320\276\320\254\320\227\321\201\321\202

given patch and bounded


7.11,

\342\226\240
191

A PATCH

reparameterizing

apply

an existingone,

patch

points of the
Qoo =
=

qio

new

w\342\200\236
wb
\320\270;-,

is

and

a subpatch

\320\270>;.\320\240\320\263\320\2

patch

\321\200(\320\270/,\320\270>/)

p(\",.w*)

(7.49)

where the
Using

=p(\"\342\200\236Wi)

qn

=p(uj,w,)

q vectors; are
the tangent
(747),
and

vectors

\317\201

Equations
qoo

qoi

elements of Bj and B2,respectively.


vectors are

quo

(\302\253, W/)p\"(M;.\302\273'*)

qfo=(\302\253j-\"i)p\"(li;.M'*)

qoi
qIi

Remember

that

=
=

qw

=
=

(w/

wk)pw{uhwk)

(wi-wk)p\"(uk,wk)

qoi =(w,-wk)p\"'(Uj,w,)

(^-\302\253i)p\"(\302\253i.H'i)

(H/-\302\253,)p\"(\"/.\302\273'/)

t\\-to

= l

and v,

\342\200\224
=

v0

1.

New

Figure

7.11

Subdividing

a patch.

parch

(7.50)

192

\342\226\240
The

Bicubic

Surface

Hermite

We obtain

Ihe cross-derivativesor twisl

p\"w(u\342\200\236wk),p\"K(uhwi),

and

qio =

COMPOSITE

HERMITE

\302\253i)(wi

(\"/

qSi

= (jj; -

qi'i

(Mj

Wk)9m(uhwk)

(7.51)

h,)(>v/

w^p'M(uhw/)

u,)(wi-

Wi)p>\342\200\236i*i)

SURFACES

questionsto consider.
First,

continuity

the

p'm(u\342\200\236Wk),

(748):

wk)p\"\"(u;,wk)

surface is a collectionof individual


more
continuous,
extensive,and more complex
of
3 array
composite surfacedefinedby a 4 \317\207
of

evaluating

(\302\253y \320\270,)(\320\251

A composite

the

by

Equalion

using
\317\201'\342\204\242'(\316\257\316\257(,\316\271\316\275,)

quo

7.B

vectors

and

factors

whal

composite

surface?

patches

joined

to form

Figure 7-12 shows a


12 patches. There are two basic
the shape and, particularly,
control
such
Second, how do we construct
surface.

that
follows.
patch is the basisfor the investigation
of
We are interested in the continuity
two
and q(\302\253,iv)
p(u,w)
patches
the
curves
common
thai
and
are identical
3
such
having
boundary
q(0,w)
p(l,w)
the
on
in
effeclof
twist
vectors
the
the
(see Figure 7-13),and
continuity along
this shared patch boundary.ToensureG1continuity
the
across
this boundary,
of
be
scalar
coefficients of the respective auxiliary curves must
multiples

surfaces?

The bicubic

Figure 7.12

composite

surface.

Surfaces

Hermite

Composite

\302\253193

Curve \317\201

=
%\316\223 \"\316\241,

\320\240|\302\253.\320\270>)

Curve \317\201

Curve q

Figure

each

7.13 The

Ihe coefficientsof the

olher. Given

along p(l.w) (namelyp'fo.


are related
q(u,w)
When
Ihese
conditions
\316\257\316\220\317\201',\342\204\242.
coefficients

point

effect of the twist

of

Ihe

of patch

G1 continuity across a
produce
are shown in Figure 7.14.This for-

to

required

two

between

patches

1,1

0,1

I,1

\320\232

.1.

-+\"\321\207
1

\316\274\316\271\316\277

\342\226\240
4
\"\316\241\".

\"p;;
1

--1
-11IU

1,0

0.0

Figure
the

7.14 The

requirement
boundary

p(u,w)

corresponding

=
=
=
as follows: q'oo = <?\317\201\317\212\\>,
q'6o'
\320\264\321\200\"\320\276.
qi'u
\302\253\317\201\317\212\316\271.
4$'
al any
prevail, we find lhal q\"(0,w)= iip\"(l,tv)

coefficients

common boundary

then

and

continuity.

curve

auxiliary

\317\201\317\212\316\271,
\317\201\316\220\,")
\317\201\316\212\342\204\242,

is. along q(0,tv).

along p(l,iv); that

The geometric

on

vector

0,0

geometric coefficientsaffectedby
for G' continuity across a common
betweentwo

patches.

194

\342\226\240
The

Surface

Hermite

Bicubic

introduced by
have Gl continuity
only
mal was

of
rows

disjoint

of
multiples
a total of
a total of 96.
have

\320\241

continuity

have

patches

At a corner of any
of

operation

invariant,

each other. Thus, two patches


73 degrees of freedom,
whereas
to its

contribute

-vectors

four

patch,

on them. Because the

basis functions

the

all the

thai adjacent patches


rows (or columns)

conclude

position-determining
and if common auxiliary curve-determining

are

columns)

(or

exhibit

We

(1974).

identical

are

\320\222
matrices

their

Pelers

if common

shape-determining powerlies

p\"(if,iv),p\"'((i,>v), and p\"w(u,w).Four patchessurround


corner point of a compositesurface.In many
modeling

us to consider thesemeshpointsor corner

shapingparameters.
Figure
composite

point

7.15
surface

contains

four

where

centers

vectors applied to

the

patch

in

Clearly,all four patches share the commonpointpy. Consider


common
curve
between
boundary
patch I and patch II. The tangent
the w direction
must be identical to ensure that
the
respective
direction
must
curves do match. The tangentvectorsin the \320\270
a
scalar
\320\272
to
ensure
same direction, differing
only
by
multiple

Patch

Patch

1/

\302\273\316\256
\302\267*?

kK

*v

\"K\"

Patch

\342\200\242V

\"3

\"3

!\320\260\320\270.\320\232
\320\223\320\247

Parch IV

111

Figure

\"\320\246

V/C

*.*:\342\226\240

it will

situations,

or foci

help

of the

arbitrary internal point p,( of a


meet. Each quadrant surrounding this

patches

of the

a list

vectors,
p(u,w),
share
an interior

at an

conditions

shows

and

are

functions

basis

as the

points

two

shape throughthe

four

these

in

to

joined

7.15 Continuity

characteristics of a

composite surface.

that quadrant.
next

the
vectors

in

boundary
only be in the
Gl continuity

Composite
curve through the point.And

along the

slope along
scalar

this

boundary,

generate
that

at an

control

the

the

for

the other

between

vectors,

analysis

relationships

affect

cross-derivatives

the

too, must differ

only

195

the
by

patch boundary combinations we


as the figure shows.We conclude
of freedom are available to

arbitrary point pl7, only 14 degrees


and
two
vectors
of the composite surface (that is, four
local
shape
if we are to preserveGlcontinuity.
are not strictly unique to eachpoint.
that
the \320\272
/ scale factors
and
of
thus
not change
constant
aline
('or/ (seeFigure
along
7-16),
between
a constant
adjacent auxiliary
scalar-multiple
relationship

scalars)
Notice
do

preserving

\"i/.i

\302\253\316\223,.\316\271

*,

k:

K,,

\320\276

'm

',-=

*f

Vm

*,

*(

';\302\273

\316\275.

*r

\316\234\316\271
\"if

*,

\302\253.

p;

1
r

\317\201,',..

'\320\223\",,
\316\241\317\213\342\200\236,

*l

since

seen, they,

multiple.

By continuing this

They

we have

as

>

Surfaces

Hermite

\316\275

\317\201?

Pf

\316\212

',

Figure

*...

*,.,

\320\263
'/\342\226\240\342\226\240

V/

\317\201\"

Pi.r.;,

\320\263
\320\240\320\223\320\274.,

\317\201?..,-.,

'/-

'/\302\267.

1
*\342\200\236\316\233\316\271

*!..

'/..

*..

*,.,

<*,.,

*7j

';

'/

*i.j

'

*,-,

1
\317\201,\302\267,.,
\321\200\320\223,.,\302\267

*\342\200\236,',

7.16 Continuity-driven

*,.j

\320\263

*,-!

'/
*\302\273'',

\302\253\\.l., \320\252.,

\317\201\316\223,\316\244,
\342\226\240*,\342\200\236

\316\271

propagation of scalefactors.

'/

'/

196

\342\226\240
The

Surface

Hermite

Bicubic

and
w take
curves along a curve of constant u-, or wt. Also notice that when \320\270
on integer values at intervals correspondingto the i,j indexing
scheme,
reparameterization is not necessary,because,for example,ui+i- \321\211~1. In the
the \320\272
and
are shown in three of the four quadrantsat
/scale
factors
figure, only

each

node.

of the

node.

(,/'

vectors

the corresponding

multiply

They

The distributionof scalefactors

for

a 4

\317\207
5

array

the

in

of patches

first

quadrant
seven

with

distinct
scale
factors
in Figure 7.17-Although the arrows at eachend of
of constant
the
band
scale factor are bidirectional, we must select a single
to which the scalar relationshipapplies.
consistentdirection
for
band
each
Once
a convention
for associating the data at the points
we
select
with the
a
\320\222
scheme to fill in the
matrix
easily
adjacent patches, we can then
develop
a
lowest
indices
of
for any specific patch. If we identify
the
of
by
patch
pair
of
matrix
the four sets defining the patch corners, then we readily fill the \320\222

is shown

(,/'as follows:

patch

pi

p.)

p<,/+f

Pi + 1,/'

Pi + l.Z +

\320\240<;

\316\241\316\271,/+\316\271

//+\316\257\316\241\317\212.;+\316\257

\317\201\316\223\316\271-1./ '/

+ 1
+ 1\321\200\"+1,;

[B]\342\200\236

\"\316\271
+ lpi+f./

Here

outside the

indices

the

+ l./ +1

\"\316\271
+ lpr

+ lPi+l./

\"i

'/+ip,.,

\320\240>;
fti

brackets on \320\222
identify

+ i'; +

the

an element of the matrix.


let

us consider

cubic

forms

Now
parametric

and

tangent

points.

vectors

created

not

construct a composite surface.Applying


problems once required the userto supply
corner
as well as point coordinatesat the patch

were schemes to definepatcheswithout


Some schemes replaced the required
input

coordinates other than


individual

creating

patches,

the

but

corner

points.

to specify

having

vectors
This approach was

most surfaces

tangent

are

sufficiently

of patches joined together.Composite


surfaces
usually lacked G' continuity, unsatisfactory for most
a number

to require
this way

complex

itself and

how to

Soon, there

for

+ !

to modeling

twist

tangent vectors.
with extra point

useful

lPi+(.;

patch

(7.52)

+i

applications.

Parametric
network

spline
of

patches
of

differentiation

required
elegant

for

approach,

the

generate a rectangular
network of points, usingnumerical
to calculate the derivatives
interpolation
of patch coefficients. Cardinal splines,a more

came
interpolation
from a corresponding
the

complete
were

spline
set

introduced

of Timmeris
Here is a summary
to defininga rectangularnetwork,
two families of intersectingcurves

into vogue to

by Gordon (1969).
of Gordon's approach
(1976)
application
of bicubic
Hermite
patches. We consider
\316\271
and
with
efl:
q,
r,
m] and /' e[l : \320\270],

Surfaces

Hermite

Composite

1,5

\342\226\240
197

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

6.1

1,1

7.17 Distribution

Figure

to

combine

which

are mxn

there

thai
We

the

express

of

17 family

\316\267
curves

the wireframe surface shown in Figure7-18.Note


intersection points.
the
4-, and
q, family of m curves in terms of the parameter
in terms
of the parameter t. Then,
for a typical curve,
form

p(5) = 4f(5)

where \317\201
is the
The

range

17; therefore,

vector
position
of the parameter
we define

and

Je[0,5,]

to a

double

subscript on

indicated.The

parameters

(7.53)

point on the indicatedcurve.

a second set of parameters

1 f-

te[0,T,]

p(t)=r,(t)

is not necessarily identicalfor all of the qf

S,

u,w

\"

s and t
\320\270
and

denotes

w are

such

1 V ',

and

m
The

of scale factors.

their

value

normalized

or

that

(7.54)

= I '11
\316\271

at the intersection node


to map the entire surface

198

\342\226\240
The

Bicubic

Surface

Hermite

Rectangular networkof intersecting

Figure 7.1B

curves.

the

into

unit

procedure has
functions s =

the

effect

spline-interpolating
of

curves

of

ie[l:
functions.

S,(u),

families

Space. Each s curve

in u,w parameter

square

single value of w and each t

to map

curve

corresponds
\316\267
functions

defining

m]. In practice,
As a result,

them into

the

unit

so

that

\320\240\320\230=\320\223,[7\302\273]

\321\200(\320\270)
\320\247\320\224-(\320\270)]

and

ie[l:m]

to

we express these as parametric


we reparamelerize the two

square,

corresponds

single value of u. This


Tj(w),j e [I : n] and m

to a
I =

(7.55)

/e[l:n]
we

\320\275\320\265

[0,1]

[0,1]

can
this
We
treat
consider the actualinterpolationproblem.
of
as
a
combination
two
interpolation
problems, interpolatingthe
For example, consider the m curvesof q,(i/).Eachof these
tj separately.
is
to a distinct value of the parameter w; therefore,it
corresponds

Next we
network

and
curves

to

natural

interpolate

these

curves

separately.

F,(w)
p(u,w) = \302\243
=
i

The

Fj(w) are

(7-56)

q,(ii)

basis or interpolatingfunctions.

These

have

the obvious

properties:

f,<w,)

= s0

-0

if

i*j

if

'=/

(7.57)

q,

Composite Hermite
are free

We

lo choose

basis

any

often

referred

functions.

Notice

defining

lhal

functions

indicated

consider the classof cubic

Let us

the

the

for

functions

Equation

satisfy

Surfaces

\342\226\240
199

(7.57) lo act

as

interpolation.
functions

spline-interpolating

tor the

F-\342\200\236

cardinal splines. Figure 7.19shows


several
of the F
lhal
the maxima
as
the
from
curvemoves
damp rapidly
away
node. This is significant, becauseil is often
lo
truncate
possible
lo as

of wt.
(7.56) using the F, in only the immediate
neighborhood
for the dependent
values
variable at each of the interpolating
Specifying
mesh points results in two unspecified
these conditions
conditions.
Usually
are first- or second-derivative
end
of the mesh.
at
constraints
each
applied
For the splines defining the q,(s), the constraints reflect the obvious
slope
and
for a space curve. Selectingendpoinl
curvature
considerations
the other
constraints
for
of any
two spline fits is not so obvious.In the absence
other constraints, we assume lhala constant secondderivative
of the
in each
two end segments will be imposed
on both S,(u) and Fj(w).Clearly,we could
Equation

have

the

performed

interpolation

p(u,w)
functions

The
our

example,

interpolation

we specify

are

the

F{u) r,(w)

J
/-

p\342\200\236

(7-58)

XW',(\302\273>)

the F,{w)in Equation(7.56).


For
and ij(>v), we achieve the optimum

role as

same

both q,((i)

by using

p(\302\253,w)

where

the

F;-(\302\253)assume

where

+ \302\243/\302\267\302\273
F{w)
\321\206,(\320\270)
\302\243
\302\243
1=1

values

of

Figure 7.19

at

\317\201

Cardinal

the

i,j mesh

i=1j=l

points.

spline-inierpolati\316\267gfunction.

F;(u)

p\342\200\236
(7.59)

200

Bicubic Hermite

> The

II

to

way

we

However,

a network

for

lhal

oul

turns

inefficient

equation to determine the geometriccoefficients


Hermite patches. Once we selectthe patch
corner

use the equation to determinevalues


and r, have

if q,

Finally,

(7-59) is an elegant but computationally


two families of curves forming a rectangularmesh.

Equation

interpolate
can use the
of bicubic

we can

points,

Surface

guarantees

same

this

p'('ni,, p\"u.,and

rectangular

provided

if we
reparamelerized.For
reparamelerize
createa
we
discontinuous
square,
relationship

the

between

new

the

(7.59).

data

initial

tf(w)

original
of

continuity

the

be

in

Equation

surface-generating

unlikely lhal the two families of curveswill


outset of the modeling problem.It is likely
the form of discrete points distributedin some

it is

at
will

G2

be

the

lhal

semi-

the prospective surface,perhapsincluding


and
slope
then the parametricrepresentations
of q,((i) and
to be defined. There are different
we can lake, and
approaches

way over

regular
curvature

First,

defined

completely

lose the

practical implicationsof this

What are the


interpolation
scheme?

and we

parameters,

to the unit

each patch

example,

parametersand

p\342\204\242.

then Equation (7.59)


the unit square, u,w e[0,l]. If the
of bicubic
Hermite
array
the patches
are not arbitrarily

throughout

continuity

unit square is subdivided into


patches, continuity is preserved,

of

G2 continuity,

and

G\302\260,
G\\

data.

If this

remain

is the case,

the nature of the input data will determine


the strategy
Let us consider the case where the point
data
are in the form of an m
over
distributed
the surface, without slope or curvature
array
uniformly
preconditions.
We
now decide to represent q,-(\302\253)and r^(w) as follows:
may
and
4;00 = \316\243\320\222\320\224\320\240\320\260

- \316\241
\320\243

Substituting

these

Wv\302\253
\316\243
i

into Equation

equations

\316\234\")

\317\207
\316\267

(7-6\302\260)

= 1

(7.59) producesa simpler

expression:
\"I

fIf

we

include

complex.

slope

or curvature

Equation (7.59) or
mapped into the unit

/I

l/ =

\316\271

constraints, this

becomes

expression

(7.61)can be interpolated

over

the

entire

surface

more

and

u,w parameter
square
space, similar to the process
we usedfor the bicubic
Hermite
obvious
difference is lhal, for the
patch.The
a
immediateexample,
does not cover the entire unit
single
equation
square.
each patch element formed by the two
of curves
is the
families
However,
of
a
bicubic
in
the
sense
within
lhal,
equivalent
patch
any quadrilateral patch
in

element,the interpolation

may

be

expressed

as the

familiar

201
Composite Hermite Surfaces \342\226\240

(7.62)

Any

of altering

parameterized lo the

can be

subelemenl

the compositesurface.
This

means

unit

that

without

square

danger
by Equation
of {m- 1)

interpolation

a network
be replaced
lo,and
may
by,
(7.59) or (7.61)is equivalent
the
Hermite
without
bicubic
guaranteed
affecting
1)
patches
(n
it can
A disadvantage
of this approach is that
lead to a large number of
continuity
allow us lo model the samesurface
alternative
would
patches.A practical
and
fewer
without
changing the original input point data.
using
patches
to selectively reduce the number of patches
illustrates
a scheme
Figure 7.20
of
15 array
in a composite
used
surface model. What was potentially an 11 \317\207
patches is replaced by a 3 x 3 array.
of patches, however, could causea lossof G2
the number
Reducing
becomes
when we consider a singlecurve;for
This
loss
apparent
continuity
we
use
a
the
curve in the figure. In the secondsegment,
boundary
example,
upper
curves.The
segment
single
single cubic Hermite curve lo approximateseven
the
curvature
will match the original endpoinlsand
however,
may
tangents;
at
lo
the
the
the
leads
curvature
deviate somewhat. Freeing
endpoinls
the original
curve had continuous curvature,
Because
discontinuity
composite
\317\207

\316\223
I

_+_._

\342\226\240\320\247--1

-1\342\200\224r-

L_J

__L
\342\200\224
--v\342\200\224t\342\200\224! I\342\200\224
\316\267\342\200\224\320\263
\"T
\316\271

\316\271

4-4--I--.

-J\342\200\224r-

.\316\247.
I

i\342\200\224

I
\342\200\224
__L\302\267-

\316\271

1-

+--|-\321\207

\316\271 I

\342\226\240

-r

J__

-r

\342\226\240T-t
\342\200\224

-+\342\200\224!

\316\223\"

\\\342\200\224
1\342\200\224I\342\200\224

|_4

\320\223--\320\223--\320\223-

4--f

-i

--1--+-r\342\200\224\316\271

-15 Parches
Figure 7.20

r\342\200\224\317\204

reduced

io 3-

Patch array on a compositesurface.

-I

202

\342\226\240
The

Bicubic

the new
discontinuities

Surface

Hermite

single-curve approximationshould
Note

discernible.

barely

the numberof patches,the

final

network

be

close

and

that in the course of


is slill rectangular.

the resulting

this reduction in

A final simplification is possible.In the preceding


data
example,
input
has the same number of points in
row
points form a rectangular mesh\342\200\224each
the problem
it. Now consider
of a surface with transitions from a complex

crosssectionto

The number of pointswe need


one. To preserve a
complex
data
we would have to specify moredata
rectangular meshof initial
points,
these
for
the
sections
than
shapes would otherwisewarrant.
simple
points
\320\256\320\276
We
constraint requires us to supply
conclude
that the rectangularity
is
To
can
and
it
avoid
we
the
thus
inefficient.
use
much
this,
data,
following
strategy.
data
We
for a series of crossassume
thai in most cases we prefer to supply
on
a
section curves rather than for a rectangular
surface. We let nQ
grid
of
to
the
crossdenote
data points required define
most
the number
complex
A
mesh
section curve and m the number of crosssections.
rectangular
of
a
m
\317\207
mesh
instead
mesh
nQ
however,
formal,
points;
rectangular
requires
now
of points
we
allow
the model input to consist of the exact number
for
each
cross section individually
Thus, we could describea linear
necessary
cross-section
curve
two
the
total
points.
using only
Using this approach,
is
number of points required to describe the surface
to

define

simple

the simple

Figure

one

(see

Figure 7.21).

section is less than

7.21 Transition

for

the

from a complex to a simple

crosssection.

Patches

Hermite

Special

\342\226\240
203

(7-63)

\316\235=\316\243\316\267'

section

curve,

a conventional

using

Next, compute
rectangularmesh.

a set

wc

as

Insofar

surface

(pardon

of

n0

points

are concerned, we have


The literature abounds with a

surfaces

composite

the pun).
mathematics

representational

input data, we interpolateeachcrossspline or other form of representation.


for each curve, and we continue as for a

this reduced

Using

N<mntl.

Obviously,

and

construction

situations.

7.9

SPECIAL

There

three

HERMITE

barely scratchedthe
for most

techniques

modeling

PATCHES

we
are several ways to construct a plane patch, and
will
of them here. Figure7-22shows the simplest
construction,

interpret

of

variety

great

investigate
we
which

as
=

\321\200(\321\213,\320\270>)
\321\20000

ur

+ ws

This equationdefinesa plane patch through


vectors rands. It is a specialcaseofthe bicubic

u,w e[0,l]
the point
Hermite

(7-64)
and

pTO

patch.

1.1

Figure

7.22

Vettor

equation

of a

plane.

parallel

We set

to the

all the

204

\342\226\240
The

Surface

Hermite

Bicubic

algebraic coefficients

in

to zero

equal

(73)

Equation

and
\320\260\320\260\320\264,
a^,

except

resulting

+ \320\275\320\260\321\210+
wa0
\320\260\320\276\320\270
\321\200(\320\275,\320\275>)

can

determine

Poo -

poi

pixi

+ s

\317\201*

+ r+S

+ \320\263
\321\200\321\216=\321\200(\320\256

pn-poo

\320\263
\316\241'\317\214\316\277=

= \320\263
\316\241\316\277\316\271

= \320\263
\316\241\317\212\316\262

- \320\263
\317\201\317\212\316\271

Pot=s

=S
\316\241\316\277\316\271
= s

twist

the

vectors

>

(7.66)

pn=s

\316\241\316\252\316\277

where

(7.65)

- r, and av, =
identical to (7.64), and we find am - \321\200\321\210,
a]0
the geometric
coefficients for this constructionas well:

(7.65) is

Equation

s. We

a0i,

in

are
are
= \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

We assemble

the

\316\222
matrix

from

directly

these equations:
s

+ s

\321\200\320\274 \321\200\320\276\321\202

poo + r

+r
B = poo

Figure

three

points

+s s s

0 0

0 0

a second

illustrates

poi

poo
B =

+ Poi

\316\241\316\257\316\277
pin

poi
\"poo

\316\241\316\272\316\271-\316\241\316\277\316\277
-poo
\321\200\321\210

_pio~Poo

The

first

As we
straight

(7.68)

method of construction. Here we start with


From
elementary geometrywe know that three
points, poo, pm, poidefine a plane. We construct
all the other geometric coefficients from
7.23

these points in such a way as to guarantee that


we easily
Using the elementsfrom the figures,

the

final

plane

pio-poo

patch construction

pm

the

~~

lies

patch

the

assemble
poo

poi

poo

poi

in this plane.

\320\222
matrix:

~~

poo

poo

\317\213

\317\213

is considerablymoregeneralized

(7.69)

than

two. It permits us to construct planefigures


with
boundaries.
curved
see in Figure 7-24,we do not restrict the boundary curves to being
lines.
We start with the point poo and
vectors piio,poothe two tangent

205
Special HermitePatches\342\226\240

Figure

Special bicubic

7.23

Hermite patch form of a

plane.

=
\"\316\277\316\212
l'oi Pm

'

\316\232
'\",\316\271^+\316\233\316\271\316\237\316\261.

/oiP\302\253!

\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

Figure

7.24

General

bicubic Hermite

a plane.

patch form of

206

\342\226\240
The

Surface

Hermite

Bicubic

use
and define
these
vectors as a basisin the planeof the patch
tangent
the other geometric coefficients as linear combinations
of them. We can
define
the cross-derivatives or twist vectorsto bezero,or we can define
them
We

by some relationship, such as pig' = (vti


matrix
we can assemble the elements of-\320\260\320\222

poo
B=

pm

poo +

\320\254\320\276
[PS)

onp&i+bnp;;)

from

the

f'loprSj

cnpoo

Once

again.

pr\302\253

figure:
eoipoo +

/[iip\302\253)

eiipoo+/np!xi
\320\265\321\216\321\200(\321\216+/\321\216\321\200!\321\216

+ ^\316\262\316\257\317\201\316\264\317\214
0
\320\24101\320\240\320\2310

pHoo

cmp!io

+ <Woo

poo

+ Npoo

+ flfopoo

\321\201,(,)\321\200\320\276\321\201
{d-\321\206 <^)\321\200\321\210-

+ ^npiio

(7.70)

Surface

Cylindrical

A cylinder is a

itself along

patch.
Po\"

In
Pi\"]''>

coefficients

of

(p2 -

po)]7-

Figure
an^
the

surfacegenerated

by

curve.

Here,

straight

will construct

we

line as it moves parallel to


a cylindrical bicubicHermite

see a curve whosegeometric


coefficients
are
line defined from pr) to p2. The geometric
line in the cubic Hermile format are [p0
p2

7.25, we
a straight

straight

these

Using

defined by the given

elements,

we readily

find the

Cylindrical

surface.

curve and line:

Line

Figure

7.25

\320\222
matrix

for

pj

fpo

(p2

pa)

a patch

Special Hermite

po
B =

Pi

P:

pi + P2

\320\240\320\231
LP\"

more

general

expression

po

P: p2

p(u) is any
form.

polynomial

Ruled

A cylindrical

po

p2

PS
Pi'

\342\226\240
207

po
po

(7.71)
_

is

space curveand r is the

rulings (see Figure7.26).We

p2

oo

p(ti,w) = p(u) +
where

po

Patches

do

not

surface

wr

direction

restrict

is a

(7.72)
vector

the function

of the

straight-line

p(u) to the cubic

special caseof a ruled surface.

5urface

one degree
of freedom is
the locusof a movingpoint
with
of
a
one degree
know
that the locus
with
also
straight linemoving
of freedom is a surface. This is a specialtype
of surface,
called a ruled surface,
at
each
of
least
one straight line
defined such that through
it
point
passes
of
all
ruled
surfaces
are the plane,
the
surface.
The
in
lying entirely
simplest
the cone,and the cylinder, all special cases because each js governedby a set
The hyperbolic
and the hyperof constraints
that make \320\232
paraboloid
unique.
boloidof onesheet are also special ruled surfaces. Each of these surfaceshas
two
families of straight lines,calledrulings.
distinct
mathematically
We

now

know that

a curve. We

Figure

7.26

An other

cylindrical surface.

208

\342\226\240
The

Hermite

Bicubic

Surface

Every developable

surface is ruled, but

surface

ruled

every

is not

that can be unrolledontoa plane


developable
developable.
or distorting
without stretching
cones
and cylinders are good examples.
it;
the
is not developable. Later,we will
However,
hyperbolic
paraboloid
examine the
characteristics
of developable surfaces. Figure7.27
testable
special
shows
the
of
a
surface. Given two cubic Hermite
bicubic
ruled
geometry
and
a straight
curves
we
a
surface by joining
construct
ruled
with
p(\302\253)
q(w),
each
on
line
to a
on q(u) having an equivalent \320\270
value.
We
point
\321\200(\321\213) point
fill in the B-matrix elements accordingly:
surface

is one

B=

curve

parametric
a

linear

interpolation

po

Qi-pi

9i)

PS

q&

41

\320\270
is

between

Po

\342\200\224

Qi

constant

of

pi

LP?

Each
surfaceis

Qd

Qo

po

pi

Qi

(7.73)
.

line. Thus,
two curves.

a straight

a general ruled

of
The hyperbolic paraboloidis a specialcase,because
both
families
corner
curves
and p(ujtw) are straight lines. Given the four
parametric
p(t(,wf)
we
as
the
four
twist
define
the
vectors
lines
and
points,
eight tangent
straight
the
\320\222
vectors as equal to zero (seeFigure
follows
From
matrix
this,
7.28).
directly:

Figure 7.27

Ruled surface.

SpecialHermite

Patches

7.2B

Figure

Pi
B=

Hyperbolic

P2P1

.p2-pi

equation.

ways

of representing

use

(7.74)

0
0

0
\321\2004-\321\200\320\267

improve the representationif we


and why? (Hint:Try p'ffi = (pj - p3) - (p2 more

p4-p2

p4-p2

p4p!

Can we

Here are two

paraboloid.

\320\240\320\267
\320\240\320\267
-\321\200\321\200
\321\200\320\267-\321\200\321\200

p4

P2

\342\226\240
209

nonzero

pi), and so

a ruled

twist

vectors?

How

on.)

surface with

a parametric

The first is
=

\320\240(\302\273,\320\2700
g(u)

where g(u) is a curve and

+ wd(u)

(7.75)

straight line at
curve.
the distance
ratio of the point
point
gives
e
then
If
7.29).
u,w
(see
Figure
p(ti,w)fromg(u)
[0,1],
ld(u)l equalsthe length
of the straight
line when w = 1. The vector functions g(t() and a(u) in this
are not necessarily restricted to the cubicpolynomialform.
form
An
alternative
based on the straight-line rulings joining
expression
on two space curves d(t() and h(u) is
corresponding
points
\320\270
on

the

d(u)

direction

is the

The parameter

vector of a

210

\342\226\240
The

Bicubic

Hermite

Surface

p(u,w)

- (1 -

w)g(u)

wh(u)

w[h(u) - g(u)]
where
u,w e [0,1]. Again, in this form the vector functionsg(u)
not necessarily restricted to cubic polynomials.
730
Figure
vector construction of a ruledsurfacevia Equation
(7.76).
=

Degenerate

(7.76)

g(t() +

and

h(u)

illustrates

are

the

Patches
unusual
patches immediately attract our attention to their
of an array of
Almost
shapes.
invariably, these strange shapes are the result
which may
with
unusual
coefficients
characteristics,
geometric
equally
and
include coincident control points or other
unconventional
values
or
are possible
accident.
Degenerate
through intention
relationships.
patches
For now, the best source of these patches is our imagination.
bizarre
Any
form
we can conjure up is certain to appear unbidden
and
at an awkward
moment in any sophisticated modelingsystem.
we are about
The
conditions
to explore can be createdwith
of the forms we have discussed thus far,
any
as wellas those yet to be discussed, including the Bezjer and B-Spline
of these forms have obvious idiosyncrasies\342\200\224superimposed
surfaces.
Some
vertices
vertices of their characteristic polyhedra.
or, perhaps,
jumbled

Degenerate

Figure

7.29

Ruled

surface.

Special

Hermite Patches

P|'\"f-

to

Pat4)

Another ruled surface.

Figure 7.30

There

\342\226\240
211

degenerate patches; for example,


those exhibitingsuperimposed
curves,
boundary
exhibiting
degenerate
with
those
and
internal
corners,
strictly
degeneracies. We can demonstrate
them all using a single bicubicHermitepatch.
such patch is a
The
simplest
are identically equal
point wherepm-pio-poi-pn ar,d all other coefficients
=
and
to zero.A patch degenerates
to a straight line when \317\201'\317\214\316\277
\316\241\316\271\316\277\321\200\320\270>
\317\201\316\257\316\214
all other
are
zero.
coefficients
several

are

ways

categorize

those

The degeneratepatchesin
characteristics
in

their

assume that

\320\222
matrices.

=
pm

pw, then

For

the

the

B(n)-

poo

different

zero-length
be as

kind of
fourth

follows:

three-sided

easily identifiable

patch

in

Pm

\320\240\321\210
pop

Pli
pBi

Pm

7.31 a,

if we

Pi'.
(7.77)

\320\240\320\227\320\223
\316\241\316\257\316\223

\316\241\316\257\316\257
\316\241\317\212\316\271
Pi'o

three-sided patch is shown in Figure


one of the sides does double duty.

side,

Figure

is

\320\222
matrix

poo

have

7.31

Figure

731b.
Its

Instead
\320\222
matrix

of a
might

212

\342\226\240
The

Bicubic

Hermite

Surface

poo

\321\200\321\210
poo

poo

poi

\320\257\320\274-

Pm

\320\240\321\210

\321\200\320\271\320\276
Poi

(7.78)

\316\241&\316\244
Poi
\320\240\320\2311

\316\241\316\252\316\252
\316\241\316\257\316\277
\316\241\317\212\316\271
pio

When

be as

points

shown

in

Figure

the
each other are coincident,

opposite

diagonally
7.31c,

the

and

B<d-

\320\222
matrix

would

be as

poi

P<M!

Pio

\320\264\320\260
\316\241

pio

Pn

\316\241\316\257\316\220
\317\201\317\212\316\277

pSo

pi',:
\317\201\316\257\316\257\316\271
poo

(7.79)

*Vio

\320\240\320\276.\320\257\321\200\320\256

{0

7.31

may

follows:

\316\241\317\212\316\271
pio
\316\241\316\212\316\244
.\316\241\316\220\316\277

Figure

result

Degenerate

patches.

Blend Surfaces

731c and

points,

the

with

interesting shape arisesby

7.31d, an

jn Figure

Finally,

from Figure

by

the

joining

the

results

opposing pair

diagonally

remaining

using

\342\226\240
213

following

\316\241\317\211
pio

poo

pio

poo
pi'o

\316\277\316\271
\316\241

piio

\320\240\320\231\320\223

Pn

(7.80)

B\302\253i)\320\240'\321\210
pSj

Pii

Lpio

\316\241\317\212\316\277
pvr

at
degenerate and pathologicalare toopejorative,
for the examples we have just explored.Although
some
have little
may
practical value,
have a certain aesthetic appeal.
they
clearly

the terms

Perhaps

7.10

of

\320\222
matrix:

least

SURFACES

BLEND

secondary surfaces forming a locally smoothGl (at least)


two or more primary surfaces,which
not
or may
may
most
t
he
curves
of
the
between
blend
intersect. In the
tangency
generalcase,
and primary
do not correspond
to isoparametric curves or patch
surfaces
boundaries.
A more
rigorous definition seems to be lackingin the literature,
in part because of widely different approaches to this
However,
subject.
and Requicha (1984) do identify
of blends:
four
Rossignac
major
categories
are
surfaces
between

Blend

transition

blending surfaces generated


blends, fairings, and rounds and

a somewhatdifferent
polyhedral,

we

first example
we

Then

another

Blendbetween

Two

Given

continuous

conditions

are

and
\321\200(1,\320\270>)

a direct

requirements

to blend an arbitrary patch to the


the first patch is interior to the second

a way

where

bicubic Hermite patchesp(u,w)

patch.

We

r(l,w)

extension

and

q(ii,w),we

can

find a

smoothly
them, creating a G1
that
assume the common boundaries are such
q(0.w) (see Figure 7.32). The modeling
of those shown in Figure
for continuity
7.16

between

blends

that

surface.

composite

simple blend between two disjoint


of tangency
correspond to patch

Patches

Disjoint

two disjoint

trimline based,or

at more general blendproblems.

third patch r(u,w)


r(0,w)

is a
curves

where

study

patch,

we look

Finally,

classify

(1994) take

of constructing

methods

spine based,

consider

will

patches,

boundaries.
of

based,

rolling-ball

bicubic Hermite
boundaries

and

aesthetic

constraints,

and Varady

Martin,

others.

among

The

Vjda,

fillets.

approach

as

blends

parametric

functional

strong

by

across a common

boundary

between

two

patches.

The blend

214

\342\226\240
The

Surface

Hermite

Bicubic

0, I

Pdo

! Po,

PED

pe,

! iSd

43,

pSd

\321\200\320\270\320\267
\316\232,\316\241\316\220\316\261
k,p;, '. \316\271,\316\241\317\212\317\213
*,\320\240\320\237
ps;

PS,

7.32

two

has
\320\263(\320\275,\320\234')

A patch

degrees

%a

ioi

\"\316\257\316\277
; PEl

Figure

MlBo i

VSi

blended

the Boundaries of Another

' \320\272\320\260\320\2478\320\276
\302\253

between two disjoint patches.

of freedom,

shape somewhat.Thereareno restrictions


Blend to

P7,

PTd
P|\302\260P\342\200\236

! P,,
Pi\302\273

\316\241\317\212\316\271
\317\201\317\212\302\260
pt;
\320\247\320\225;

patch

I.I

I., 0, I

I. I 0, I

kt

that
allow
\320\272\321\212

and

on

p(u,w)

and

us to

vary its

q(u,w).

Patch

a bicubic Hermite patch


a portion
of whose interior
q(w,w)?
the
then
we
describe
by
modify,
shape
might begin
letting p(u,w)
of the modified
section.We assume that q(u,w) itselfis part of a G1
composite
surface
and
is surrounded
by other patches. No generalityis lost by
We
-'remove\"
this
way.
proceeding
q(ti,w) from the larger compositesurface;
and
new
create
\"insert\"
p(u,w)
subpatches that blend it with \320\241
eight
to
of q(u,w).
the
the
\"hole\" left by the removal
continuity
surrounding
patches
illustrated
This is an extensionofthe procedure
in Figure 7.32. The influence
of the surrounding
of p(u,w) on the geometric
coefficients
eight blend
is
shown
assume
We
that
is
blendedto
the
in
7.33.
patches
p(u,w)
Figure
of
of
to
boundaries
such that the bounding curves p(u,w)
q(u,w)
correspond
the constant-parameter
values ulf u2, wu and w2 on q(u,w), as shown in the
The blank elements in the \320\222
matrices
are
determined
figure.
by the
If we

we wish

surrounding

are given
to

patches,

and

the constant

coefficients

k,

are

Surfaces

Blend

\342\226\240
215

\320\230
1
-

w2-

1-

W|

w2

w2-

wl
(7.81)

11

lli-

\302\253[

1-

\302\2532

\320\272\320\273

UZ-

General

t(]

Blend Surfaces

The constructionof constant-radiusblendsbetween


two
intersecting
are
and
Ju
and
surfaces
others.Theirmethod
parametric
studied
by Choi
(1989)
the

allows

of constant-radius

construction

surfaces as long as their

parametric

self-intersections.

and

singularities

radius.)Edgeblends
Corner

created

are

blends

by a

blends

for

distance
rational

by sweeping

type

of rectangular

smooth,

without

any

are

surfaces

offset

(The

created

are

offset

convex combination of Taylor

is equal to the blend


quadratic curves.
jnterpolants.

0,'
!
! ^Pdi
\316\241\316\277\316\271

PS,

VB,

I^PET

\316\271
Pd,

\316\271
Pqi
p,o
Pdo \342\226\240

Pod

,'

Po,

!
1

Pn

PS.
\316\2418\316\257

k3ps\302\253
: vs<:

^m

\320\223 -\316\271
Pud

^p?d

Mt,

j^pff!

\317\201\317\212\316\271
! ^\317\201\317\212\317\204
!
1
1

*?

Pod

P\342\200\236

\342\226\240
W,

pn
\316\234>\317\212\316\271

P\302\260i

\316\271

PSd

!
1

Wj

! Pn
! P1d
\316\241\316\257\316\277
\316\241\316\252\316\231

PTo

\320\230

PES

PET

k'P%

Pdi

*<\316\241\316\252,
*,PI\"a
\316\272<\316\241\316\220\316\220

\302\253\320\266
\316\241\316\257\316\277
\316\241\317\212\316\271
! \316\241\316\252\316\252
i \320\240\320\247\320\223
1
1
1
1
\316\241<\317\207>
!
! K|PfjD
! \320\240\321\216
!
!
1
1
\342\226\240
h
-r
h
\317\204 \"I

k,Pui

p1D

wa

!
1

!
1

Wo

M?d
*,\317\2015\317\212 k<p;d

\\\320\272*,\320\240\320\237

\316\247,\316\232\317\205\316\241\316\222\316\252
P%
\"\316\212\316\241\316\252\316\252
! \320\272\320\267\320\240\320\225\320\276
!
I
I

'.0

Figure

7.33

Blending

a patch

to the boundaries
of another

patch.

216

\342\226\240
The

Bicubic

Hermite

Surface

differential
is
Representing blend surfaces as solutionstopartial
equations
Bloor
and
Wilson
demonstrate
that
this
by
They
proposed
(1989).
approach

between
the blend
and
easily achieves the requireddegreeofcontinuity
d
and
surfaces.
More
work
in blen
surfaces
related topicsis reportedby
primary
and Lee (1990); Hoffmann and Hopcroft (1987);
Choi
Chiyokura
(1987);
Holmstrom
who
djscusse-s
(1987),
quadric blending of implicitly
piecewjse
defined
and Sears (1985);Rockwood and Owen (1987),
Middlcdjtch
surfaces;
who
blend
discuss
surfaces
in solid modeling; and Woodward
(1987),
among

many

others.

SURFACES

BEZIER

The Bezier

these surfaces,
here.This
chapter does discussthe bicubicBezierpatch,
the
bicubic
Bezier and Hermite forms, degreeelevation,

applicable

repeated
between
Bezier

8.1

THE

and, briefly,

surface,

Points on a

the

p(u,w)

\321\200\321\206
comprise

an

1)

the

The general

following

\317\207
+
(\316\267

1)

on a

tensor

not

conversion
composite

same way

as

matrix equationfor

e [0,1]

u,w

array
of

polyhedron

hull.

eonvex

for

a Bezier

product, a

Bezier curve:

rectangular

characteristic
its

within

defined in the

the

Bhi(w)
\316\243
\316\243\317\201,\316\221\302\273
= (\316\231
= II
\316\271
\316\271

(m +

definingthe verticesof
which lies entirely

hy

for points

equation

general

topics
are

PATCH

Bezier patch are given

extensionof

functions,

the rational Beziersurface.

BEZIER

PRODUCT

TENSOR

The

extension
of the Bezier curve.Many
but discussed under Bezier curves,

a direct

is

surface

to

B,Ju)

and

simple

(8.1)

of control points
the Bezier patch,
are

5;\342\200\236(w)

the

basis

curves.
patch is

Bezier

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

Surfaces

\342\226\240
Bezier

of the
of the matricesdependon the dimensions
sizes
are
not
the
matrix
array.The
indicating
repeatedin
point
subscripts
their
later
and
are
used
here
to
illustrate
expressions,
they
merely
to
the
control
relationship
points. The Bezier patch need not be describedby a
a 4 x 4
array of control points, although we will
begin
by exploring
square
of
Bezier
which
the
bicubic
defines
array
points,
patch.

the dimensions

where
control

8.2

THE

We can

express a bicubic Bezierpatch in

mite patch.

the

Using

matrix

PATCH

BEZIER

BICUBIC

for a

equation

binomial

p(U,W)=
where

again,

this

Expanded,

cubic Bezier curve,the

of the

representation

patch defined by a 4 x 4 array

bicubic Her-

to the

similar

a form

of

control

points

is
(8.3)

4^4*1
\320\2701\321\2074\320\234\321\207\320\264>,\320\264\320\2404.^\320\234^4\302\253

the subscripts on
becomes
equation

the matrices indicatetheir

'

dimensions.

(1-

wf

3w(l - wf
u3]P

3u2(\\-u)

3ti(l-ii):

P(\".w)=[(l-\3")

3w2(l

(8.4)

w)

wJ

where

P=

The matrix

and,

thereby,

the

\316\241
contains

the

Bezier

pn

pi;

pis

Pi4

p21

p22

p23

p24

p31

p32

p33

p34

p41

p42

p43

p44

points

that

define the

(8.5)

characteristic polyhedron

patch.

and
the resulting
Figure 8.1 illustrates the control points,the polyhedron,
the
the
four
corner
In
bicubic
Bezier
formulation,
patch.
only
points pn, p41,
and
and
lie on the patch. The pointsp21, p31, plz, p13, \321\200\320\2642,
\321\200]\320\224,p44 actually
\321\200\320\264\320\267,\321\20024\32
control
the end slopes of the boundary curves.Thefour
interior
\321\200\321\2154
points
\321\200\320\270,
and
in
the
control
the
the
curves
cross
boundary
\321\20032\321\202
\321\20023\321\202 pjj
slopes along
same way as do the twist
vectors
of the bicubic Hermite patch. As this
figure
shows,

the

Bezier

patch is

completely defined by

net

describing two families of Beziercurveson the patch.Each


or vertices\342\200\224the
is defined by a polygon of four
greater
points
the
the
of
the
used,
higher degree
points
polynomial.

of control
boundary

the

points
curve

number

of

p{0.w), u=0 curve

Bezier Patch

Bicubic

The

\342\226\240
219

p\342\204\242 \321\200\321\213
f23

\"13

---

curve

w-1
Piu.1)\302\267

P\302\253=Pf1.1)

\320\240\321\206=\320\240(0.0)
-

u-1 curve

p{1.w).

w^O curve

p{u,0),

\320\240\342\200\2361-\320\240(1.0)

Bezier patch.

Cubic

B.1

Figure

on
Consider the generationof an isoparametric
curve
the bicuhic
for
iv = w\342\200\236
The
matrix
a
constant.
product yields four
following
patch
the
at
the Bezier curve along
defining
patch w,:
Pi

P2

3wX\\-Wi)2

= P

on pb
wherethe singlesubscripts
point
the

lies
on
\321\200\320\264

curve

point

curve

Points
pi,\342\200\236.

lie on

do not

and

the patchalong the curve

(8.6)

w,)

\302\273'?

and

p2,

pj lies on

3w,2(\\

Lpi

curve-defining.

points

(1-\320\271-,)3

\320\240\321\215

The

Bezier

so

p2 and

that these

on indicate

the patch

boundary

an

the

slopes at either end of

p, control the

it. Now we canwrite

points are

puiv, and

curve

for a

expression

point on

\321\200(\321\213,\320\270>,):

Pi

p(u,w,)

[(1

u)3

P2

3u2(\\-u)

3u(\\-uf

\316\2673]

(8.7)

Lp4

Here

each

value of

to define the

\320\270

yields

on the

a point

boundary curves.For

patch.
the

example,

a similar

use

We

procedure

\320\270

0 is

curve

(\\-wy

p(0,w) = [pn

pi2

pla

p,j]

3w(|

-iv)2
-

3w2(\\

w)

(8.8)

220

Surfaces

\342\226\240
Bezier

or
Pii

Pl2

3w2(l-w)

3w(\\-w)2

-w)3

p(0,w)=[(l

w3]

Pi3

(8.9)

.Pk
The

curve

boundary

for

- 0

is

Pl4

3u2(1-u)

3h(1-u)2

p(u,0)=[(l-u)3

p24
u3]

P34

(8.IU)

.P\302\253.

the other

define

We

twist

vector
=

p\"*(u,w)

produces

(8-4)

Equation

differentiating

Appropriately

the

two boundary curvessimilarly.


on the bicubic Bezierpatch;

at any

poinJ

[(-3u2

+ 6u~3)

(-9u2

(9u2 -

+ 6u)

12u +

the equation for

3)

(3u2)]P

(~3w2 + 6w - 12w+
(9w2
(-9w7

+ 6w)

3)
3)

(8.11)

(3^)

For

the

vectors

twist

at the
Poo

patch corner
=

points we have
+ p2z)

9(pii-p2j-p^

Pl0 = 9(p31-P41-P32 +

P\302\253)

(8.12)

\316\24124)
\316\241'\317\214\317\212'-9(\317\20115-\317\20123-\317\201,4

P\302\253 \320\240\320\274
p44)
\316\241\316\212\316\244
9(\317\2013\316\257

to the corner
that only the four control points at and adjacent
at that corner (see Figure8.2).
the
vector
twist
point in question affect

This

8.3

\317\207
5

tells us

ARRAY

RECTANGULAR

OF CONTROL

POINTS

of
a patch that is described by an array
a
to be
This
allows
surface
control points
relatively
complex
square.
in
bounded by simple
or vice versa. For example, the patch shown
curves,
- 0 and \320\270
- I
\320\270
8.3 has a three-point Bezier curve along boundaries
Figure

Occasionally we want
that

is not

to

create

A3

\317\207
5 Rectangular

Array

of Control

\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

Figure

B.2

Control

points

influencing

twist vectorat a patch corner.

Figure

B.3

\317\207
3 Bezier

patch.

the

Points

\342\226\240
221

222

Surfaces

\342\226\240
Bezier

curve along boundariesw

a five-point

and

= 0
\320\270

along

boundary

= 0

w= 1. The

and

equation for the

is

Pi \316\271
=

p(0,\342\204\226)

w1]

2w(\\-w)

[(l-\302\273')2

(8.13)

piz

pis

Along w = 0we

obtain
Pn

p:i

p(ti,0)= [(l-(()J 4u(\\-uf

4u\\\\-u)

6u2(\\-u)2

t(4]

(8.14)

p3i

Pji

Psi

For the

patch itself,
Pl2

Pll

\320\240\320\273
p:2

P32

P31

The

of a

advantage

a change

that

in the

Thus,

To

(1-w)2

2w(l -

\316\241\316\2573

P41

PJ2

pJ3

p5l

p52

p5:i

shape

patch

(8.15)

w)

w2

can

curve over a four-point


of

the

curve

be changed
adjacent

with

continuity

BICUBIC BEZIER AND

BETWEEN

HERMITE

does not

from

UMpBM/'W^

or more

patches.

FORMS

or

UM^PM^W7

Hermite

for

the
and

vice

(8.16)

simply,
(8.17)

MfBMi=M\302\253PM|\"

where

is

curve

affect the

without changing the

the bicubic Bezier to the bicubicHermiteform,


we begin with the mathematical statementof this equivalence.

convert

versa,

Pl3
23
\316\241

five-point boundary

hence

CONVERTING

u\"]

third or middlepoint

slope at eitherend.
end slopes,
maintaining
8.4

6u\\\\-u)2 4ti'7(l-t()

4u(\\-uf

p(u,w)=[(\\-u)4

basis function
Bezier,

transformation

respectively.

matrices MF and Mg are the


Bezier to Hermite we

To convert from

B, obtaining

B=Mf-1MflPMBr[M/]-1

solve

Degree Elevation
After

B =

matrix algebra, we find

the required

performing

Pn

Pi4

P41

p4J

3(pi:-pn)
p41)

3(\321\200|4-\321\200]\320\267)

p4j)

3(p44

+ p24)

9(\321\200\320\277-\321\2002|-\321\2001\320\263
\321\200\320\263\320\263)
9(pii-p23-pl4

9(p3i

+ p4;)

9(Pii-p4i-p32

3(p\302\253-p34)

\342\226\240
223

that

3(p4i

3(p24-p|4)

3(p2|-p]])
3(p4i~p3i)

Surface

Bezier

in

pi4 + p44>

p43

(8.18)

Here we see

expressed

in

polyhedron.

of

boundary

The

the

the

that

tangent

of

terms

points
vectors

tangent

while

polyhedron,

are equivalently
the
characteristic
defining the vertices of
are given solely in terms of pointson the
the interior points contributeonly
to the
twist
vectors

and

vectors

twist

vectors.

process appliesto convert from

A similar

P =

8.S

A way to

extend our

requires

adding

to

ability

(8.19)

SURFACE
the

manipulate

of a Bezier surface
raises the degreeof the

shape

This, of course,

control

more

Thus,

Mi'MfBM/[Mj]-1

A BEZIER

IN

ELEVATION

DEGREE

to Bezier.

Hermite

points.
the patch. We can
the w curves, or

increase the numberof controlpoints


the
both. The processis analogousto that
defining
to
curves
Bezier
Section
(see
applied
4.2). We begin hy adding control points
a way
that does not change the shape of the patch.To elevate
the
in
degree
the
of the Bezier patch in the \320\270
we
two
direction,
begin by equating
shapes
defining

polynomial

\320\270
curves,

\316\240,
+ i I,

,\342\200\236
\342\200\236

\316\243
\316\243^\316\233-^\316\271\316\257\")
flii\302\273(\",)=XZpA\"-(u)^(w)
= 111=0
=
\316\271
\320\263-();()

Solving

for

\316\247\316\206\317\206\316\256
produces

=
1\320\233\320\240*

+ 1

\342\226\240P-i,+

(' =

1-

m+

0,. . . jn

= 0,.

+I

. . ,/?

(8.20)

on
the
left superscript
upper
(see Equation [4.10]).The douhleindex
the
number
of times the degree-elevation procedure has been applied

indicates

to

each

parametric

To elevate

direction,

respectively.

the degree in the w


\"*-ui*-

direction:

i = 0,...

'-^r

,m
\316\267
+ I

(8.21)

224

\342\226\240
Bezier

Surfaces

both at

Doing

Pi - U

1 -

\316\234\316\241\342\200\236

m+

once produces a patch of degree(m

m+

\316\271
Pi-

\320\270

P'j

Pij-i

1)

\317\207
+
(\316\267

i = 0,..

\321\217
+ 1

1~-

1). Thus

,m +1
,\302\253+1

n + 1
(8.22)

8.6

COMPOSITE

BEZIER SURFACES

A simple geometricconstraint allowsus to assemble


Bezier
patches into
with
Consider
more complex compositesurfaces
at least
\320\241
the 4
continuity.
x 7 rectangular array of control points defining
a
composite
two-patch
The
surface.
is idealized
as a rectangular grid in Figure
8.4- The common
array
control
curve
is
defined
ensure
at
boundary
by
pw.To
points
\317\201,4,
\317\201;4,
p34,and
of
least G1 continuity across this
all
four
sets
three points
boundary,
:
to
be
collinear.
(' e[l
must
We
this
other
4]
easily
generalize
[\321\200;,\320\267,\321\200,,4,\321\200,,5],
of
Bezier
patches.
arrangements

Consider a compositesurfaceconstructed
by
Bezier patches (see Figure 8.5).For G\302\260
continuity,
share control points along theirjoiningboundary,
Palch

Pll

\317\207
3

adjacent
shown

Patch

\316\241
13

\316\241
2

I. .

\316\241

\316\241>4
\317\204--

-\316\271

array

of

\316\241
6

\317\201
7

- \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
\316\271
,
\316\271
1 \342\226\240\316\271
\316\231

Pi \316\271

P41

\320\240\321\215\321\215
pj
Li*
\320\240\320\267\320\263
-\342\200\22411
\316\271.
_--_\317\204
1
\316\231

P\302\253

\320\240\320\263\320\265
\320\240\320\2637

\320\24035

\316\241\302\253\316\271
\316\241\302\253
\316\2414\316\257
!
|
j
\316\24146

.,

\320\240\320\2557

\316\24147

\316\223

Set

of collinear

points /

'\"

Points
boundary

Figure

B.4 G1 continuity

bicubic

must
patches
as solid
circles in

defining the
curve

across two Bezierpatches.

\316\2311
' \342\200\224\"Tt
H^

\320\223

Patch

Bezier

Rational

\342\226\240
225

\316\267 \316\223

\316\212 -

hU

\320\263

\316\267

'

,
\342\226\240
j \316\271 \321\201
j
1

\316\271 1
1
1

r-i

\320\263
\316\212

\317\200

I
\316\223

1
1

LJ

1
1

\320\263

points

tangent

the same

8.7

G1

least

vectors

\342\226\240

the same

have

3x3 array.

G1 continuous

continuity
throughout
boundaries
must

thus

L J

across

tangents

defining

corresponding

II

B.5 Composite

Figure

the figure.For at

\316\271\316\271

the surface, the control


be collinear. The

direction, but

not

necessarily

magnitude.

RATIONAL BEZIERPATCH
The

rational

Bezier

patch is

expressed as
J'J

I,

Bj\342\200\236(w)
\316\243
\316\243\316\233</\316\241\316\206\"'(\")

'
n(u,w)=

This
patch,

is the
but

weights
curve.

h4

ji,

\"

(8.23)

central projection of a four-dimensionaltensorproduct


hypernot itself a tensor product.The properties
of the
and
effects
on patch
are
direct
for
the
rational
Bezier
of
those
analogs
shape

it is

226

Surfaces

\342\226\240
Bezier

as follows.
One way to evaluate curves and points on this
patch
proceeds
= w,\342\200\236we
w
each
For a curve of constantparametervalue,
treat
column
of
say,
\316\271\316\267
\320\270
the
characteristic
as
control points (or each row, if
\320\270\321\214)
polyhedron
control
the characteristic
defining
polygon of a rational Bezier curve.
points
the
We
each
of these curves at w
evaluate
w\342\200\236,
including
computing
corresponding

Thus,

weight.

2XpA\302\253K)

p, =

=
,\342\226\240

and the weight /\320\263,


corresponding

,m

0,...

^r
to

each

p, is

(8.24)

simply

h, - j>>AK)
We

the

interpret
wa

curve

on

rameterize.

p, and h,

the surface.

as the control points and


In general, h{\\jim \317\210
l,so

(8.25)
weights

that

describing

the

we may need to repa-

SURFACES

B-SPLINE

of a B-Spline
surface follows directly from the equationof a
This
Spline
relationship is analogous to that between Beziercurves
and
surfaces.
we define the B-Spline surface,like the Bezier
Furthermore,
in terms of a characteristic polyhedron.The shapeof the
surface
surface,
The

equation

B-

curve.

the

approximates

polyhedron.

The approximation

is weakerthe higher the

degree.

9.1

THE

SURFACE

B-SPLINE

PRODUCT

TENSOR

product equationof the B-Splinesurface

The tensor

= 0/
\316\257

The p,, are


polyhedron.

The

as those
polynomials

For a
compute

control

N;,K(u)

points

and

and

are

=0
the

NhL(w) are the

vertices of the characteristic


basis functions,and they are the

for B-Spline curves.The degreeof


is

controlled

by

\320\232
and

L,

t, and

knot
tj

values

just

select

as for

recursively, using Equations (5.2)


knot values are requiredand that the control
Nh,{w)
array.

each

of

same

basis-function

the

respectively.

nonperiodjc B-Spline surface,we


the

is

and

the

values

curves. We
(5.3).

of K,

NiK(ii)

compute

Notice

L, m, n, and

that

and

two sets of

+
(\320\273 1)
points form an (m + 1) \317\207

228

9.2

Surfaces

\342\226\240
B-Spline

FORM

MATRIX

The matrix form for the B-Spline


surface
segments

[5.14],

is used
equation

the

for

developed

of

interval on
and
[5.23]). A unit
[5-15],
of

to compute patcheson the


an

1) rectangular

B-Spline curveis computedin

the parametric variable \320\270


(see
on
the
variables
square
parametric

periodic B-Spline
array of points is

open,

form that we

to the

similar

Recall that the

curve.

B-Spline
a unit

is

B-Spline

The

surface.

Equations
u

and

matrix

general

surface that approximates an (m +

1)

\317\207
(\316\267

se[\\:m+2-K\\
=
pD(u,w)

1e

UMsP^M^W

+ 2 - L]
[1 : \316\267
(9-2)

\320\275,\320\270>\320\265[0,1]

of the
that control the continuity
the
of the basis-function
surface,
degree
polynomials, and, consequently,the
s and t identify
a particular patch in the surface.
dimensions
of the matrices,
Therange on s and r is a function of the parameters \320\232and L and the
the rectangular
dimensions of
array of control points. The matrixU is

where

the parameters

L denote

\320\232
and

=
\320\270

\320\270\320\272~\320\263
\320\2701]

[\320\272*-'

(9.3)

W is

and

wL~2

\\\316\275-[\316\271\316\275\302\243-]

Elements of the
depend

on the

of control

matrix

\316\232
\317\207
L

full

(9.4)

I]

points necessary

particular patch to be evaluated.Let

p,(

to

these

denote

fill

PKL

matrix

elements; then
Pkl

The matrix
curve.

Ms

9.3

OPEN

CLOSED

AND

If the

identical

the

B-SPLINE

ranges

on s,t

/e[i-l

:s

je[t-\\

:t+L-2]

:m+l]

K-2]

(9.5)
matrix for the B-Spline

SURFACES
closed\342\200\224that

and i,j

is, rolled

must reflect this

- constant curvesare closed,


then
,ve[l

transformation

to the

B-Spline surfaceis partially

tube\342\200\224then

the w

is

= pj

into an

closure.

For

open-ended
example,

if

Open and
ie

[I

:n+2-L]

i e [(s -

+\\):(x
1)
je[r-l :T+L-2]
Similar

characteristic

some

grid.

(9.6)

\320\270

are closed.

curves

constant

lines

these

'

overlap;

boundaries. For

the dashed lines

\342\226\240\342\200\224
,
--* |

1
1

__

in ^ jj = 2

1
1
I
1
1
\316\271

(
)

the patch
represent
when this happens,

lines

Dashed

polyhedron.

idealizations,

the

when

mod (m + 1)]

K-2)

the
wc idealize
an array of control points and
with a two-dimensional diagram, arrangingthe points
Solid lines represent the edges of the facesof the

produce

rectangular

(m

figures

following

they

patches

on

mod

apply

expressions

In the

Closed B-SplineSurfaces\342\226\240
229

.^-\342\200\224.\342\200\224.
\321\214
-j

(a)
Po.6
\317\201\342\200\224

\316\2414.\316\225.
\342\200\224\320\276

\"\316\244

1,1

2.1

3,1

\316\241\"\342\200\224*\342\226\240\316\223

P.

1
\320\223
2,3

1.3

\316\244\"

\342\200\224J

3,3

L^i
\316\241
\316\241

K = L=3
= 4
.i = 5

\316\274-

1,2

\316\2522.2

'J

2.1

-\316\227*
\316\241
3.2

3,1

\320\263
\316\257
.L\302\267.

.J

0>)

Figure

9.1

Open

quadric

B-Spline surface

idealizations.

230

\342\226\240
B-Spljne

Surfaces

is
patches are lightly shaded to highlightthem;this technique
between
for exploring the effects of parameterson the relationship
useful
of
the
All
at some
the control points and patches. Let us look
examples.
are
surfaces
generated by specific
B-Spline
following
periodic
examples

are shown.The

instancesof

Equation

(9.2).

\",'

m,s

\302\267
<\320\254)

Figure

9.2

Open

cubic B-Spline

idealizations.

surface

Open

Closed

and

B-Spline

Surfaces

\342\226\240
231

This
surface
quadric B-Splinesurfaceis produced.
a
3x3
and
minimum
of
array
throughout
requires
- 4 and \316\267
=
If
m
a
x
3
4
then
of
control
5,
array
(see Figure 9.1a).
points
results
(see Figure 9.1 b).
patches
= L = 4, a bicubic
\320\232
When
B-Spline surface is produced.C2continuity
at all points
on this surface and requires a minimum
4x4
of
exisls
array
to the bicubic
this
Hermite and
control poinls (see Figure 9.2a);compare
=
of patches
3 array
is produced
Bezier surfaces.If in = 4 and \316\267
5, then a 2 \317\207
to the result obtained
this
for the quadricsurface
(see Figure9.2b);compare

When

exhibits

in

Figure

\320\232

- 3, a

C1 continuily

9.1b.

= it = A

\320\226

\321\210\302\260\320\230
i

(a)
9* \320\233
\342\200\224\342\200\2240

Po,f
\320\255

\342\200\224 u

\321\203

K = l.= 5

m
\320\23131

= A

= 5
\302\253

\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

\342\200\224i

Pj.o

Po.0

(b)

Figure

9.3 Open
surface

quartic B-Spline

idealizations.

232

Surfaces

\342\226\240
B-Sp|jne

Quartic

Notice

are shown in Figure 9.3and


of the basis-function

surfaces

that

as

the

degree

controlpoints

each

define

and

control-point

It is
example,

array

is

This

patch.

quintic

surfaces

in Figure

94.

polynomials increases,more
particularly evident along the patch

regions.

boundary

with
K = L. For
surface
often more efficient to definea B-Spline
ruled
surface
may require second-derivative continuity in one para\342\226\240, '

\342\226\240
-* \342\226\2401

;\302\267>

\342\200\224\342\200\224,

-J

..-\342\226\240:\342\226\240
\316\275
:
\342\226\240
\342\226\2401
\342\200\224*

\342\226\240

\342\200\224
\342\226\240. \302\273\342\200\224\342\226\240\342\200\224
\316\227
(
<'

(a)

Pe.6

'.6

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)

Figure

9.4

Open

quintic

B-Spline surface

idealizations.

Openand Closed

Surfaces

B-Spline

metric

while

direction,

cubic-quadricB-Spline

first-derivative continuity suffices for


surface is shown in Figure9.5.With
m

patch array is produced.


A
in

closed

partially

(9.6)

Equation

a4

to produce

results when

surface

B-Spline

(see

Figure 9.6).

Here,

x 3 patch array The w

= 4
\320\232

and

constant

\342\226\240
233

other.

the

-n

-4,a2x3

we imposethe conditions

=
L = 3, with m = 3 and \317\200
4,
=
curves are closed; the \320\270

two-dimensional idealization is shownin Figure


and
a
9.6a
three-dimensional
one in Figure 9.6b.Only 20 control
points
produce
the
surface
in
9.6c.
Notice
the
characteristic
Figure
complex
polyhedron whose
and vertices (control points) are superimposed.
edges
a 2 \317\207
An
bicubic
open,
periodic
B-Spline surface (K L = 4) definedover
2
of patches
3 array
of patches
array
requires 25 control points. A 3 \317\207
a
x
36
control
and
4
4
49
control
requires
poinls,
array requires
points.We
that
+
find
where
is
the
number
of
control
(na 3)2,
points defining an
np
np
\317\207
As
+
If the
of patches.
\317\2000 na
na increases, (n\342\200\2363)2 approaches
n\\.
array
a 2 \317\207
2 array
are biquintic, then we need 49 conlrolpoinls
for
of
patches
=
3 array;
+
and 81 for a 4 \317\207
The
4 array,
where
patches; 64 for a 3 \317\207
np (na 5)2.
constant

are open. A

curves

numberof controlpointsisrelatedto
polynomials

the

degree

of

the

basis-function

by

np^{nu

+ K-\\f

(9.7)

where K = L.

\342\200\224Q

1.3

2,3

K-4

(\342\200\224-.

t- 3
- 1
m - \317\200

11,2

|
\342\226\240
,

-\320\254\342\200\224\320\247
r

B,(

\342\200\224\320\271
Pi.\320\236

\320\240\320\276\320\273

Figure

9.S

Open

cubic-quadric

idealizations.

B-Spline surface

234

Surfaces

\342\226\240
B-Spllne

\320\240\320\276.\320\273
\342\200\224\320\276\342\200\224

\342\200\224a-

'
.1-:\302\267

\\:

1,3

4,3.Iv\"

'

'

I
f
1
\342\226\240'\342\226\240
\302\243\342\226\240::\342\226\240
2.3
4.3
3,3.
[-\342\226\240'.\342\226\240

;t.T

\342\226\240:
\316\244
~vl..:--\342\226\240
\316\223\316\216.
.
\316\223

L=3

\"
* \"\316\244
\317\204\"?
\316\244
,\316\244\302\273\"\"\302\267-'
\316\252\"4:
\302\267\317\210

4.2

|;

= 3
\321\210

...i,2\302\267'-}.\342\226\240
\342\226\240\320\263.\320\263;\302\267..
[\302\267\321\215.\320\263
j 4,2 \342\204\242=~4\"

-:-. = \320\273\321\202.
1. 1
\".V;\" :,!\342\226\240.\342\226\240;\342\226\240t'-ij:.\",'
\316\271,\316\271r-.;.;
2,\316\271
.:;\\\316\220:\302\267..\302\267\302\267.;\302\2673.\316\271.,\302\267
j.4,1
\316\212,\316\271'\302\267;\317\206..;\302\267,

\320\240\320\276\320\264

Figure

9.6

closed B-Spline

Partially

If the surfaceis partially

then

closed,

np-na(na

One
arbitrarily
from

advantage

degrees

high
the

properties

shape of a

of

B-Spline surface is

modeling

(9.8)

K-l)

the B-Spline
formulation
is its ability to
of continuity
over complex surfaces.This follows directly
of the B-Spline curves. Also, any
in the local
change

These characteristicsmakethe
interactive

surface.

environment.

preserve

not

propagated

B-Spline

throughout
surface
suitable

the entire
for use in

surface.
an

Rational

Nonuniform

9.4

The NURBSsurfaceis,like
projection
product

The

hypersurface.

curve

the

apply

generally

P(m,w)

where

the

increases

control
corresponding

detail
modifying
using

are

weights.

the central

is expressedas

rl

\320\251\320\234

the rational curves, increasingthe


the
it toward
of the surface,pulling

As with

the fullness

surface,

four-dimensional tensor
characteristics of the NURBS

(9.9)

weight

points.

the
constructions using rational B-Splines,
including
discussed
are
in
and
ruled
torus,
surface,
cylinder,
general
sphere,
of
and
discusses
t
he
Tiller
by Piegl
problem
(1987). Piegl (1989d)
the
of a rational B-Spline surface directly from its definition,
shape

Curve
circular

hif

Bezier

space of a

underlying
geometric
to the surface, which
Ml

values

rational

model

three-dimensional

into

\342\226\240
235

B-SPLINE SURFACES

RATIONAL

NONUNIFORM

B-Spline Surfaces

the

and surface

weights

and

control

points.

This

page

intentionally

left

blank

SOLIDS
do
not
solids are limited because they
modeling
the
cannot
internal
interior
of
solid. They
represent
propertiesor
offer
of representing
behavior. The techniques assume total
internal
ways
internal
are
of
model.
For many purposes they
the
homogeneity
adequate.
in
mathematics
and
this
we
the
However,
chapter,
investigate
geometry

ior

techniques

Many

represent

the

a more

supporting

complete

simple in the sensethat


otherwise

instances

form
provide

10.1

the

for

methods

solids

are

creating

not Boolean

simple solid shapes,


constructions or

simpler solids. The discussionhereincludes


solids, sweeps, and solids generated by some
parameterized
of nonlinear
Mortenson
transformation.
and
Appendix \320\241
(1995)
valuable
discussions
for
solid
transformations.
shape
supporting
of even

assemblies

complex

and

SOLIDS

PARAMETRIC

Perhaps

the

model

a solid

the

scheme.

solid-representation

There are severalwell-known

simplest

is by

and most

direct mathematicalapproachwe
single-valued

three-parameter,

continuous,

can

to

use

of

functions

form

where

the

parametric

M,v,we[0,l].These functions
comprising

the

solid,

exterior

z=

y-y(u,v,w)

x=x(u,v,w)
variables
define

as well

u,v,w
the

(10.1)

z(u,v,w)

to the interval
constrained
coordinates
of the set of points
are

as interior. The termshyperpatch

and

para-

237

23\320\222 \342\226\240
Solids

the
are often used interchangeably, although historically
term
a
has
narrower meaning.
hyperpatch
We
will
the mathematics
of these solids as we did for curves
and
develop
surfaces.
In doing this, we find that fixing the value of one of the parametric
variablesresults in a surface within or on the boundary of the solid in terms
this process
of the other
two variables, which remain free.We continue
for
first
for one variable
any number of arbitrary valuesin the allowedinterval,

solid

metric

each of the others in


of three two-parameter
families
each point p(\302\253,v,w) there passes
and then for

called

of

a parametric

network of cells

the solid.

Through
of each family.
These
surfaces, indicating a surface within
throughout

one surface

just

isoparametric

As
one of the three parametricvariablesis constant.
with
and surfaces, the positive sense on any surface
is the sense in which

curves

the free parametersincrease.


with

Associated
Figure

forming
surfaces

on which

solid

the

sometimes

are

surfaces

turn,

The

10.1).

set

is a set of boundary
8 corner points,the

solid

a parametric

consists

of the

elements
12

curves

(see

defining

the

the tangent
include
edges, and the 6 patches definingthe faces.Others
twist
the
and
face
vectors and
vectors
of
patches.
edge curves
For
an
solid, there are always eight and
only
ordinary
parametric
eight
corner
points: p(0,0,0), p( 1,0,0),p{0,1.0),p(0,0,l),p(l,l,0),p(l,0,l),
p(0,l,l),

andp(l,l,l).
The

obtain

edge

them

curves

are functions

by allowing

three parametricvariables.
We
the variablesto remainfree while succes-

of one of the

one of

Face surlace

\316\241
100

Figure

10.1

Parametric

solid boundary

elements.

239
ParametricSolids \342\226\240

of the other two at their limiting


combinations
values. This
fixing
results in the 12 possiblecombinations
the
functions
of the
yielding
defining
12 parametric edge curves
\321\200(\321\206.1,0),\321\200(\321\206,0,1),
\321\200(\320\274,1,1),
p(G>,0),
p(u,0,0),

sively

and

\317\201(0,\316\275,1),\317\201(1,\316\275,1),
\317\201(\317\213,\317\213,\316\271\316\275),
\317\201(1,0,w), p(0,l,w),
\316\241(1,\316\275,0),

The

them

obtain

We

faces

bounding

successively

fixing

results

in the

by allowing
the

p(0,v,w),

p(u,l,w),

remaining

six possible permutationsyielding


and

p(l ,v,w).
a rectangular

represent

equations

followingparametric

\317\201(\316\272,\316\275,\316\231),
\317\201(\316\272,\316\237,\316\275\316\275)
\317\201(\316\272,\316\275,\317\213),

solid is the simplestexample(seeFigure

A rectangular

\317\201(1,1,\316\271\316\275).

of two of the three parametricvariables.


two of the variables to remain free while
This
values.
variable to each of its two limiting

are functions

]0.2).The

solid in an x,y,z coordinate

system:
\317\207

(b

a)u + a
+ c

(d-c)v

z = (f-e)w
example

define

not

also

all the

Here
cubic

points interior to it.


the

introduce

we

parametric

an important feature. These parametricequations


illustrates
ofthe solid,
only the points comprising the boundingelements

This

the

(10.2)

w,v,we[0,l]

and
solids

tricubic

forms for
and the
general,

bicubic
in

Figure

10.2

but

Hermite solid. It is a natural continuationof


on
curves and surfaces.The literature
tricubic model in particular,is sparse,espe-

Rectangular

parametric

solid.

240

\342\226\240
Solids

on the lower-dimension
formsof
a
it
area
is
fertile
for
However,
development,
a
is
a
where
greater analytic potential
requiredof solidmodel.This potential
has already
been amply demonstrated by Stanton and Gain (1974)
andTimet al. (1970) in the areas of structural mechanicsand
ablation
thermomer,
and aerodynamics.
Also see Lasser's (1985)Bemstein-Bezier
representation
of solids.
Earlier
limits on research and developmentof solid-modeling
of this
techniques
type were due to the thenseeminglymassivedata requirements.
have nearly removed this constraint.
current
resources
However,
computing
when

cially

to research

compared

functions.

multivariate
interpolation

10.2 THETR1CUB1C
SOLID
The

form

algebraic

tricubic solid
3
3 3

of a

p(u,v,w) = J^
=
/

the

of

source

the

\320\270,v,we

\316\243a^ifVw*

() / = (>* = ()

equation:

following

(10.3)

[0,1]

are the algebraic coefficients of the solid.Noticethe


term tricubic: Each of the three parametric
variables

a:jk vectors

The

is given by

obvious

can

cubic term. The parametricvariables


are restricted
u,v,w
by
appear
in the interval 0 to 1, inclusive.
This
definition
to values
restriction
makes
We will explore this
solid bounded in a regular way
by cubic
patches.
as a

situation

this section.

in

later

When we
polynomials

There
consists
coefficients

are

perform the indicatedsummationand expansion


x(u,v,w), we obtain
\342\226\240
=
+ flmri(Vw2 + \342\226\240
+ amx
iimiH W
x(u,v,w)

similar

expressions

for y(u,v,w)

64 terms, which means


times this,
available
is three
we

of

the

cubic

in u,v,w for

of

Next,

the

write

these

coefficients

notation:
p(M,v.w)

the

that

and z(u,v,w).Each expression

total

of algebraic

number

or 192 coefficients.
in a more compact

- a^juW

+a32iU3v2wi

+ a3i2iiVW
+

(\320\256.4)

form using vector

\342\226\240
\342\226\240
\342\226\240
+

a_130ii3v3

\342\226\240
\342\226\240
\342\226\240

+\320\260(\320\250

This
but perhaps we can do even
is an improvement,
matrix notation. We are now confronted
with a modest
we
have
an extra
dimension.
With
parametric
three-component

(10.5)
belter

if we

use

complication, since
vectors

and

The Tricubic

lo

\342\226\240
241

are more

cumbersome.
variables, the matrices
independent
parametric
the product
cubic polynomials
in \320\270
and
of the first and second
matrix
form as UA\342\200\236,
and
reduce
the
so
third polynomial A\342\200\236Wr, lhal
V,

three
We

Solid

reduce

\316\275

lo

p(M,v,w)

4JA\342\200\236,.VrA,,Wr

(10.6)

where

U =

[u3

\\ = [v3

for

(10.7)

1]

1]

more complex than the analogousequation

is considerably

(10.6)

1]

\316\2752\316\275

w2

W-[w3
Equation

\320\2702 it

surfaces.

Here

way to indexEquation(10.3):

is another

=
P(\".v,h>)

/=1

This

equation

is compatible

\316\243 \316\243 V\302\2734\"'^\"^4\"*


;= 1 \320\272=1

with the

one we will

and
more acceptable form of tensor
this
by
simplify
dropping the summationsigns and
lhal for cubics the range of the indicesis from
1 to
p1(lw

The same

The

approach applies lo the

a repealed
/-\"terms

are

notation.

We

adopting

the

can further
convention

4. so that
(10.9)

a(,tu4-'v4-V-1
form

geometric

=
\342\226\240
\316\241
F,(u)

where

the

for

encounter

it is a

geometric
form,

(\320\256.8)

\317\206)

(10.10)

Fk(w)bllk

subscript implies summation.


the Hermile
basis functions Fl; F2,

F3,

F4. as

determined

by

is
the subscripted index and in terms of the specified
variable.
parametric
\320\252,)\320\272
of boundary conditions or geometricvectors.
the array
Notice
that
and
a,/lt
are
vectors.
4 or 64 algebraic
Again, there are 4 x 4 \317\207
\320\252\321\206\320\272
three-eomponent
sothat there are 192 algebraic coefficients
vectors and 64 geometricveetors,

coefficients.
and, of course, 192geometric
Considerthe b,y( terms. How do we interpret them? Although we will
more
formal procedures for doing this in the last section
of this
investigate
for
now
we
will
lo
their
empirical
apply
analysis
chapter,
interpretation.
Because the indiceson the
F terms, we can draw
some
functions

as

they

apply

b array

are

conclusions

to curves

with
those
coordinated
from our knowledge

we

establish

some

on the

of these basis

and surfaces.

First we must have a frame of reference,so from


parameter
space

indices

nomenclature

the

unit

cube

(see Figure 10.3).

At

in
each

of

the

242

\342\226\240
Solids

0O1

(a)
10.3

Figure

eight

corners,

itself,

three

64 vectors.
and
\317\201(1,\317\213,1)

on the

coefficients

unit

cube.

following boundary conditions:the comerpoint


vectors, three twist vectors, and a vector definedby the
partial derivative of the function. There are 8 vectors
at each of the 8 comers,resulting
in a total
conditions
of

boundary

defining

Geometric

we find the
tangent
mixed

third-order

(b)

Here is an example,arbitrarily
the eight

listing

boundary

comer

Pioi

comer

the

choosing

defined

by

condition vectors:

point

'
p',V

tangent

\316\241\317\212\316\277\316\271

jLJLA.

vectors

du

dv'dw

\316\241\317\212\317\214\316\271

\316\241\317\212\316\257\316\271

\320\240\320\270\320\273

twist vectors
dudv'dudw'dvdw

PlOl

triple mixedpa

10]
\316\241

Now, we return to the problemof interpreting


Similar representationand expansion
for

clues.

Thus,

for

-?\342\200\224

dudvdw
the

of the b array
surfaces offer more

elements

and

curves

we have

curves

(10.11)

which we

expand to
-

\317\201

F,(u)b[

+ F2(u)b2

+ fi(a)b3

FA(u)b4

(10.12)

The Tricubic

and

Solid

as

interpret

+
/\320\255\320\224\320\240\302\273
\316\241 \320\222\320\224\321\200\320\276
\320\227\320\224\321\200'/
\320\222\320\224\321\200!

boundary
look at this

Now

obvious.

development
-

(10-13)

vectors to elements of the b, array

condition

curve

Assigning

\342\226\240
243

(10.14)

/vO)b,y

F,(u)

\317\201

is

surfaces:

for

which we expandto
-

\316\241

F,(w)bu

F(u)

+ F(u)

+F2(u) F,(w)b2, +

F2(w)bl2+

F3(w)bn

+ F2(u)

F2(w)b22

F2(u)

F,(u)

F^w)^

+F3(u)

F^w)^

+ F3(u)

F2(w)b22+ F3(u)F^w)^

+F,(u)

F^w)^

F2(w)bi2

FA(u)

+ FA(u)

ft(w)b\302\253

+ F^u)

F,(w)bu

+ F2{u)\320\240\320\273(\321\213)\320\25423
+

F3(u)

+ F,(u)

F,(w)b^

F,(w)bAi

(10.15)

as

and interpret
=

\316\241 F^u)

+ F^u)

F2(w)Pl)l

\320\233(\342\204\226)\321\200\320\274
Ft(u)

+ F2(u)

F2(w)pu +

Fziwfth

+ FA(u)

/?2(w)pl1'1+

+F2(u)

/?1(w)p10

+F,(u)

^\320\230\321\200\320\271\320\276
F3(u)

+F,(u)

F,(w)P\"o

ft(w)pK, + Ft(u) Ft(w)p^

F2(u)F3(w)tf0+ F2(u) fi(w)p\302\267;,


F3(u) F3(w)v-%+ F3(u)FA(w)$Z
FA(u)

FA(u)

ft(w)pff+

F^W

(10.16)

Assigning boundary conditionvectorsto the


obvious

by

comparing

simply

Some

generalizations

that when

elements

of the

b}, array

(10.15) and (10.16) term for


these equations first lead us

Equations
based on

the indices of the basis functionsof a termare

all

less

is

term.

to observe
than

3, then

the associated b vectordenotesa point.


when one, and only one. of
Second,
the indicesof a term is 3 or 4, then the associatedb vectordenotesa tangent
when two, and only two, of the indices
are
3 or 4, then the
vector.Third,
associated
b vector
denotes
a twist vector (second-order mixed partial
in the case of a tricubic solid,threeindices
of a term
are
when,
derivative). Fourth,
3 or 4, then the associated
b vector denotes
that
defined by the thirdvector

order mixedpartialderivative
Next, we must find a rule
of constructing

method

current

empirical

following

the

of

the

interpretation:

function

p(w,v,w).

b vectoris applied.Our
arrays of geometric coefficientssuggeststhe
a zero,
For each odd index on b, assign

to tell

us where the

even index, assigna one.


to test these observations on someexamples.
ready
that
then
the index is less than 3, we find
it
given \320\254\320\263, because

for each

and

Now

curve,

we

are

For

denotes

244 -

Solids

point.

index is even, we assign a one to the geometric


a tri cubic solid,
For a sur face,given bAi, we obtain \317\201\317\2120.
For

the

because

And

is p,.

result

coefficient; the

given bl3l,we find

it denotes

that

from

transformation

The

\321\200'\321\210.

to algebraic

geometric
4

V-\316\243

coefficientsis given by

\316\243 \316\243 \320\234\342\200\236\320\234;,\320\257\320\234,\320\220\320\250|(10.17)

- 1 \316\271\316\271
= l
I = 1 \321\202

compactly as

or more

\320\260\321\206\320\272
\320\234\320\260\320\251\320\277\320\234\320\272\320\277\320\2521\321\202\320\260
(10.18)
\320\234
\320\235\320\265\320\263\320\265
is the

Stanton
the

denote

indices

subscripted

64

transformation
matrix, and the various
elements
of the matrix.
specific
a slightly different approach, treating
(1974)
developed
us to
as 4 sets of 16 parameters.This
allows
parameters

Crain

and

hyperpatch

more easily the basis-function properties and


patches and hyperpatches. They beginby defining

understand
between

forms: the

equivalent

form where p(u,v.w)

ables.The
as

F\",(u),

the

familiar

is

at tbe

requires

triple

following

and

algebraic

given

thus

form

point

given

basis

Hermite

p(w,v,w)

Point form:

p(\302\253,v,w)

basis

and a

but

point

summations:

Geometric form:

are

distinct

forms,

points of the parametric vari64 points to be complete.Theseformsare

p(w,v,w)

F\302\243(w)

relationship

three

one-third

Algebraic form:

F\"(v),

geometric

the

functions

defined

Ff(u)

Ff(v)

Fl(w)al}k

(10.19)

F?(u)

Ff(v)

Ft(w)bljk

(10.20)

Ff(u)

Fj^v)

\320\257\320\230\321\200,,*

(10.21)

applied

to the

algebraic coefficients,

by

Fi(u)
F$(u)

\320\2703

= u2

(10.22)

Fi(u) =

and similarly
Ff(u),
coefficients,

\316\275
and

for

Ff(v),
defined

w.

F*(w) are basis functionsappliedto the


by

Fftu)

F%(u) =

2\302\253s

-2u2 +

3u2 + 1
u2

geometric

Tricubic

The

F%(u)

F%(u)

and

for

similarly
Finally.

coefficients,

/*?(\302\253),

defined

\316\275
and

Ff(v),

w. Equations
F((w)

= ri3

are

2u2

Solid

\342\226\240
245

(10.23)

+ \320\270

- \320\2702
\316\257\316\2573

(10.23) are
basis functions

simply from F - UM.


applied to the point

by

(10.24)

and similarly
We

are

for

free

\316\275
and

w>.

to contract

(10.24)

Equations

are from

- UN.

If we
coordinates.
any of the three parametric

a
for w. then we write the geometriccoefficients
in
element arrays.Wc denote
these
as the matrices
arrays

this

sequence

of four

do

16-

\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

\\fim
as follows:

pooo

B,=

B,=

\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
\342\200\236III\302\267
\302\253\317\207\316\271
in
\317\214
\316\241
\316\241
\316\241\317\213\316\257\316\267
\321\200\320\276\321\216

pv>

(\316\234 \316\241
\320\275\320\276
\316\241'\316\257,\317\213
\316\241\316\231

pooi

\320\240\320\276\320\270
Pom

pioi

pin

mi
\316\241

\321\200\320\276\320\270
\317\201'\316\257\316\271\316\271

\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
\317\201'\316\257\316\271\316\220
plli

(10.26)
\317\201\316\257\316\272\317\212\316\277
pom
\321\200\320\266\321\216
pom

Pun

\320\262,-

pioo
\316\241'\316\257\316\277\316\277
\320\240\320\277\320\276
nv
\342\200\236\320\270
\342\200\236III.
p \302\253\316\272\316\271
\320\240\320\276\321\216
\321\200(\320\232\320\256
Pnii)
\342\200\224
II HI'
\342\200\236H1V\320\270\320\2701111
\316\241
Piwi
\320\240\320\277\320\276
_ pino

\320\271\320\277
\316\241
\316\241\316\271\316\220\316\271\316\271
\317\201\317\214\316\277\316\271
\321\200\320\276\320\270

111
\320\222,-

KU
III
\316\241
\316\241
\316\241\317\212\316\277\316\271
\321\200\320\242\320\275
\342\200\224
\320\235\320\230'
\320\274\320\270
(\302\253\320\270
\316\241
\316\241
\316\241\316\252)\316\212\316\212

pun

\316\267\"\"\"'

\320\232\320\230
. \316\241
\316\241',\",\", \316\241\317\212\316\277\316\271
Pin

in a three-dimensional
think of these equations as being
organized
as
We
must
in
of
in
10.4.
vectors,
mind, however, that
array
Figure
keep
are
the
each
the
because
elementsof
vectors,
array is more correctly 4
array
x 4 x 4 x 3, a four-dimensional array.
a similar approach
with the point form, contractingthe third
We
take
w
and
variable
expressing the point-form coefficientsas a
parametric
We denote these arrays as the matrices
arrays.
sequenceof four 16-element
We

can

and

expand

\321\2001 [\321\200\320\224
V2-[Pifl],

\320\240\321\215
\320\253,

(10.27)

\321\2004 [\321\200\342\200\236\321\207]

as follows

\317\200\342\204\242
\316\241\316\277\316\271\316\271
\321\200\320\254,
\316\241?\342\200\236
\317\201\316\232

pS\302\273

Pcoi

\320\240\320\260\321\216
POIQ

Pioo

\317\201\342\204\242
\320\240\320\276\321\216
&
\316\241\317\213\316\223\316\277

Pq\342\200\236Pool

PSoo

VW
\316\241\316\2777\316\223
\320\240\320\276\320\270
\316\241|\316\271\316\237

\316\241\316\277\316\212\316\277
\317\201\316\220\316\223
\317\201;,.
\316\241\316\277\316\220\316\277\"'

\316\241^
\316\241\316\252,\316\277
\317\201\316\226
\320\240\320\277\320\276
P\302\260,\302\253>
\316\2223

\"\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,

Figure

10.4

Three-dimensional

array of

geometric coefficientsof a parametricsolid.

Tricubic

The

\317\201(\317\213.\317\213,\317\213)

p(o,j,o)

Solid

\317\201(\316\237,\316\231,\317\213)

p(o,|,0J

p(J,lo

p(H

\317\201(\316\257\316\2570Plj.fo)

p(\302\273

p(H\302\273)

\317\201(!\302\267'\302\267\302\260
\317\201(\316\234\302\267\302\273)

P(i,j,o)

pfi,f.o)

Pi

P(i,o,0)

PI \302\260
At

Pi

\321\200(\302\260'\320\243\320\243
o,f

,1\320\233

P2 =

p(LLO)

111

111

\316\277,\316\271,\316\241

l'1

\320\227'\320\227'\320\227 \320\227'\320\227'\320\227
\321\200(,\320\243\320\273'\320\243
\321\200(,\320\267\320\264\320\267

\316\271'2
\316\267

111

2\320\246

\316\271'2
.

\320\240(\320\243\320\233'\320\243
\320\227'\320\227'\320\227 \320\227'\320\227'\320\227

1
I
\316\271.
\316\271,\316\277,-r\317\201
\316\241
'\320\227'\320\227

,.21

pi1

\317\201
-\321\203
-\320\267

,\342\200\23612
\321\200\320\276\320\264
\321\200(\302\260'\320\243'\320\243
'3

p(4i

,1

111

111
-\320\270

\320\240(0,.|

. 2

\320\227'\320\227'\320\227 \320\227'\320\227'\320\227
\321\200(\321\203\320\273\321\203

LLPs'

'111

,'2

\320\250

\321\200(\321\203\320\273\321\203
\321\200'\320\267'\320\267'\320\267
\320\227'\320\227'\320\227

11
\320\240|..\320\276|

,-,

\321\200\320\237
'\320\227'\320\227 \321\200(]'\320\243'\320\243p(Ll|

\321\200(0\320\2241)

P(0,1,1)

Plafi

\321\200^\320\236.\321\203.1

,12.
\316\211

>(11

Pf

\320\243'\320\243'1

\320\240\320\267

,22.

p(

\317\201(\316\231,\316\237,\316\231)

p(l,y,l

P|

yy\302\2671

i.f

.1

P(LL1)

\342\226\240
247

248

\342\226\240
Solids

10.5 illustrates

Figure

distribution within

the point

cube

unit

the

in

parameter

space.

the

Because

algebraic

way, we express them in

coefficients
an

a-llk

are

unexpanded

operating on the geometriccoefficients


matrix M.Thus, we obtain

with

to present

cumbersome

too

matrix

determining

format,
the

this

them by

transformation

universal

\316\234,,\316\234\316\222^-\316\227
\320\234|2\320\234\320\2222\320\234\320\223+
a,\342\200\236
\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

\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+

a,p=

a,;1

ailt
where

and

M/m is

0.291
v\316\240

M3|MB1Mr+Ms2MB2Mr+M1;iMB3M7+MMMBJMr

+ \316\234^\316\234\316\222,\316\2341
+ \320\234,3\320\234\320\2223\320\234\320\223+
\316\234^\316\234\316\222,\316\234'
\320\234,,\320\234\320\222,\320\234\320\223

specific element ofthe universal


Bj are given by Equations (10.26).If we

a single

BbB2,B3,

A2
\320\220^\320\263\320\260\320\224

or,in

[ail2],

transformation

\320\220, [a;/J]
\320\2203=[\320\260,\321\203\320\267],

(10.30)

general,
=

we rewrite

Equation

we take

M*,MB;Mr

the summationoverthe

Figure

(10.31)

(10.29) more compactlyas


A*

where

matrix

let

\320\220* [\320\260(,\320\233

then

'

10.S

repealed

Sixty-four-point

tricubic solid,

(10.32)
j'.

subscript

form of

The

We
geometric

would

do

defines

hyperpatch
function

this

(10.33)

F4(W)B,

of w,
value
patch corresponding to a specific
array [b,ltI] from which we extract the B, arrays.Next,we
at the one-third points to obtain

a bicubic

where

\316\234
is

the

basis

27

N=

_45_

now

(10.33)

and

substitute
solve

for

11
2
1

the

evaluate

N is

the array

of basis-

(10.24). Thus,

Equation

We

and

transform\320\260\320\270'\321\215\320\277
matrix

F/1 from

coefficients

given

(10.34)

G^M-'NPjN^M\302\2671]1

function

\342\226\240
249

form to
be able lo transformequations
from
point
we
introduce
a
we
denote as
function
that
this,
patch

Giw) =
This

Solid

as follows:

define

and

G(w)

like to
To

form.

Tricubic

_27
2

18

_9

(10.35)

_9_

from
results
the
to
obtain
final
B,
the

B,-= [Fg]-1

Equation

(10.34) into Equation

transformation

equation

\316\234-'\316\235\316\241,\316\235^\316\234-1]^

(10.36)

in Equation
matrix whose elements are the basis functions
The expanded form of this matrix
points.
(10.23) evaluated at the one-third
where

[Fj]

is a

is

Ft(0)

FS(0)

F$(0)

Ft

\302\245\321\214

F\302\247

Fj(0)

./1

,3~
\321\200\321\202\320\260-

'2
\316\220

Ffd)
When

this

matrix

is evaluated,

(10.37)
,\320\2532
\316\267\\\317\204\\ \321\211=\320\263

Fb2(\\)

FS(1)

it becomes

Fill

FJ(1)_

250 - Solids

0
0

1
\317\213

[\320\237]

11

\342\200\224

\342\200\224

its

as the

them

recognize

respectively.

is no

or

single

Spline

Tangent

restriction

mixed-degree

a three-dimensional

using

9
2

-9

11

27
7

27

27

27

20

27

27

27

27
0

20

There

is

inverse

We

(10.38)

-1

and

0
1

arrays from

(10.39)

Equations (3.37)and (3.38),

on the basis used for a Iricubicsolidor any other


solid. We could create a Bezier parametricsolid,
lattice
of control points, or we could createa B-

solid.

and Twist Vectors

Vectors

the

parametric

similar

to those

Computing

processes

the

parallels

tricubic

function

partial

of

derivatives

for the

the

tricubic solid

bicubic patch.In fact,as

we

might

involves

suspect,

continue with higher-dimension elements.Wc express


the
as three
and
of
we
must
variables,
course,
independent
compute
of

derivatives

this

function.

these vectors earlier, becausethey


are
important
coefficients.
Let us summarize them briefly
have three species of tangent vectors,

We encountered
constituents

We

of

now

the

geometric

here.

oil
(10.40)
\342\226\240=g^(\302\253,V,40

p;;;\302\267,,

dw

p(w,v,w)

The Tricubic Solid


three

of twist

251
\342\226\240

vectors,

^\321\215^*\"^
(10.41)

and the singular

partial,

triple-mixed

\320\2553

lC\"=

Just

as these

distribution

also

control

only the shape of the


variables.
the parametric

not
of

the

s-hape of

edges

in place

control

the

Second-level

and

shape

of Hermitc

auxiliary

the

10.6

Parametric

and

a tricubic solid.Thesevectors

faces,

but

also the

triple-mixed

partial

through the solid.


crnve

\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

Figure

curves

interior

Figure 10.6 illustrates someof the

on a solid. Noticethat
of the twist vectors
change

vectors

(10.42)

p(\302\273,v,w)

vectors change and control the

surfaces, so do they
control

solid tangent

vectors.

vectors

tangent
p,,\342\204\242,\"\342\204\242

252

. Solids
a variety of ways lo control the exterior
of a
provide
shape
Ihe corner points of a solid,we can create concave and
convex faces
at will by
the tangent and twist vectors.
For simple
manipulating
wc
can set equal
lo
shapes and constrained demands on interiorbehavior,
zero some or allof Ihemixed
mixed
vectors
defined
in
derivatives,
by
partial
the manner of the F-patch
for surfaces.
vectors

These

solid. By fixing

The Parameter
The

of a
\320\221\321\200\320\260\321\201\320\265

solid

space of a solid differsfrom that

parameter

course, becausewc
a set

have

now

decomposing

tricubic
to

difficult

solid

visualize

in model

behavior

coordinates.
\320\234',\320\263)

a curve

of

an additional

for

of four-dimensional

([(,!',

(u,\\>,u>,y),and

account

must

parametric variable. We

parameter spacesdefinedby
to curves

Contrary

into its parameter-space


less likely
and, therefore,

of

or surface,
(u.v.wjc),

and surfaces,

components is much more


to help us understand its

space.

to Ihe faces in exactly the same way


this
technique
bicubic patches. In fact, we can take parametric
slices
surfaces
On
which
of
the
variablesis
constant
and
one
then
generating
parametric
with
the
familiar bicubic decomposition.
proceed
We start with the unit cube. At
Figure 10.7shows an interesting
approach.
some
a unit
convenient
d from each of the six faces,we construct
distance
= 0
a
\317\207
in
to
the
This
is
as
face.
the
square
plane parallel
plane
designated
= 0 or \316\266
=
with
the
bicubic decompositionof
plane (or \321\203
0). Now we proceed

We can.

as

we

however, apply

did for

each of

the

insights,

faces.

six

from

We

a dynamic

might

some interesting effects, if

produce

not

display of Ihe resulting

computer-graphics

phenomena.

Continuity

and

Composite

Solids

consider the possible continuity


at the common
requirements
surface
of
two
10.8
the
solids.
details of the
boundary
joined
Figure
gives
conditions
across
of this face. We will have satisfied
Ihe interior
all required
external
surfaces of the
continuity conditions acrossthe adjoining
bounding
two solids p([(,v,w)and q(u,v,w).
we will ignore curvature continuity
Also,
and focus on \320\241parametric
this surface. To ensure C\"
across
continuity
we
must
the
on
Ihe commonsurface:
meet
condition
continuity,
following
We now

(10-43)

Piv\342\200\236.
qo.,

For G1 continuity,
through

each of

we must investigate
the
these points.The tangent

points must be collinear;

thus,

curves
vectors

of constant
of

the

\316\275
and

curves

w passing

at these

Figure

Parameter

10.7

Embedded

Surfaces

and

Curves

space of a

In

a Solid

parametric solid.

(10.44)

P'i\342\200\236,
A:q'(W

normals of the adjoiningsurfacesare

The surface

in

the

same

modify this condition so that

we

now

have

\321\200\320\270\321\205\321\200\320\270
\320\263>\321\200\320\263*,

the

then

10.3

tangent

coordinate

system

way,

a paramelric

system

which

on

the isoparametric

results when

surface supports a two-dimensional curvilinear


we can define curves. In a directly analogous
a Ihree-dimensional curvilinear coordinate
solid supports
we can define both curves and surfaces,the simplest
being
curves and surfaces. An isoparametric
for example.
curve,
on

which

we hold two

the

of

someconstantvalues.The

curve

a and

\316\275

(\320\256.46)

surface.

a parametric

that

found

We

are also normalto the

EMBEDDED IN A SOLID

SURFACES

AND

CURVES

indicated

vectors

if

direction
(10.45)

\317\201'\316\271\316\275.\316\274
\316\241\316\220..\342\200\236
qon,)
fl(qo,\302\267\302\273

If we

\342\226\240
253

b, where

a and

isoparametric surfaces p0V11,

three

tricubic

in Figure
p\342\200\236&11.

10.9

b are constants.
In the
and

p\342\200\236blr

variables fixed al
results when we assign \320\270

parametric
same

figure,

we find

two

254

Solids

\317\201(\",\317\205\317\201\317\204\317\205)

10.8

Figure

A parametric
For

isoparametric
surfaces.

Pa\342\204\242,
pnm\302\267.
pnrfiv,

conditions.

Continuity

cell is a subelementof the


example,

solid

in Figure 10.10, the six boundary surfacesare \321\200\320\2571.,\342\2


Such a cell is orthogonal if the curve
nets of the
defined

on

orthogonal

nets.

We define a noniso parametric


melric variable I.Thecurve c(f) is

modelspace
parameter
componentsof pointson
and

curve
shown

in

space

an

introducing

by

additional

para-

tricubic solid in both


mapped
The
10.11.
curvilinear vector
Figure
in a

are

curve

the

c(0

In model

by six

ar|d
p\342\200\236ve> p,(1/.

three families of isoparametricsurfacesare


parametric
curve

bounded

= u(0

+ v(f)

w(f)

(10.47)

space, the curve is expressedas


=
c&,y,z)

p[u(t),v(t)M0]

(10-48)

Curves and

Surfaces Embedded In

a Solid

Suifacei' = i\302\267,
p\342\200\236fc^

A distcwied

Figure

10.9

Isoparametric
in

Figure 10.10

cubical

a parametric

solid.

curves and

surfaces

solid.

Parametric and orthogonalcells.

\342\226\240
255

256

\342\226\240
Solids

\"

000
Parameter

The procedures

General

10.11

Figure

curve

in

are identical to those we

solid.

a parametric

embedded

curves

for

use

space

in

surfaces.

solid offers a three-dimensional curvilinear


the
additional option of defining nonisoparametric
system,
within
the solid. In Figure 10.12, a surface patch is mappedin both
the
cube of parameter space and in a corresponding
solid in model space.
a parametric
we have

Because
coordinate
surfaces

unit

The vector componentsof the

patch

in parameter

t(s.i) = u(s,f) +
In model

we

proceed

as wilh

variety of surfacesto
Beziersurfacelies
within

model

are
(10.49)

w(j,r)

space, the patch is expressedas


-

r(*.y.z)
Again

v(s,t)

space

model

p[u(s,t),v(s,t).w(sJ)]

curves in solidsand
in

the

a tricubic

(10-5\302\260)

We can choose a
What
solid.
parametric
happens when a
How do we map sucha surfacein
solid?
on

surfaces.

space?

A variety of complex solids is possibleif


or nonisoparametricboundaries,
often
called

we

permit
trimmed

them

to have

boundaries.

irregular
A specific

Generalized Notation Schemeand Higher-Dimension


Elements\342\226\240
257

000

\316\267

Parameter space

10.12

Figure

is shown

example
initially

in

either

in

in

a parametric

solid.

The solid has one of its cornersclippedand


surface. The surface is convenientlydefined
space or model space, dependingon the

10.13.

Figure

by a nonisoparametric

defined

surfaces

Nonisoparametric

parameter

modelingsituation.

10.4

SCHEME

NOTATION

GENERALIZED

AND HIGHER-DIMENSION ELEMENTS


To

each

introduce

notation

reduces

subject,

scheme.
the

vector

Incorporating
and

complexity

logicalstep is to

the preceding

introduce

awkwardness
a

more

extends to the representation of

not

sections useda traditionalalgebraic


and matrix notation significantly
of these formulations. The next

only

solids and higher-ordergeometricforms.

curves
The

scheme that
surfaces, but also to
convention
we use

summation

generalized

and

notation

258

\342\226\240
Solids

Parameter space

Figure 10.13

here (largelyattributablelo Timmer)


can extend to spacesof any dimension;
an

involving

We

will

vectorelementsof

ith component

vector elementsof

aihl2--->n
-/\342\200\236

ith
. .

The

,*,\342\200\236)

point

algebraic

coefficient

array

of

the

bjl)2__

in model

geometric

coefficient

array

hi

space (dependent

variables)

variable)

elements

algebraic

form is

of

oialil2...la

component
vector

the

polynomial form.

parametricvariable(independent

[(=
rrijk

II
lo polycubic interpolation
paramelric variables and
and others.

characterislics

it applies

of independent
number
can directly extend to any odd-ordered
the following
general symbol definitions:

\316\206\316\231\\)2--\316\212\342\200\236

p(X\\,Xl,.

boundary.

lhal

apply

\\h

these

has

arbitrary

a system

suggests

a trimmed

with

solid

parametric

the

transformation

matrix

\316\234

\320\222

Generalized Notation Scheme and

Elements

Higher-Dimension

- \342\226\240
=
\321\205,(\321\211,\320\2702...
.,\302\253\342\200\236)
\316\243 \316\243
\316\243^.^''1\"'\"'''

4\\=l
is the ith

J,

i e[l

where

and

m\\

p,

function.

Wc
;rth

omit

can

\342\226\240
\342\226\240
\"\"\"'\342\226\240')

(\316\214.51)

/\342\200\236=1

the summation

a dependent-variable

of

component

of m components, each definedby

isof

259
\342\226\240

this

\317\200-cubic

vector

parametric

polynomial

symbols.The geometric elementdescribed

component is of 3/rth degreeand has


arem dependent variables and \316\267
or parametric
4/T terms.
independent
we
as an example,
variables. Using Chebicubic Hermile patchin Ihrec-space
as
havem = 3 and;r= 2.and we rewrite
Equation
(10.51)
of each

the equation

and

order,

There

*,(\302\253,.^)

The

= 1

is
arbitrary m and \316\267

form for

geometric

(10-52)

ief1:3i

\316\243 \316\243\316\275'\"'1\"5''1

=1/2
/\316\271

4
\342\226\240
\342\226\240
\342\226\240

x&MuUi

\302\253\342\200\236)=
\316\243 \316\243\"'\316\243
= 1/2 = 1

:m]

FiSu\bm---i/ieV")

Fit(ui)Fb(ud

1,1=1

/l

(10.53)

are Hermtte basisfunctions.Forthe

The F-terms

/,= l,

F,(ur)= 2ii?-3u;+l

j,

2,

F2(\302\253f)

3,

= \320\270? 2u2r
\320\240\321\212{\320\270,)

/r =
/',

The
following

The

coefficients.

the

which

determined

the

four

product

preceding

of

a sequence
boundary.

values

Ft(ur) =

= 4,

\316\267

Table

+ 3u;
+ \316\267,

(10.54)

\320\270} uzr

more

to

at

evaluated
p\342\200\236

a summary of the

the

previously

information associatedwith

subscript.

The followingexamplesdemonstrate
Example I. n = 1,cubic

have

care to interpret. If we use the


a correct and unambiguousset of
the specific boundary on
i identifies
subscript
of basis functions is to operate.It alsoidentifies

10.1 is

of the/rth

Ff. we

F-terra.

construct

applied

operators

-2u\\

requires

we can

correctly,

geometric

\320\254
array

multisubscripted
rules

rth

Hermite

how

curves

Z>,:=[1),y,(1)=,y,(I)

to use

this table:

260

> Solids

Table 10.1 Subscriptinterpretation

J,

Boinidarv

J>1

\320\263\320\260
lor

Ope

= 0
\320\270,

= 1
\320\270,

= 0
\320\274,
\320\255\320\271,

u, = l
\320\255\320\270,

=
\317\200
2,

2.

Example

Hermite

bicubic

patches

\320\255

\320\254,\320\270
[1]
\320\255\302\2532

6,4J

= 3,
\320\273

3.

Example

\317\203\316\257\316\2572

\320\255\316\257
\321\215
\316\257

\342\226\240*,(0,1)
\320\255\320\271
\316\271\320\255\320\271,

Hermite

tricubic

solids

\320\260
\320\254\320\23724={1][1

,i(o,U),^ui

\320\255\320\270\320\260

\320\255

b,J44

\320\255\302\2533

\320\255\320\247-0.1\320\224)

*;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

[1

\320\231/413

,,(1\320\2200),^1\320\2501

\320\255\302\2531 \320\255\320\230;

The

braces

multiplication

imply

the

Finally,

is
coefficients

equation

except
for the
4

4
<4\316\275-\316\233=\316\243

It

is simple
and

\316\243'\"\316\243

10.5

and quite
B-Spline

INSTANCESAND
A direct
an existing

operators.

[1].

Iransformation

The operations do

not

from geometric to algebraic

/1 = 1/2=1

Bezier

the
separate
in the case of

and

indicate

\321\215\302\253,\321\215\302\253\320\267

/n

= ]

\321\202\320\243<\321\202*\320\271
\342\226\240,,nUiV---4,

''e[l:m]

(10.55)

straightforward to duplicate the aboveproceduresfor


basis geometry.

PARAMETERIZED

SOLIDS

iransformation
way of defining a new shape is as a simplelinear
one. Let us considera unit cube. There are several ways of

of

trans-

Instances

and

a new

it into

forming

three-dimensional
a

in

shapes

initial,

shape

transformation

Unit

produces

specific

cubes. Differential
cube or rectangular

simple scaling transformations create


of an original shape. Notice that

instances

the geometry but not the topology of a


this figure
original,
happen to be regular convexshapes.The
of its
is often called |he primitiveshape,and the result
affect

an

instance.

sphere

DilFerenLial

Unilorm

all

initial cube.

of how

examples
of

\342\226\240
261

scaling of

Equal

operators.

new different-size
solids. Each new

creates
of the

instance

transformalions

The

scaling

using

of rectangular

variety

particular

Figure 10.14shows
an unlimitedvariety
such

by

components

scalingcreates

solidis

shape

Solids

Parameterized

scaling

scaling

UniT cube

\320\222

C=^
UnlL cvlmdei

Figure10.14

Instances.

shape.
or

shape is
the shape in Figure

a primitive

Instancing

note

example,

not limited to such simpleprimitives;

10.15.We

can

transform

this

for

\316\226
section

by

scaling into an infinite number of instances.Bui,as


there
are certain built-in restrictions: The widths
of the
here,
specified
top
and bottom flanges will always be equal,and
the
thickness
of the section
be one-tenth
the height. And look at what
to the
will
always
happens
defined
the
bend
radii:
This
circular arcs
become
arcs.
is not a
by
They
elliptic
flaw
fatal
when instancing,but restricting
to three orthogonal
change
shape
coordinate scale factorslimits
the
a
of
system based
modeling
prospects

equal

or differential

solelyon these

transformations.

fully

Using

parameterized

shapes

removes

this limitation.

A few key dimensionsare usually

objects.If each

dimension

is an

sufficient

independent

to define

variable,

the shapes of simple


then we can producea

or
by specifying the key dimensions
then
use
these parametersto
Geometric-modeling
parameters.
algorithms
a more
mathematical
In Figure 10.16,we
compute
complete
representation.
the same
see
basic shape as that in Figure 10.15but with much
greater

particular

shape

representational

within

a class

of objects

power.

Figure

10.1S

instances

of a Z section.

Solids
Instancesand Parameterized

\342\226\240
263

It is not difficult
in Figure

section

and easily

to

check them: \321\217,


fc,

procedures

are

restricted

shape.

of data

the validity

verify

10.16, for

We can develop
(he \317\204\317\204-celled
structure

Parameterized

10.16

Figure

example, we can apply


/z, /, /

> 0,

Z>

<

and

10.17, but most

\316\226

restrictions

following

h >

variable

with

to a

the

> 2r,
\321\217
\321\201/,

parameterizedshapes
in Figure

specifyinga model.Forthe
4/.

topologies,

such

as

parameterized-shape

single topology.

A related scheme,calledgroup

technology,

came

into

use

in

concert

with

manufacturing
computer-aided
techniques to encourage
and
The
standardization in part
central thesis and main advantage
design
production.
of group technologyis that many manufactured
parts can be grouped into
of similar
where individual members are distinclassesor families
shapes,
certain

= numbei of
\320\273

i o,b
f

Figure

10.17

wall

cells
[hickness

tell dimensions
= length

Parameterized

shape of variable topology.

264 - Solids
a few

by

guished

parameters

(key dimensions). A

members
generic primitive, and individual
10.18 shows examplesof genericprimitives.

they

are

prevent

it.

in constructive
For

primitive
surfaces),

primitive

is a

shapes

Figure

example,

an envelope
of
instance into a boundary representation
(probably
to
more
evaluates it
Boolean
combinations
of instances, and forms

or

Parameterized-shape

are

They

of

instances.

usually combined to form more complexshapesas


solid geometry, although no theoretical
barriers
converts
we could envision a modeling system
that
any

complexshapes.
use.

single family

are not

instances

The

are

unquestionably

though

primitives,

large,

group-technology

are easy to validate and


the number of useful generic

models

concise;
however,
is limited. Modeling systems

built only on this

of

type

are highly specialized; a large repertoire of genericprimitives


representation
for them to have wide application.
is required

10.6

SWEEP

Sweep

SOLIDS

solid

representations

along

some

path.

are based on
The locus of

the notion of moving a curve,surface,


or
defines
points generated by this process

a new two- or three-dimensional


object.Sweep
solids are simple to understand and execute,
and

for

representations
they

offer

modeling

opportunities

developing new methods. The relatively constrainedgeometry


means that only a small data setisneeded specify
the
shape.
a particular
of
Procedures defining
and
the
flesh
out
type
sweep
develop full
of

to

shape

for

a sweep

point-

They are mathematicallyconciseand often form


shape representation.
the data and analytical framework for subsequentinterpretation
a variety
as
of analytical
surfaces or solids, whieh,in turn, may be used in boundary or
CSG representations.For more
in this area that includes
advanced
work
and
of
deformed
differential
volumes
analysis
modeling
using
swept
sweep
wise

equation
among

techniques, see the work of Blackmore,Leu, and

Shih

others.

SSS/SA

\320\243///\320\243/\320\233

ZZZZZ2

\320\243////\320\233

(a)

VmL\302\267

(c)

(b)

Figure

10.1B

Typical generic

primitives.

(1994).

265
Sweep Solids \342\226\240

planar shape alonga


a surface

generating

sweep or extrusionby

a translational

define

We

rotating

a planar

a spatial

rotation,

straight

and

the

a solid.

latter

curve

or

the former
plane of the curve,
We define a rotational sweep by
area
about an axis. Although this is

to the

normal

line

a planar

moving

finite
curve or shape with
the axis is usually in the

plane of the; figure\342\200\224at least for the


A
less-restrictive
common
applicatio-ns. somcwh.it
simplest
another
definition of a translation
surface is produced by sweeping one curve
along
curve
remains
it
is
a
the
to
itself
if
curve, where
parallel
plane curve.
generating
some
A general sweep is one whose generatingshape
follows
arbitrary
and
orientation.
Thus,
curved path, and which itself may
size,
shape,
change
an object to move and a path to
for solid modelingwe need two ingredients:
move it along. The sweeping object must be a curve, surface,or solid,and the
must be analytically definable.'Hie term generatordenotesthe
path
the
and
word
the term director denotes the path. Unfortunately,
sweepingobject,
the
is
or
is
used
as
a
noun, verh, adjective.
Fortunately,
meaning
sweep
and most

usually

the context.

from

clear

When does a
intuitive

sweep become so generalized


in

concept

generator

a director

shape,

at

generator

application?

we cannot go wrong

answer. However,
each

point

if we

path,

and rules

on the

director.

it is

that

is a

This

difficult

no longer

question

on the

insist

with

a useful,
no

presence of a

easy

controlling the orientationof

the

in geometric
because they
modeling
of
and
manufacturingobjectsand
engineering
accurately
represent
and in contemporary
modeling systems they prove to be practical
processes,
cons tant-ciOss-scetion
mechanical parts. We can
efficient
for
and
modeling
for
them to detect potential interference betweenparts of mechanisms;
use
\320\222
if the volume
a
A
th
a
collides
wi
fixed
swept
example,
object
moving
object
is in simulating
use
and analyzing materialby A intersects B. A related

Sweep shapes

arc

important

a large

removal

operations

and spherical

dass

in manufacturing;

for example,

geometry of the volumes swept by

in

studying

a hall-shaped

the

cylindrical
cutter
moving

raw
stock for a part,
the
predefined path intersectingand machining
from
the part.
removed
material
where the intersectionvolume
represents
The two principal
of sweep
Figure 10.19shows
examples
representations.

along a

types

of

are

trajectories

and

depicted\342\200\224translation

director curve is not necessarilyan

element

of

the

rotation.

Note

that

the

-swept object. Also note

sweep amounts to an algorithmto moveeach


a
the
to the
in
circular arc in a plane
along
perpendicular
generator
point
axis of rotation and with a radius defined as the perpendicular distance from
the point to the axis.In all cases, the shape of the object, or generator,being
more
does not change. Later we will investigate
general,
along
swept
that

the

nonlinearsweep

director

of a

representations.

rotational

266

\342\226\240
Solids

Generator

J Axis

surface

Figure

or

levofurion

id)

\316\234

10,19

Examples

of sweep

shapes.

There are
and
some
obvious
not-so-obvious
ways of creating
In
the translational
10.20a,
dimensionallynonhomogeneous
objects.
a
of
curve
a
surface
alsocreates
In
creating
sweep
dangling
edges.
a one10.20b, two two-dimensional regions are connected
Figure
In Figures 10.20c and 10.20d,creatingsolids
dimensional
structure.
several

Figure

two

by

using

or

invalid

solids

nonhomogeneous
passing

results

the

through

surface

results in dimensionally
generators
and
The
rotational sweep of a generator
ambiguities.
axis of rotation, as in Figures 10.20eand
10.20f,
produces

nonhomogeneous

for

most

singularity. These conditionsproduce


but sometimes the results are expected
applications,

or solid with a

unacceptable

and

Sweep

Solids

\342\226\240
267

\320\236

<\320\254)

\316\257\316\237

(\320\265)
\320\256.20

Figure

ff)

Djmensionally

nonhomogeneous

sweep

representations.

even desired.

This is true for modelingsystems


art,

freedom\342\200\224computer

this

and

figure

algorithms,

Translation

and

we

requiring

can

degrees

of

in
By following
them in the design of sweep-representation
be sure to create dimensionally

models.

Generalized

Sweeps

a
Lossing and Eshleman (1974)developed
powerful
representing

greater

criteria suggested

example.

incorporating

generating
homogeneous

for

constant-cross-section

objects.

Their

approach

technique

for

emphasizes

proce-

268 - Solids

dures

that

minimize

data

storage

requirements.

trajectory and generatororientation

curve

called

They use a
a position

six-component
and

direction

section of a mechanical
planar
is
an
axis
surface of a raw-stock
translated
along
part
model.This model is then trimmed by limiting planes to produce the
of the part. Figure 10.21 illustrates these features.
If the finished
boundingsurfaces
the
a
a
on
model
curved
nonlinear
would
followed
transformation
axis,
part
(PD) curve.A

describe

curve

closed

defining the cross


to form the outline

this representation.

an
almost
unlimited
Lossing and Eshlemanare ableto define
variety of
define
a PD
curve as a general form
swept solids using (heir technique.They
a cubic
Hermile
curve that continuously
of a six-component curve,usually
Specifies position and an associateddirection.The first three components
define
a continuous
parametric cubic equation of positionin threedimensional
Space. The second three components define a corresponding
cubic
continuous
for an associated direction vector.A
parametric
equation
a
variable
associates
the direction vector with
common
parametric
specific
defines
a curved and
on the curve. The pD curve in Figure
10.22
position
twisting coordinate system.
a local orthogonal
We
construct
system at pj as follows:Computep;',the
vector.
From
and
d, (remember,
d, is given by another parametric
tangent
p\"
unit vectors l,m, and n:
equation),we find the orthogonal

Limil

Figure

10.21

Outline

Diane

surface of a

constant-cross-section solid.

SweepSolids

\342\226\240
269

Difeclion

d,

associated wild ^

curve

PD

Trans
,

!..___!_

m =
ld'

n=

\320\223\320\276
rmed

\342\200\236
orlhogonal

\" \316\241\"'

on curve

x m

10.22 Characteristics

Figure

axis

aipoinlp,

of a

PD

curve.

I =

ip'/i

d, *

m =

Id,

n =

The axes I
curve. A

tan gent

as the

or

plane in which d, is located.Thisreference


vector and d, changecontinuously
the PD
along

a PD curve to producegeneralized
a constant-cross-section part

twists. Figure 10.24illustrateshow to


a common
PD curve through
value
elements.

(he

with

cross
complex

with

an

multiple

section.
cross

Losing

and

surfaces.

outline
that

is not

only

curved

Figure

but also

(he two curves comprising a


of the parametric variable and how to
Eshleman
also point out that two or more
coordinate

be used with one PD curve (for example, a pipe or


outer cross-section curve). Multiple cross sections
can be used to generate a morecomplex
PD curves
or variable
Positive and negative generator curves
are
to create
used

curves can

cross-section

an

generator.

We can use
10.23 illustrates

tube

xm

PD curve definescontinuoustransformationsfor pointson

curve

extract

p'/l

a direction

\316\267
define

changes

plane

outline

and

(10.56)

Pi1

\317\207

inner

sections

and

with

high variability

in the

axial direction.Multiple

PD

270

- Solids

Swepi

solid

Reference dneciion

Consiam
Cfoss-secriori
curve

(genefarc-f

PD curve

Figure

10.23

constant-cross-section

curves and

curves and associatedgeneratorcurves


directed

normals

and

can be

part

that

twists.

create,

in

effect,

half-spaces

used to add or subtract \"material'\"

lo

with

a raw-

stock model. Some of these modelingprocedures


on the user to
must
depend
verify model validity.
A six-component
curve trajectory
for controlling the movement of a
curve
has
generator
obvious
najural extensions. For example, three more
be added
to the
to yield scale factors to apply
curve,
components
may
generator
and
it
or
with
the
it,
differentially
contracting
coordinating
expanding
This
motions
the
PD
introduces
curve.
nonrigid
imposed by
sweep
still in its formative stages, which we will not discuss
here.
representations, a field
Choi and Lee (1990) describesweep-modeling
schemes
based
on
conventional engineering
They address parallel and rotational
drawing
techniques.
and show that a
and
synchronized
sweeping,spincdsweeping,
sweeping,

Parametric

Figure

variable

10.24

Components

of a

PD

curve.

Sweep

of surface

variety

be used

can
geometry

be defined by

shapes can

control curves,with appropriate


and Stephenson(1990)show
to find

envelope

\342\226\240
271

of section

and

rules. Martin
blending
from differential
surfaces
of a solid body.

and

transformation
how

a sel

specifying

Solids

theory

the volumes swept out

the

by

Rotational 5weeps

One

a plane
of revolution is by revolving
curve
around an axis line in its plane (see Figure 10.25). The plane curveis called
the
curve,
and. in its various positions around the axis,it creates
profile
meridians.The
circles
created
by each point on this curve are calledparallels.
the
let
the
axis
For
be the axis of rotation and definethe
\316\266
case, we
simplest
curve
Ihe surface of revolution has
Then
\316\266
\321\200(\320\274)
x(u) + z(r\316\271)in the \317\207,
plane.
way

to

generate

a surface

the equation

\317\201(\316\272,\316\270)
x(u)

Of course,
circular arc,and

the profile curve might

cos
be

+ x(u)
\316\270

a general

sin

+
\316\270
z{u)

curve, elliptic

soon.

Figure

10.2S

Surface of

revolution.

(10.57)

segment,

272

Solids

shown
general surface of revolution, we considerthe situation
The
are
a
cubic
Hermite
curve
10.26.
or
initial
elements
Figure
given
a defining
the direction of
defined by its geometric coefficients,a unit vector

a more

For

in

the axisof revolution,

passes,

and

surface.

We

surface

in

and

the

the

b locating
a point through which the
the curve rotates to sweep out

vector

axis

the

which

\317\210
through

a
a bicubic Hermite patch that describes
such
and
elements. First, we must determinethe scalars
k0
/\321\201,
r(( and r,. We do this by solving the following sets of vector

like to find

would
terms

angle

of these

vectors

equations:
\320\252
+ kpa

+To-p0

where

a-r0-0

where

(10.58)

and
=
b +/c,a+11!
pi

The condition asserted


for a and r^
similarly

by

\302\267-

r0

From Equation (10.58),


we

a and

0 makes

r0

\302\267=

r,

mutually

=
r0
po
Equation

(10.59), we

(10.59)
perpendicular;

obtain

\320\233\342\200\236=\320\260.(\321\2000-\320\254)

From

\316\234

\320\254

(10.60)
(10.61)

obtain

Ma-(pi-b)
r,

Figure 10.26

p!

A:,a

(10\302\26762)

- b

Another surfaceof revolution.

(10.63)

Solids

Sweep

Now

can

we

proceed

Clearly,p'0= b +
and \320\263',
(see
The

tangents

respectively
vectors at

of

to

these points.The unit


produces

arc al p0 and p'0 are denotedby

thesevectorslo

in the

vector

directionof

r(,

and

vector

as
the
\320\263\302\243

sum

in the

direction

of

one

arithmetic,

of the

t'0,

tangent

vector product

of

magnitude

(10.64)

of two
We

t0.

components, one in the

begin

by observing

that the

elementary

r0. Applying

we obtain

= I rn
\320\223\320\277

\320\223(1

sin
lr0l

or,

final

the

\317\207
a I

the vector

magnitude of r0 equals the


and
trigonometry

direction

find

to and

r'0

r(|Xa

lr0

can define

p',.

tu, so that

t0

We

corner points p'0 and


we must determine

= b +
+ r\\. Thus,
\320\272\320\263\320\260
\317\201\316\212

We will have to determine

and
a
\320\223\321\206

two

other

the

find

r'0 and

10.27).
lo the circular

Figure

unit

faa

\342\226\240
273

lr0

\317\210

\317\207
al

(10.65)

simplified,

r0=

r0cos\\ii

. r0 \317\207
a

-smf

lr0l

lr0x

Figure 10.27
vectors

of

al

Circumferentialtangent

a surface

of revolution.

(10.66)

274

. Solids
find

We

in a

r,

similar way:
\321\205

\320\263,\320\260
r, = r, cos \317\210+\316\231\317\204, sin
xal

\317\210

(10-67)

r,

We
components

in

(he unit tangent vector to

also define

can

of

directions

the

tfl

and

to =

the

as

sum

of two

r0:

cos
t\342\200\236
\317\210-\316\263--sin

(10.68)

\317\210

lr0l

or
\317\207
a
\316\223\316\267
= \342\200\224 \320\263
cos
r\342\200\236
\317\207
al
lr(l

know

We

that t, =

and

t0

.
~r0 sm

\317\210
\342\226\240i\"oJ

(10.69)

= t',.

tangent vectors. Recall how we


in Chapter 3 (Section 3.8).We
arcs
vectors
developed tangent
used
a point
at the two endlines
p2 lying on the intersection of the tangent
of
We
the
arc.
We
the
now.
find
the
will
do
same
points
p2 by computing
of the
intersection
two straight lines p0 + /nto and po + iiit0. By symmetry, we see
We must

now find

t\\

\317\210

the

of these

magnitudes

for circular

the

= -\321\202.
\316\267
Furthermore,

that

po +

\342\204\242t0=pO-mto

and

Ipo-ppl

m =

itn

From

these,

+ t;j

we obtain
Ipo-pol

+
p \320\273P\302\273

Using equations from

Section 3.8 with


1

pu=4lr0l

substitutions,

appropriate

- cos
sin

Ito + toi

(\317\210/2)

(\317\210/2)

p2-po

Ip2

Pol

we find

(10.70)

and
1

- cos

(\317\210/2)

po-p;

41\320\2630
\321\200\320\276\",=

sin

lp

pz'

(10.71)

\320\276

and
\317\201',\316\214
pjl, at the other end of the
the
have changed
nomenclature: We now denote
patch.
point
p'o as p01,and, of course,p0 of the initial curve is \317\201^on the patch. It should
help to keep in mind that we are creating a surface patch by sweeping a curve
an arc
around
an axis.
through

We use this
Notice

same procedure to

(\317\210/2)

that

we

find

275
Controlled Deformation Solids \342\226\240

(he tangent

we compute

Next,

rotating pi!through

the

vector p^,

angle

which

is,

of

the result

course,

we sec that

a. First

around
\317\210

=
lp;(il

of

Ip'ol (see

vectors have identical projections on the unit vector


a,
\302\267
\302\267
=
a
a.
We
use
so pm
the symmetry of the construction and realizethat the
\316\222
\317\201
of \321\200\321\210\"
onto
the unit vector in the direction of r'0 has
the same
projection
of r0. Now
magnitude
as the projection
of po onto the unit
vector
in the direction
and
to define
as
the
sum
a
we are ready
of
its
t'0
p^
along
components
Figure

Also,

10.28).

both

(pS.a)a +

p;,=
find

We

the

vector

tangent

required elementsof

10.7

vectors.

Hint'.

surfaces

of

What

other end \317\201


ft in

the

same

way. All

of the

patch
except the twist
do the \320\260\320\270\321\205\320\250\320\260\321\202\321\203
curves
on
have
the interioT of the

with

are

\320\222
matrix

the

effect

revolution

at the

(10.72)

(pS.^)

= 0

\317\201\"\"'(\302\253,
w)

determined

or with

p\"\"'

(u,

w)

* 0?

CONTROLLED DEFORMATION SOLIDS


We

can

thereby
of
deformation
the

use

new

creating
the

parametric

to deform shapes in a controlledway,


a
To
a curve \321\200(\320\274),
deform
we
define
shapes.
between
by r(i) (see Figure 10.29),anddefinea relationship
transformations

nonlinear
praxis

variables

Figure

10.28

\320\270
and

t;

Axial tangent

vectors of a surface of

revolution.

276 - Solids

Axis

10.29

Figure

deformation.

t=t(u)

Then Ihe

deformed curveis

(10.73)

p'= r[t(u)}+Pim
where

1 =

r1, m=

\317\207
\316\266
1. and

unit

\316\266
is (he

vector

in the

\316\266
direction.

basis deformation
way lo deform a shape is by a simple
(sec
Figure
We
the
in
the
m and \316\267
initial
coordinate
define
with
system
shape
10.30).
unit
hasis
Wc
Ihe
vectors.
deformed
wilh
lo a
orthogonal
map
shape
respeel
is no longer
and express il as
transformed
basis m' and n', which
orthogonal,
Another

p',

m(m'

+ nn'

(10.74)

Axial Deformations

of Ihe
Axial deformations are a generalization

methods

discussed

in (he

preceding
shaping operations, such as scaling,
technique
reference
lo some convenientaxisin
and
bending,
twisting,
stretching,
hy
which
wc induce
the desired deformations subsequently lo be passedon lo
the
model.
and Jancene (1994) have worked in this area,
Lazarus,
Coquillarl,
and Bechmann (1991),Welch
earlier
work
Borrel
and
Wilkin
on
drawing
by
Barr
and
Their
lo
ihe
others.
axial-deformalion
approach
(1992),
(1984),
makes
axis
use of an arbitrary, but convenient,
Ihree-dimensional
technique
as
Ihe
basis
for
models.
model
or
If
ihe
existing
(straight
deforming
curved)
itself is representedby a sel of control points, as is the casefor Bezierand B-

sections.

This

controls

Solids

Deformation

Controlled

n/

\342\226\240
277

)p;

Pi

\316\271

^-

\302\273.
m

Deformed shape

Inifial shape

Figure 10.30

Spline

and

curves

these points.

Each

within

located

surfaces,

then

control

point

a local

Simple basis deformation.

in

the

are simply passed on to


a point on the axis and
defined
at that point. This may he
of Lossing and Eshlcman (1974),or a

axis deformations
is \"attached\"
to

coordinate

the Frenel frame,usedas

*\342\226\240
\317\207

system

work

the
axis
Next,
proposed by Bishop (1975)orKlok(1986).
to achieve the desired resultsin the model.
If the axis itself is
defined hy control
then the points may he movedto producethe axis
points,
transformed
model control points are computedand
deformation.
Finally,
the
used
and
to represent
deformed model.
compute

such

frame

as that

is deformed

Bfvariate Deformation
We

define

a deformed

create

can

this

of

Deformations

parametric
Figure 10.31). We
Then

or B-Spline

define

a bivariate

we map

the curve
V,

TVivariate

in an embeddingspace.
object. For example,we

curve c(r)and emhedit


the
domain
of the parametric
plane defining
Bezier.

a Hcrmite,

\316\266
\321\203,
space.

space

shape by defining it
passed on to the

are

surface,

in a

normalized

variables

p(u. w) in the

ti,w

\320\273-,
\321\203
plane

p[u(t),w(t)]

or

(see
in

.\316\275,

(\320\256.75)

Deformation

Similarly,

in three

dimensions we can definea

curve

t(i)

and

embed

normalized parametric space a, v, w (see Figure 10.32). We define a


and map the curve accordingto
solid
p(u,v,w)

it in a
trivari-

ale

p\302\243 p[\"(0.

v(0\302\267w(0J

(10.76)

278

- Solids

(a) in

parameter

space

p{u,w)

(b) in

2D

p{u,v,w)

in 3D
\320\230

Figure

1031

deformed bivariate

Shapes via

embedding spaces.

Figure

10.32

Shapes via

deformed

univariate

and

that

points

(1992)

a set of local
and curves. Their

leaves

describe

a method

process

for sculpting B-Splinesurfaces

geometric constraints invariant,such

method seeksto achievea

energy function.They demonstrate


to
a fixed location;a parametric
point
maintain fixed contours in the world
a global

This

surfaces.

deform

279
\342\226\240

spaces.

embedding

Using an analogous process we can embedand


is sometimes called volumedeformation.

DeformableSurfaces
Celniker Welch

Solids

Deformation

Controlled

embedded

coordinate

as

shape

to constrain

how
curve

fair

system;

interpolated

by minimizing

any parametric
in the surface to
and how to

on the surface.
and Battels (1993),whose
Relatedwork in
direct
method
allows
of geometric properties and
manipulation
surface
to control
shape, rather than to control verticesor deformation
relationships
see Battels and Bcatty (1989), Clark (1976),
Also
lattices.
Coquillart
(1990),
and Witkin (1991), Kramer (1991),Light
and
Gossard
Welch,
Gleicher,
and
Barr
Serano and Gossard (1987), and Witkin,
Fleischer
(1987),
(1982),
constrain

surface

among others.

normals

along a parametric curve


this
area
includes
Fowler

This

page

intentionally

left

blank

MODEL
CONSTRUCTION
COMPLEX

In

models.

The

completed

dimensional

must

solid,
and

connectivity

we

techniques

model

simple shapes to construct complex


a
produce valid models. For example,
be dimensiDnally
homogeneous. If it is a threehave
no dangling
edges or surfaces. Model
are topological
properties, so consideration of
of the modeling process.
part
to representing
complex models. One approach

we

modeling,

geometric

it

must

homogeneity

combine
must

use

topologyis also important


There are
approaches
uses aii implicitconstructiontechnique called
and the other uses an explicitboundary-based
(CSG),
an

two

constructive
technique

solid

geometry

called

CSG scheme defines complex solidsas Boolean


(b-rep).Tht
The
is sometimes
solids.
combinationsof
complete
representation
referred to as a CSGtree,becauseil uses binary tree whose terminal nodes
are so-called regularized
arc simple solids
whose
nonterminal
nodes
structure
of a b-rep is a graph
Boolean combiningoperations. da ta
and surfaces that comprise the boundary ofa solid.
the
curves
the basic elements of a geometric
we discussed
In
early
chapters,
and
model: parametric
curves, surfaces, and solids.Appendix
implicit
discuss the geometric transformations of these
and
Mortenson
(1995)
In
the previous
chapter we discussed how to generate simplesolid

boundaryrepresentation

simpler

and

The

associating

the

\320\241

The

elements.

shapes

sweeps, and deformations.


we
build
on which
the complexmodelsthat
Here we will discuss
topology,
graphs,
schemes
models, boundary representations, and space-partitioning

using

All

are

of

the

Boolean
of

instances

of

parameterized

shapes,

form the foundation


of this chapter.
subject

these

complex

solid

models.

281

282
11.1

Construction

Model

\342\226\240
Complex

TOPOLOGY OF MODELS

Complexmodels

require

attention

considerable

understand how simpleelementsare


and how its topology is preservedwhen

connected
subjected

topology. We must
the complex model
lo form
lo a variety of
to their

metrical, but concern such things as


properties
and
The properties of geometric shapes
dimensional
connectivity
continuity.
invariant
that
are
transformations
that stretch, bend, twist, or
under
arc
a figure,
without
compress
tearing, puncturing, or inducing self-intersection,
an
or
closed
curve
The
of
or
properties.
being
topological
properly
open
surface
is a topological
invariant.
One-side dness and two-sidedncssare lopoof surfaces.
invariant
Lines, parabolas, and the branches
properties
logically
of a hyperbolabelongto the class of topologically
figures called
equivalent
We
arcs.
will
these
and
other
address
simple
topics here, includingthe
and
closedcurved
paths, piecewise flat surfaces,
surfaces.
topology of closed
in geometric
The
of a closed path is relatedto problems
topology
we will develop
the closed-path theorem, review the effect of
modeling,so
of curves and planes, present the Jordan
curve
deformations
on
the
topology
define
of
total
curvature.
and
and
the concept
Hubert
Cohn-Vossen
theorem,
and
and
Disessa
Alexandrolf
Abclson
wrote
(1981)
(1961),
(1952),
are not

transformations.
Topological

thoroughly

and

imaginatively

for

sources
recommended.

Abelson

fundamental

this subject. These authors are the


primary
is
and reference lo Iheir work
highly
in particular, offer unique insightsinto
Disessa,
relevant
lo geomelric modeling.
principles
on

this discussion,
and

topological

The Topologyof a ClosedPath


is an
theorem
slates: The lolal turning along any closed
palh
rotation
of
is
Ihe
number
the
360\302\260.
This
denoted
of
W\302\253,
integer,
integer multiple
is
an
of
and
is
of
the
It
intrinsic
the
where
palh.
property
palh
independent
starts or how it is oriented. Figure11.1
shows
several
examples,
including
palh
on
a
lo
For
closed
surface,
plane
always
loops.
palhs
simple
polygons
appear
in
Ihe
have total turning
on
direction
which
Ihe
lo
\302\261360\302\260,
path
equal
depending
and
curved
closed
is traversed.Self-intersectingpolygons
paths, however,
are two classes of paths:
There
always have lolal turning different from \302\261360\302\260.
arc
star polygons.
and
simple
Sell-intersecting
self-intersecting
polygons
theorem stales that the total turning in a non-selfThe simple-closed-path
or counter
clock wise). In olher
(clockwise
intersecling closed path is \302\261360\302\260
iVK of
words, Ihe rotationnumber
any simple closed path is \302\2611,Studying
of Ihis
of
some
closed
palhs demonstratesthe validity
examples
simple
The

theorem,

closed-path

which,

as

simple

and obvious

as

it

appears,

happens

lo be

difficult to

283
Topologyof Models \342\226\240

(b)

(d)

'
(f)

(e)

Figure 11.1

prove
two

the

theorem

The

rigorously.

properties

of a

closed

Rotation number.

implies

that

path\342\200\224the

there is a

turning

and

relationship between
the

crossings

or self-

intersection points.

are
that can be deformed into one another
closed
paths
arc topologically equivalent, Total turning is a topological
invariant for
arc
closed
topologically
paths, and any two closed paths that
equivalent must
have
the same total turning.The converse is also true:If two
paths
have
the same total turning, they can be deformed
into
one
another.
This was
W. \320\241
first proved in 1936 by H. Whitney
and
who
observed
that
Graustein,
Curves

curves

defining

that

two closed
they

have

coplanar paths can be deformed

the

same

total turning.

into

one

another

if. and

only il.

2B4

Model

\342\226\240
Complex

Construction

The simple-closed-pa

is more

theorem

th

than the

comprehensive

closed-

The simplemore
path theorem,and its proofis
complicated.
is
a
information.
Since
link between local
global
closed-path theorem
is no direct
crossing points on a curve are nonlocal phenomena,
way
for a traversal algorithm
around
is, an algorithm
proceeding
stepwise
the path) to detect crossing
To do this requires looking at the entire
point.
curve at once.
it is possible
to determine
total turning by local
computation, this theorem relates total turning to the existence of
considerably

and

there

(that

However,

and

a powerful

crossing points,

as

in the

contained

information

defined

turning

capability

exercise demonstratesthe

A simple

We

theorem.

we

path,

set of written instructions,carefully


as positive).If we complete
clockwise
(taking
the

total

accumulating

the

circuit

does not

turning

perhaps

total

our

on

and find

equal

\302\261360\302\260,

that somewhere
the path must have at least one crossing
we do not know where the crossingpoi\302\273ts are and we were

assert

can

Although

point.

and global

can walk arounda closed

by a

returning to the startingpoint that


then

local

between

link

observe them while


we can determinethat one

the theorem
must
exist.
Thus, the
crossing points
a
is an example
of powerful principle: It is often
theorem
simple-closed-path
local information.
possibleto determine
by accumulating
global
properties
This theoremis useful
in determining
the validity of a model.
unable to

Deformation of

and

Curves

the

traversing

or

path,

by applying

more

Planes

theorems
proofs of the simple-closed-path theoremand related
turn
our attention
we
to the
topology of simple closed curves,
of deformations
show
of curves and planes. We must
that, given a
consequences
simple closed path (a path with no crossing points), the total turning around
the path is equal to \302\261360\302\260.There are many paths for which this result is

To develop
about
the

square.This suggests a strategy for proving the


theorem by
a square.
that any simple closed path can be deformed
into
showing
is
Since we already know that
under
invariant
we
tolal
deformations,
turning
a
can show
that
has
same
as
the
total
closed
\320\260\321\203\320\273\321\203
turning
simple
path
around the square.This reduces
the direction
square\342\200\224\302\261360\302\260\342\200\224depending on
obvious;

the

is the

simplest

the problemof proving

simpleclosed

curve

Given

further:

stretched,
as

itself

deformed

closed
\320\260\321\203\320\273\321\203
simple

to showing that any


In fact, we can go a bit
can the path itself be

theorem

simple-closed-path

into a square.
not only
path,

a square,

Deformationsof
playye

be

but the entire plane can be deformed,


so that the path becomes a square.We can even consider
into a curved surface.
being deformed
into

deformed

the
can

is an

paths

ayyd

playyes

are

closely

related.

Imagiyye

ayyd

pulled,

the

playye

that

kind
of slretchiyyg
arbitrarily stretchable rubber sheet.\320\220\321\203\320\273\321\203

the

or

Topology of
that

shrinking

we draw

does not

a closed

that

remain

such
deformation

rubber

the

sheet

deformation.

then any

plane,

If

deformation of

Figure 11.2).Next,
stretchedand distorted must
in the initial plane. Clearly, straight-linesegments
curve
under
thai
are
(he
of
the
deformation.
legitimate
Many
changes
and
cannot
of curves,
such as the overlap phenomenon, do

the plane resultsin


imagine

result in cutting or tearing is a valid

path on

Models \342\226\240
285

the

flat

of the

a deformation

path (see

sheet is arbitrarily

rubber

but

may

for

not

a deformation
that
with
in the plane. We observe
crossing
points are
neither created nor destroyedduring
deformation.
plane
are more conservative than path deformations.
Plane
Every
deformations
is a path deformation,but a path deformation
that
plane deformation
introduces
crossovers
to be a plane deformation.Themathematical
is loo violent
a rubber
term
while
for a path deformation
sheet
is regular homotopy,
make
observation
to
deformation
is an ambient
An
here
is that
isotropy,
important
a square,
this
and, moreover,
any simple closed path can be deformedinto
can be done with a conservative
that is, a plane deformation.
deformation;
ean
theorem for simple closed
In summary,
we
stale
the deformation
curvesasfollows:Forany simple closed eurve in Ihe plane, there is a rubber
sheetdeformation
that reduces the curve to a square.
of the plane
happen

V \316\224 \\-

\\

\\V

\\
\\

\\

\\

\\

!AXt

O^-ViVr^.

\320\233\320\224?\321\221^\321\206^\321\213-

=\320\250\320\266

\320\272.

^
j
-\342\226\240*
0*\302\267
4/\302\267
**
\317\207_

Figure 11.2

Rubber sheet deformation.

286

Model

\342\226\240
Complex

Construction

Curve Theorem

The Jordan

Another resultof
the deformation

the

is

simple

and

and

an outside.

an inside

having

deformations

must

in the

curve

closed

inside

closed paths
simple
Jordan
curve theorem,
of

topology

theorem

the

that also followsfrom


which states: Any

plane divides the plane into exactly two regions,an


Such properties as dividing the plane into two regions

and an outsidearc

under

invariant

rubber

sheet

deformed curve has these properties,


then
plane.
the original nondeformed curve.
of

If the

the

The Jordan
curves can be

theorem

curve

complex

arbitrarily

is not true if

we

a simple
example,

closed

torus into
Not

two

curves

consider

curve

distinct

only docs

probably
and

can be

loo

obvious, but simple closed


We note that the theorem

seems
convoluted.

on surfaces

so

other than the plane.For

drawn on a torus,

yet

it may

not divide

the

regions.

a closed curve have an inside and

outside,

but

the

inside

of a circle in
dcformable, in the rubber sheetsense,into the interior
the plane. A region
that
can be deformed in this way is a topological disk.A
a
disk
has no holes or isolated points in it. In general,
deforming
topological
the
rubber sheet region does not require
a
of
flat
the
region
part
keeping
11.3 shows
a
is, the region may be planar or nonplanar).
(that
Figure
plane
the
total
curve deformed into a rectilinear polygon,wherewe see that
turning
or angles.
turns
is reduced to summing clockwiseand counterclockwise
90\302\260

itself is

Figure 11.3

a curve

by

Approximating

a rectilinear
a grid.
\321\215\320\277

path

of Models

Topology

Angle

\342\226\240
287

Excess

or simply excess, is by
mathematicians call angleexcess,
that
some
reference
turning
pointer undergoes whencarriedaround
a
a closed
Excess
rather
is
path.
general concept;it is an angle associated
a
on
a curved
surface.
We can restate
the closed-path
with
closed path
theorem so
that
surfaces:
it holds for simple closed paths on arbitrary
The concept
definition

the

74
where

T~- total turning


A

trip

along

this path

associated

excess

angle

might start at the

equator along a
equator to the starling point.Noiice
be transported parallello itself
to the

return

then

the

that

fixed

Angle

lo

the

is the

closed path on a

continue

and

reference

pointer

surface

in which

same no matterwhere
path,
we
is
find
that
the following
excess
additive,and
the excess

the path.

along

with a

equator, proceedlo the

meridian

different

relative

For

(11.1)

= excess
along the path and \316\225

Figure 11.4illustratesthe

sphere.

\302\243=360\302\260

the

trip

pole,

along the
must always

the path lies.


begins.

theorems

apply.

the excess of the


1. If a triangle is subdivided into two sublriangles,
then
of
the
is
the
sum
the
excesses
of
triangle
pieces.
2. The excessof any polygon
is the sum of the areas of the
in any
pieces

polygonal

subdivision.

Figure 11.4 Angle excessassociated


with
a closed
path on a sphere.

288

Model

\342\226\240
Complex

Construction

topological disk on an arbitrary


the boundary is equal lo the total curvature

3. For any

the

surface,

of the

excess

angle

around

interior.

Total Curvature and Curvature Density


that

show

can

We

the total

curvature

for

sphere
for any

is

and
4\317\200

the

angle

excess is

proportional lo the area,or E- kA. Thus,


polygon on a sphere of radius
k- 1/r2 (if \302\243ismeasured
where
in radians).
For a simple closed path
i\\ E-K
of a sphere, total turning in radians
\320\276\320\275
the surface
is expressed
as T-2n-A!r.
A
the
area
is
enclosed
and
r
where
is the radius of the sphere.
by ibe path
for an arbitrary surface, \320\272
at any point
In general,
is measurement
taken
on the surface.Thevalue of \320\272
at a
area
of a small
is
the
excess
unit
point
per
of
the
of the
surface
\320\272
the
We
call
curvature
containing
density
patch
point.
at
a
We
use
the
surface
term density because \320\272
is \"something
point.
per unit
area\" and the term curvature
rather
than
excess density because,
density
is measured
the surface is at
us how curved
although \320\272
using excess, it tells
To
the
a
small
of
an
surface
by a small
approximate
point.
patch
arbitrary
of
some
surface
we
know
well, we observe that within a small
very
patch

enougharea,

almost

We can

sphere.

choose

will

We

as

area

unit

surface

any

will

appear

make an even better approximation

small

in

the

so

on\342\200\224isvery

the

the approximating

planar.
by

using

piece of a

a small

sphere to have the same excessper

not change
does
patch of a surface. Therefore,if \320\272
radically
then all of the geometry there\342\200\224angles,
and
total
turning,
close
to the geometry on a sphere whoseradius
is determined

patch,

smaller the radius of the approximatingsphere(that


is. the
the curvature density), the more curvedis the surface.
A football, for
greater
is
not
curved
in
at the pointed
the
\320\272
is
small
But
there.
very
middle;
example,
the
football
is
curved
much
Fromthe
as
as
a
of
radius.
small
ends,
sphere
the
to
\320\272
middle
increases.
pointed ends,
gradually
Curvature
that
is measured
in the vicinity of a
density is a local quantity
an
A
on
surface.
of
is called
version
curvature
arbitrary
density
global
point
We start with a region of an arbitrary
divide
it
and
total curvature.
surface
For
sum
the
each polygon, we computethe excess
and
into
pieces.
polygonal
excesses for all the pieces.The resultisthe total curvature
of the
Of
\320\232
region.
for this definition
to make sense, we must
course, in order
be sure that if we
in two
subdivide a regioninto polygons
different
ways, the sum of the excess
by

of

\320\272

the

1/r2. The

is the

pieces

If the initial
\320\232
is

precisely

Therefore./i
true

for any

same

region is
equal

to

in

both

cases.

itself a polygon,the additivity


the excess around the boundary

theorem

implies
of

the

polygon.

kind of excessover the region, with the condition that


region on the surface, not just for polygons.
is a

that
it

is

Topology

Spheres,

Models

\342\226\240
289

Handles

and

Tori,

of

Let us compute\320\232
for
a region
that has no boundary at all\342\200\224the sphere.
We
a
divide
and
southern
sphere into two pieces; for example,the northern
Each of them is hounded by the equator,
we know has
which
hemispheres.
excess 2\317\200,yielding
4\317\200
for
the total curvature
of the spheres. Observethat the
A:
of
the
curvature
a
on
radius, but the total curvature
density
sphere
depends
\320\232
same for all Spheres.
is the
It turns out that the total curvature
\320\232
is a topological
for closed
invariant
the total curvature is unchanged by
surfaces. For surfaceswith a boundary,
do not affect the vicinity
that
of the
of the surface.
deformations
boundary
are not asserting
We
that a torus is flat
Any torus has zero totalcurvature.
a cylinder
or a plane, which would imply
the curvature
like
that
density is
zero everywhere, instead,we observe
that
as
much
torus
has
any
just
negative

curvature.

as positive

curvature

We now

and tori.A

know the totalcurvature


is not

sphere

the same

topologically

can be describedasa spherewith

The torus

kinds

two

of

of closed

as a torus, yet

a handle

attached.

surfaces, spheres
they

are

related.

The process

of

is a practical way of making new


handle attaching,though
not
it is easy to keep track of how total
closedsurfacesfromold
because
curvature
Let
in
the
us
a little more.
changes
process.
explore this process
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
a deformation,

ones

handle is topologically cylinder,

but

flared
topologically

to blend

out

a torus

with

(see

the

Figure

flat

regions

11.5). In other

sphere- 2disks

Next,

sphere

we

has

compute
- 4\317\200;
\320\232
the

the total
disks

the edges of the cylinder must


around the disks. The resultis

be

words.

handle

= torus

(11\302\2672)

The
curvature on each sideof the equation.
- 0. The torus, as we
flat and thus have \320\232

were

Figure11.S

Sphere

with

a handle.

290

Model

\342\226\240
Complex

Construction
- 0. Then, for the
also has \320\232
equation lo be balanced,

just asserted,

the

= -4\317\200.
curvature
a handle
of
this process
With
flattening, culling, and gluing,we can attach
and we see that it
lo any surface.We now know the curvature
in
the
handle,
total
curvature
find
that
the
total curvature
decreases
the
4\317\200.
We
always
by
or
of a two-holed torus is the same as that of a torus with a handle attached
handle

total

have

must

a sphere with two

handles attached.Thisis expressedas


- 4\317\200
- 4\317\200
= 4\317\200
= -4\317\200
\342\200\242Ki-hoied
\321\216\342\204\242.

for a

In general,
handles

surface

attached,

is given

about

fact

is

of

number

handles

equivalent

six

with

see

from

Equation

solid
also

of

models
as

closed

of

an analytic

it as

(11.4) thai

shown,

Figure

11.6a

in
is

about the object in Figure


then count handles.)

the total curvature of any

closed

space is an

is immediately

surfaces

characteristic

of topological

\321\215\320\263
determinant

<a|
Figure

is: Any closed surface


to a sphere with
some

surface

integer multipleof4\317\200.This topological


of
applicable to the synthesis
and
complex objects, particularly boundary representations,

in three-dimensional
characteristic

What

handles.

deform

We

handles

For example, the surface in

11.6b?(Hint:Topologically

(H-4)

g)

equivalent

lopologically

attached.

to a sphere

4\320\242\320\223(1

with

spheres

three-dimensionalspace

as a sphere with

by

handles =

wdhji

^sphere

The important

the same

is lopologically

that

curvature

total

(11.3)

11.6

type.

<b|

Topological

equivalent

handles;

(b)

five

of a
handles.

sphere with: (a) six

of Models

Topology

that

Remember

total

turning

for a closed curve path is always


discovered an analogous

now
of 2\317\200,and
we
multiple
in three-dimensional
closed
surfaces
have

space\342\200\224all

bending and all those excessanglesmust


an integer multipleof 4\317\200.Remarkably,

that

arbitrary

combine

somehow

\302\253291

an

integer

property

for

and

denting
to give precisely

the total curvature of an


a multiple of 4\317\200
at all.
or not

in changing

change
ordinary closedsurface,we
to fit into three-dimensional
There are closed surfacesthat are too
a total
curvature
that is a multiple
space and, as a consequence, do not have
must
ones,
of 4\317\200.As it turns out, any closed surface, includingthesetwisted
is
not
of
2\317\200.
This
class
of
surfaces
a
have total curvature equal to multiple

it by
twisted

must

significant

in

modeling.

geometric

Knots

Before ending this

exploration of the

we will take a last look


in
knots.Consider circle
into two regions A and B,

the

at

\320\241

the

which

two points

within

any

one

curve

of the

plane.
are

It is

of closed

properties

topological

Jordan

theorem

obvious

characterized

regions (such

and curves

that

by the

as a,b and

the

\320\241
divides

property
c,d)

paths.

forming

can

plane

that any
be

a point
a path that lies wholly within the region; whereasif we take
connected
by
them
will
as a and c), then every path between
from each of the regions(such
\321\201\320\260\320\275
the
be called
cut \320\241
11.7). The bounded region \320\220
(see
Figure
necessarily
The first proof of the now-famous Jordan
the
outside.
inside of C, and \320\222
the plane
that
curve
theorem,
every simple closed curve in the plane divides
in 1893 in the important book, Coursd'Analyse,
into two regions,
appeared
Jordan did not solve the problem
Jordan
\320\241
although
(1838-1922),
by
Jordan's
Even
simplioriginal proof has by now been greatly
though
completely.

Fjgure11.7

Division

into two regionsby

of a
a closed

plane
curve.

292

Construction

Model

\342\226\240
Complex

fied.

not

still

is

it

definednotionof

easy to

inside

bearing

on

theorem

Jordan's

circle

embedded

problemof

knot

Incidentally,

build or escapefrom mazes.


also applies to embedded circlesin

those who want to


space.

problems.

geometric-modeling

many

An

prove this apparently obvious theorem.The wellfor simple closed curves has direct
outside

and

theory

in

is to

three-dimensional

also

is

useful

for

three-dimensional

knot. The

is a

space

when two

determine

it

knots are equivalent;

basic
that

be transformed into each otherby twisting


and pulling.
of
two
knots.
out
Try
working
example
nonequivalent
knot
these ideas with
of
To
different
between
string.
distinguish
types
pieces
context
fixed.
in this
Bringing
requires keeping the endpoints of the string
the ends together to form a circlecreatesanother
but one
familiar
problem,
that is easier to handle mathematically
a knot trivial or unknotted if it can be deformed
We
call
into a conventional
A
circle. special case of the general problem is to determinewhen a knot is
unknotted.
For example, if we are given a pile of string, how can we tell if a
knot is present? We notice
that
knots
we cannot distinguish between trivial
because
are
all
the
of
Our
circles.
intrinsically
they
topological equivalent
here
is to distinguish between various possibleplacements
of the
problem
in three-dimensional
from
same
circle
space, and thus this problem is different
other
to
between
where
we
want
objects.
distinguish
topological
problems
Gaussmade some brief remarks on knot theory at various timesbetween
1823and 1840. He attempted to classify singular curves in the plane,someof
arose
the projection
which
from
of a knot, and in 1833 he found a formula
a
certain
double
connecting
integral with the linking number of two knots,
which is intuitively
the
number
of times two knots are intertwined(see
is, when
Figure

11.8

Figure

11.9).

However,

they can
shows

an

the first

to make a seriousstudy

mathematician

Listing (1808-1882).Hisapproach

was

to

project

of

11.B

Jordan

curve theorem

knots

onto the

(\320\253

<a|

Figure

the knot

and knots.

was J.

B.

plane and

analyze it by

the

considering

Kirkman, and N. \320\241Little

The
were

Euclidean

dimensional

had

in 1910.

defined

important

unanswered

another

geometric

P. G.

the complement

over- and under-

Tail

of the knot

its associated knot group, which

Knot theory, however,is

very

difficult,

and

in

three-

M.

Dehn

many

have mentioned

this topic only


characteristic
that
might
topological
prove useful in
remain.

questions

it has

because

by J. W.
by studying
space and

obtained

were

invariants

track of

T. P.
(1831-1901).
the more elementary knots.
of knots that were effectively computed
Alexander
and
K. Reidemeist.These

1920s

the

in

of knots.

keeping

used later by

\342\226\240
293

to classify

characteristics

invariant

first

found

intersections,

was also

a method

Such

crossings.

Linking numbers

11.9

Figure

Models

of

Topology

We

modeling.

Flat 5urfaces

Piecewise

Many of the existingand

future
schemes for
representation
and
their
supporting topology, so thereare
objects
polyhedra
the
for
material
presented here.The classical
many
opportunities
applying
a discussion of
is
an
excellent
with
which
to begin
polyhedron
example
we mean an arrangement of polygons
piecewise flat surfaces.
By polyhedron
thai

such

potential

use

modelingsolid

two and

to traverse the

only two

surface of the

polygons meetat an edge;and


polyhedron

from one polygonalfaceto anotheruntil


this continuous path.

The simple
are
the sourceof topology's
polyhedra

the

contribution

simple

polyhedra.
Furthermore,

entirely

important,
to

geometric

since they
modeling.

are historically
The term

polyhedra that can be continuouslydeformedinto


are an example and subset of the simple
have
no reentrant edges; thus, they are convex.
Regular
polyhedra
the
term
convex to every polyhedron that
we
lies
apply
faces.
on one side of each of its polygonal
is not
Although
convexity

polyhedra

sphere.

most

all

that
it is possible
its
by crossing
edges and moving
have
been traversed by
polygons

refers

Regular

to all

polyhedra

294 > ComplexModel Construction

a topological

it does

property,

simple

A toroidal

polyhedron.

one: Every

imply

is a

polyhedron

convex polyhedron

is

nonsimple polyhedron.

Euler's

Formula

well-known

V, E,

states

and

relationship
F, respectively,

the number of vertices,edges,and


a
of simple polyhedronis calledEuler's
formula.
between

formula

regular

It

that

+ F=2

V-E
This

faces

and simple

a direct

provides

(11.5)

proof that there arc only

five

polyhedra.

us digress slightly and explore an application


ofEuler's
of
a
W
e
will
more
classical
geometric
modeling
vintage.
that is, those polyhedrawith
determine all
face
regular
polyhedra;
every
possible
the same number of edges,say,/;;every
the same
vertex
having
having
number of
and
from
the same
it.
k;
edge
edges
emanating
say,
every
having
has
and
to
two
two
Since
vertices
faces, it
length.
every edge
belongs
exactly
2EEuler's
that
Vk.
Substitute
formula:
follows
Fhthis into
To

prove

this, let

to

theorem

9F

9F

(11.6,

f-E+f-2
or

For
both

we safely

a polyhedron,
h and

\320\272
were

than

larger

implies

that

impossible.

< 5.
3 < \320\272

\342\200\236,
\342\200\236\320\2

> 3. On
the other hand,
assume that h, \320\272
that
3. then the above equationwould
imply

= \316\231+'1<!
\316\277<\316\247
\320\272
\316\225 h

which is obviously

either/;

Therefore,

By symmetry,

\316\231_\316\231
=

if

\320\272

3, then

(\316\227.8)
v/

2
or

\320\272

equals

3 <h

if

3. If

< 5.Thus,

- 3, then

(h,k,E)

They are, in
(3,3,6),
possibilities.
(4,3,12). (5.3,30), and (3,5,30) are the only
the
the
tetrahedron, the cube, the octahedron,
fact, realized by
the icosahedron.
use
Observe that we did not really
dodecahedron,and
respectively
the fact that the edges of the polyhedron all have the samelength.
as
As
long
the numbers h and \320\272
still
have
five
are
we
constant:,
only
possibilities
(up to
or contracting).
stretching

295
Topologyof Models\342\226\240

Poincare

points,edges,
and

the

denoted

He

hedron
Euler's

Euler's

generalized

he

faces,

formula to
0-, 1-T2-,

of each

numbers

(or polytope)
formula as

defined

as

Nt),

\316\267

3, this

These

regular

were

there
however,

reduces to
polyhedra

no others.

rather

\316\233\316\212.
N2, . . .

imprecise

This

are topological

therefore,

examples
parallelepiped

a hypcrpolyand
expressed

in

l-(-l)\"

direct

(11.10)

Euler's formula.

to Euclid, and he even claimedthat


were
known
Euclid's definition of a regularpolyhedronwas.
correct
by today's standards, and his claimis not
quite

polyhedra. Nonsimplcpolyhedra

with holes in it and are,


us
in
to
geometric modeling. In Figure 11.10arc
of nonsimple
polyhedra. The simplest of theseis a rectangular
a through
with
hole, also in the shape of a parallelepiped
equivalents

of

elements.

, \316\235\342\200\236
\316\271,
respectively,

general sense in which he statesit.


cue to investigate nonsimple
is our

in the

...,/?- 1-dimensional

of these elementspresent

+ jV,
\316\234,-\316\233\316\212

For

n-dimenstonal space.Insteadof

ofany

solid

object

use

/\320\245\320\226\320\226\320\223\320\233

Figure 11.10

Examples of nonsimple

polyhedra.

some

whose

296

Model

\342\226\240
Complex

Construction

are parallel to the other faces.The two


end
are beveled,
faces
or
of
interconnected
faceted, merely to emphasizethe properly
grid
edges,
and
but
have
The other faces are treated the same way
more
vertices,
faces.
of
a
holes. None
them can be deformed
into
sphere.
If the
A connectivity number N is associatedwith
every
polyhedron.
closed
surface of a polyhedron
is divided into two separate regionsby every
path
its faces, we say that the
(loop) defined by edges of the polygonsmaking
up
have N= 0, because
polyhedron has connectivity N = 0. All simple polyhedra
the surface of a sphereis divided
into
two parts by any closed curve lying on
it. Conversely,
N=
with
(Jean be deformed into a sphere.
any
polyhedron
can
define
We
orientable
unbounded
surface, that is, any closed nonany
G = 0 for a sphere
G handles.Thus,
self-intersecting surfaee,as a sphere with
=
or any simply connected
2 for the surface
\320\241 1 for a torus, and G
surface,
of a solid figure eight.The number G iscalledthe genus
of the surface. As we
see in Figure 11.10, there arc closed loops of edgesthat do not divide the
of a
surface
these
a
into two parts. We assign
nonsimple
polyhedra
polyhedron
the connectivity number N
one.
We define
connectivity number greater than
sides

as the maximumnumber of distinctloopswith


a polyhedron
to be found
on
(intersections)

into

Iwo

two

polyhedraof
where2G

the

without

common

points

not divide its surface

Jhe genus G of a polyhedronas Jhe


that
do not divide its
loops to be found
we can extend Euler's formula io

connectivity.

Thus.

V-E+F-2(l-G)

=0

(11.11)

number.

This is the

Euler-Poincareformula.

vertices,

edges, and faces, we can determine

the

counting
and

connectivity

and

connectivity

by

Conversely,
the

Furthermore,

regions.
genus

any

N,

define

of nonintcrsecting

number

surface into

We

regions.

separaie

maximum

or

that do

genus

N=-V+E-F+2

G= (-V+E-F+2)
2

Thus,

can

we

parallelepiped

Atlas

We

will

topological
planar

pieces

surfaces.

simple

a through

into a sphere and the rectangular


polyhedra
hole into a torus. We can also replace more

structures by topologically equivalentpolyhedra.

complicated

Topological

deform

with

(11-12)

and

Orientation
additional
a more general approachto developing
consider
surfaces formed by taking a collection of
flat
gluing them together along their edges,creatingpiecewise
be flat everywhere
surface
formed in this way will obviously

now take
properties

and
Any

and

297
Topologyof Models \342\226\240

the planar pieceshave

curvatureonlyat
crucial

The

is simply

representation

which

shows

edges
the

straight

deciding how to

straightforward

are

atlas

where the piecesare glued


edges,

then

together.

the glued

adjoining.
of a truncated

a modeling algorithmto explorepiecewise

represent thesesurfaces.
The

to describe each face separately and keep track


This data structure is calledan atlas.Figure11.11

pyramid. This topologicalatlasis similarto an

-\320\232\320\255

11.11

flat

most

\302\251\342\200\224

Figure

In fact,

surface can have

vertices.

the

step in designing

is in

geometry

of

the edges

along

possibly

except

if all

Topological

atlas of

a truncated

pyramid.

298

Model

\342\226\240
Complex

Construction

ordinary road atlas, which is a collectionof separatemaps


information
directing the user to the next map.
the left,

possibility,
construction.In

illustrates
two ways of joining a pair of edges.
The
identifies an orientation-preserving construction,while
shown on the right, identifies an orientation-reversing
an
we have numbered each edge,using
arrow
figure

11.12

Figure

on

the

direction of the

contain

each

that

first,shown
the

other

to indicate

joined opposite edges so


two arrows is the same. We
can
numbers or arrows alone to identify
the
use either
way the two edges are
in the
have
both
arrows
constructions
joined. Orientation-reversing
pointing
same rotational sense\342\200\224either
clockwise
or counterclockwise\342\200\224around their
respective faces. However, if one arrow points clockwise and the other

the ascending

that the numbersmatchand the

some

including

the

sequentially

face

collection
We

surface.

square

piecewise

specifying

the

take

for a closed
numbers

curiosities

mathematical

In Figure 11.13.
we

and edge

of the face of interest.We

starting from 1, numberingthe

from 0 to 3. For the


[0,0)

cube

the atlas

shown,

four

(3.3)]

[(3,2) (6,3)][(4.1) (5,3)][(4,2)


this as edge 0 of face 1
with
interpret
matched

12
\316\227

edge

\316\227

1\342\200\224l

3
(b|

<al

Figure

11.12

Orientation.

Oof

12

\320\263-\342\200\224\316\271
\316\231
\316\271

faces

(4,3)]
(6,1)]

[(5.2)

(6.0)]

We

the

face clockwise

(4.0)][(1,3) (3,0)]
(5,1)] [(3,1)

[(2,3)

(6,2)]

[(2,2)

edges

number

of each

is

(2,0)] [(1,1) (5.0)][(1,2)

[(2,1)

Including

us to construct new surfaces,


called nonorientable surfaces.
of matched-edge
pairs as the atlas
label each edge with
a pair
of

enables

atlas

an

in

joints

orientation-reversing

the

of

direction

is orientation-preserving.

construction

the

counterclockwise,

have

and

numbers,

face 2, and

4
\316\227

so on.

Topology of Models

0
3

\342\226\240
299

\320\276

\316\271

Figure

Next, we take a squareand


to produce

orientation-preserving

way

the orientation

reversed.

amountsto
resulting

in

the

Try

a half-twist

making

Mobius

Atlas

11.13

of a

a pair

identify

cube.

of opposite

sides in an

the
with
or, instead, identify
edges
of paper. This identification
the strip before gluing the edges together,

a cylinder
with

this

in

a strip

strip.

of a Mobiusstrip we would observe


a curious
we start out at some point and take a trip allthe way
around
the strip,
we get back to our initial
we
find
that
and
left
position,
right are

As inhabitants
phenomenon.
If

when

reversed.This happens because


Externally, whether a
appears

and

righl

turn

surface

depends

are looking
on setting up

we

left

left

or right

are

defined.
on the side of the

not intrinsically

depends

and
from. It is an extrinsicpropertyof the surface
the
an external reference.
we
must
that
Thus,
specify

observation is from the top sideor the bottom


side.
and left are characteristics of the two-dimensionalMobius strip
Right
of the surface. As inhabitantsof the
inhabitant's
not characteristics
motions,
Mobiusstrip,we can define right and left on the surface,but the definition
the surface,
then decide
works only locally. We cannot look at some point
on
or left. We must first move around
a priori that one directionis either
right
on the surface.Thereis nothing
to ensure
that, as we move around the sur-

300

Construction

Model

\342\226\240
Complex

each time

exactly

what

on

happens

A surface

on which left

or

the same

generate

orientation

given point. This potential reversaland confusionis


the Mobius strip.
and
are never reversed is orientable, and wc
right

a consistent left and right definitionon the surface.


If we
We
that confuses left and right,the surfaceisnonorientable.
can

a path

the orientability
an orientable
example,

demonstrate

easily

will

right

to establish

able

find

to a

return

we

are

to go left

the commands

face,

For

too.
property,

of a surface in termsof another


we
can define
surface is one on which

a
and counterclockwise rotations in a consistentway: We choose
S and imagine standing at that point.Next,we decide
surface
on the
point \317\201
is called
an
this
which
of the two possible rotations to call clockwise;
orientation
at p. Now, we let q be another point on S. (Note:
q may equal p.) As we
some
as
walk to cf along
path, we keep track of which rotation we defined
This induces an orientation at q; that
of clockwise or
clockwise.
is, a sense

clockwise

counterclockwisefor rotationsat q.
are

There

many

obviously

paths

from

always a uniqueshortestpath.Different
orientations.

If

we

obtain

the same

orientation

there
Furthermore,
induce
different
paths
may
we take,
no
which
path
we
walk
around
|he meridian
to

\317\201

q.

matter

is not
then

is orientable.However,if
of \320\260
our
end
orientation
from
we
will
with
the
Mobius
up
original
strip,
opposite
one. Therefore,
we again conclude that the Mobius
is nonorientable,
strip
that orientability is
and our new definition agrees with
the
old. We conclude
an intrinsicpropertyof surfaces.
closed
surface
that fits into three-dimensional space must be topoAny
zero.
the
of a sphere with g handles, where g can equal
equivalent
logically
that
the surface
must be orientable.
Now we add another condition,namely,
A sphere is orientable.and it is not hard to show that adding a handle cannot
the surface

change that. Note

that

the

Mobius

strip

does

fit

into

three-dimensional

closed. To transform the Mobiusstrip into a closedsurface,


space,
an orientation-preserving
make
identification of the top and bottom
we
atlas
as
did
o
n
the
we
when
edges
exactly
producing a torus froma cylinder
The
like the Mobius
and.
11.14).
(see
Figure
resulting surf ace isa Kleinbottle,
but it is not

strip,

it

is

nonorientable.

bottle involves sticking the bottle through


itself\342\200\224a
but
the
best
in
three
dimensions.The
Klein
we
can
do
operation,
bottle will not fit into a three-dimensional
space without self-intersections.
and
close
it up by making a second
If we start with a Mobius
strip
we
another
identification,
orientation-reversing
type of surface, the
produce
The
is
and
nonorientable
projective
topologicallydistinct
plane.
projective
plane
Producing

rather

the Klein

drastic

froma Klein bottle.

of

Topology

Models

\342\226\240
301

<a|

(\320\253
b

(dl

11.14

Figure

The

atlas

must specify
the orientation is

whether

the
scheme,
transition

parity.
the

including

that

simple

topological
properties

Curvature

(a) a cylinder;
strip; and (d) a Klein

Atlas of:

(b)

a torus;

(c) a

Mobius

bottle.

not only which edges are identified,


this
reversed. Wc denote
by including

but

also

a +1

or-1,
a
shows
several
of
11.15
notation
Figure
examples
number.
transition
It should now be obvious
parity
changes produce dramatic changes in the

bookkeeping
of a surface.

of Piecewise Flat Surfaces


We

now

turn

of piecewise

to a
our attention
flat surfaces. It so

seemingly paradoxicalsubject:the
happens that all of the curvature

wise flat surface is concentratedat the vertices,


which
sum up the angle
easy to compute. We need
only

around eachof

the

vertices;

thus,

makes

total

curvature

a piececurvature

in

excesses of small paths

302

Construction

Model

\342\226\240
Complex

*\342\200\224\302\273

I'

2
\302\273\342\200\224\302\273

t 1],[11,11(1,2)
(1,01(1,3)

+1]

+ I]. 1(1,1)0,3)t 1]

(1.0)0,2)

- 1]
[(1,01(1,21-1],[(1,11(1,3)

10,01(1,2) til.[(1.11(1,3)-]]

<d|

Figure

11.15

transition

Atlas and
(c) a Klein

a torus;
(\302\243>)

bottle; and

=
\316\232

parity

of:

(a) a

sphere;

(d) a projectiveplane.

(11.13)

\316\243\316\225,

!=1

excessofa
around
this expressioninto
recall that excess is equal to
minus
Ej is the
To transform

where

the

path

the

2\317\200

vertex

simplest,

total

the

equationas

;'.
most

tumijig,

meaningful

and we

terms, we

rewrite the

(11.14)

\316\232=\316\243(2*-\320\223()
\316\271

<=

where
2\317\200
terms

7\",

is the

(one

total

of a path around the vertexi


vertex) we obtain

turning

for each

= 2\317\200
V
\316\232

Ti

= 1
\316\271

Factoring

out

the

(11.15)

where
clarify

V is, of course,
this expression

the numberof verticesin


if we rewrite is using
the

around a vertexis equalto the

all the

of

sum

We

surface.

the

\321\201\320\260\320\275
further

interior angles

turning

meeting at that

over all the vertices gives us all the interiorangles


surface. Regrouping these anglesaccording
to the faces
in, we compute total curvature as
vertex.

\342\226\240
303

the total

that

fact

Models

of

Topology

Summing

faces in the

of

all the
they

lie

(11.16)

K^lKV-^ft

where/ isthe

of

sum

This is a

knowing

the

edges

of the

angles
we

because

result

surprising

how

interior

the

face i.
the second

compute

together. Therefore,

are joined

if

individual faces of a piecewise flat surface


total curvature without knowing anything

we know

and

the

about

V,

we
we

term
have
can

without

all the
compute

atlas.

For piecewise square surfaces, the formulais even


since
the sum
simpler,
- 2\317\200
=
of interior angles of any face is 2\317\200.
V - 2\317\200
\320\232
F or \316\232
Therefore.
2\317\200(\316\275
for
total
does
not
on
at
curvature
all!
And
f).This
equation
depend angles
we can do even better. Curiously
the total
we can compute
enough,
curvature of
flat surface without knowing any
closed
We
any
piecewise
angles.
need
the
and
and
know
total
numberof
faces
vertices
the
number
of
only

edges. For a closed piecewiseflat


faces, the total curvature is
K

V vertices,

with

surface

\316\225
edges,

+ F)

2n(V-E

and

(11.17)

= 2\317\200
Because we already know
that
\316\232
V
to
\316\243\316\257=
\\f\342\200\236prove
Equation
we
show
that
sum
be
must
the
of
(11.17)
Xf=]/can expressedindependently
the particular
values of the angles. We do not know
much
about
in general
the sum of the interior anglesof a face,
but we do know a closely related
ti
sum
of
the
es.
The
exterior
quan
ty\342\200\224the
angl
boundary of each faceisa
dosed
so
sum
we
the
of
the exterior anglesis 2\317\200.To
know
that
simple
path,
relate
the exterior
each exterior
that
angles to the interior angles,we notice

angle pairs off with an interior


are
many of these pairs as there
f,

[sum

= nxf,=

angle
edges

- exterior
\316\277\316\257(\317\200

there

are

as

angles)]

(sum of exterior anglesof the

face)

(11.18)

- 2n
\317\207
\317\200
e,

where e; is the numberof edgesof the

the facesgives

=
to sum to \317\200
and
18\317\213\302\260,
to a face. Therefore,

face

i. Summing

this quantity

over all

304

Construction

Model

\342\226\240
Complex

Xf,

;^
we

Now
precisely

by

(11.19)

Xe,-2nF

= \316\271
\316\271 \316\271

closed surface each edge is shared


number of edgesin a face over
the
summing
in a

lhal

\316\271
Xf=
e-\342\200\236
noting
simplify
two faces, and that

separate faces countseachedgeexactly

all the

that

means

twice.This

^e,
1=1
with

(11.20)

Equation

Combining

(11.19)
=

yields

into (11.16)

(11.21)

Equation

(11.20)

(\316\2311.2\316\231)

2\317\200(\316\225-\316\267

\316\243/,
1= 1

Substituting

= 2E

yields
F

(11.22)

K^2%V-^j]

1=1

or
=

The

denoted

by

\316\225
+

is the

F)

letter

Greek

the

\317\207
(chi).

(11.23)

Euler characteristic of a surface and


we rewrite the
this notation,
Using

(11.24)

\316\232=2\317\200\317\207

We

think

can

curvature

of this equation as a convenientway to calculate


flat surface. However, it also impliesmuch

have seen,

has
\320\232

only piecewiseflat
equation leadsus to
properties.

This

E + F) is
not just
tools

for

ones.

piecewise flat

counting

for

defined

invariant.

a topological

algorithm,

Therefore,

not
this

we define (V - E + F) for all surfaces,


we achieve these goals, we providepowerful

invariance. What
and

all surfaces,

Can

If

surface?

we

As

characteristic also has these


questions: Can we show directly that (V

modeling.

Look at topological
deform a piecewise flat

just a

following
ones?

is
\320\232

more.

the Euler

that

invariant?

topological

geometric

\320\232
is

Also,

suspect

the

suggests

First,

properties.

special

total

the

a piecewise

of

is

as

formula

curvature

(V

quantity

+ F)

2n(V-E

Absolutely

unless

to

happens

we cut

nothing!

a face in

transformation,
perform some other nontopological
can change. This, then,is our introduction
to the

(V

After
two,
none

next

topic.

\316\225
+

when

F)

remove
of

we

- E + F) is

all, (V

an edge,
the

numbers

or

of Models

Topology

The

Curved Surfaces

of Closed

Topology

Lei

us

imageof

distorted

lerms

vertices,

faces

on the

piecewisc

\316\225
+

on a general surface.Therefore,
we
arcs with a

we
topological disks.For convenience,

net edges,
the

\317\207
by

formula

same

= V

\317\207

of a

we define the Eulercharacteristic

a net,

Given

faces.

and

vertices,

into

everywhere

the elements

to call

continue

will

will

arcs

of simple

surface

the

divide

edges

vertex at either end, We


collection

arbitrary

define

will

disks, and

as topological

but

polygons

on a general surfaceas an
each
end by a vertex) that

at

arbitrary surface. The


a
definitionfor the
new
suggests
for an

F works

surface

as simple

but

lines

flat

surfaces not as flat

a net

(terminated

and faces

edges,

not as straight
define

Ihc sum

how

see

now

\342\226\240
305

\316\225
+ F

Euler characteristicraisesa question:


If we can draw
definition
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
all valid nets on the same closed
matter which one we choose,
because
of the

The

characteristic.

Euler

same

the

have

surface

To prove this, we couldimaginestarting

then
or

transforming

edges.

can do

We

into

net

this

a different

this in several

ways.

net on a surface,
with
a particular
one by adding or deletingvertices
We
out two elementary
net
single

transformations:

1.

Adding

(or

by drawing in

deleting)

a face

deleting)

a vertex.

(or erasing) an edge between

existing

vertices.

2.

Adding

(or

Let us see how


edge, then

produce

type

of

not

only

hy 1, and
that
complete

is
\317\207
the

affect

transformations
by

F also

1. But

1;

by

because V is unchanged. \317\207=V - E+ Fis


vertex
transform
a (ton. If we insert a new
into
Vand
a new vertex, but also a new edge.Thus,

F is unchanged;then
under

invariant
proof

of

the value

increases

And

unchanged.
first

these

\316\225
increases

the two

\316\225
+

F is

again

an

add

we

\316\225
is

unchanged by the
an edge,
\302\243
each

unchanged.

we
increase

We conclude

net transformations just defined.To

any two nets on the samesurface


that, given any two nets, we can always

that

If
\317\207.

hence

will

give

the same

value
to the

of \317\207,
we
assert
from
one
gel
other by somesequenceofthese
transformations.
and
is a topological
surface
has an Euler characteristic \317\207,
\317\207
Every
for
invariant. This
means
that now we have two topologicalinvariants
surfaces\342\200\224
Euler
K. Furthermore, we know
the
and
the total
curvature
characteristic
\317\207
=
that they are related by \316\232
for
flat surfaces. But does this hold
2\317\200\317\207
pieccwise

306

Construction

Model

\342\226\240
Complex

surface? It does,and we

for any

closed

any

related

surface,

by

both

arc
\317\207

now assert the following theorem: For


may
curvature and the Eulcr characteristic
are
the Ga ass-Bonnet theorem.
The first is based on the fact thai \320\232
this theorem.
We start with an arbitrary
invariants.
surface
and

total

=
\316\232
This
2\317\200\317\207.

There are two


and

the
is

of

proofs

topological

a piecewise
the deformation

it into

deform

invariants,
for
the
2\317\200\317\207

Since

surface.

flat

then
is
that
proof

flat surface,

piecewise

well.
caveat
only
be deformedinto

piecewise

flatten

the

in this

The

\320\232
and

both

are
\317\207

leaves them unchanged.Sincewe


is

it

we

topological
that

know

=
\320\232

the original surface as


that any surface can

true

for

must

show

Intuitively, this seems possible.The


surface
by piece, pushing all the curvature
piece
into the edges between the pieces. Then we flatten
and
the edges
straighten
all
the
curvature
into
the
The
vertices.
details
of this
piece by piece, pushing
are
difficult
\321\216
more
and
are
not
procedure
express
rigorously,
ihey
A second
is based
on a direct computation of \320\232
necessary here.
proof that \316\232-2\317\200\317\207
for
surface
and is similar to the way
the theorem
we
for pieceany
proved
a

approachis to

wise flat

surface.

flat

surfaces.

in the geometry of surfaces


it
a relationship
between
produces
quantities defined purely in
terms of topology(such as the Euler characteristic)
and quantities defined
in
termsof
distances
as
a
nd
a
total
purely
ngles
(such
curvature).
is important

theorem

Gauss-Bonnet

The

because

Euler Operators

Eulerobjects
faces,edges,

always

and

Euler's

satisfy

vertices

to create

formula.

a new

The processes

Euler object are the

that add
Euler

or delete

operators.

for constructing
operators
provide a rationa I method
solid, polyhedralike objects and ensure that they are topologically
valid (that is, closed and

These

oriented).
The connectedness
of
from, independent
of,

the

and

orientation,

and

properties of

the

quantitative

the

boundary

the

enclosed

of a solid is a property
interior points. Connectivity,

surface

distinct

of being non-self-intersecting are global


and depend on all of its parts. Euler'sformula
a
asserts
between these parts that allows
us to assign certain
relationship
characteristic

surface

distinctive global characteristics:the number of handles or through


holes,
so
on.
and
curvature,
connectivity,
Sincewe have just seen that Euler's formula is not restrictedto plane-faced
but also applies to any closed surfaceon which
we
can construct
a
polyhedra
the
formula
a
useful
check
on
the
becomes
of
net,
proper
topological validity
curve segments, and
any solid whose surface we can expressas a net of patches,
vertices.To apply the formula, however, certain other conditions musl be met.
total

Models

of

Topology

\342\226\240
307

All faces must be simply connected(i.e.,they


are
topological
disks), with
no holes in them, and boundedby a single ring of edges.
2. The solid objectmust
be
connected
(i.e., its complement is
simply
with
no
holes
it.
connected)
through
3. Each edgemust adjoin
two faces and terminate at a vertex at each
exactly
1.

end.

4.

At

least

three

edges

must meet at

Let us look at someexamples


easy to see that the objects

are proper,

is. a

that

of

in this

each vertex.

figure satisfy

Figure 11.16.It is

Euler's formula and the nets

arcs (edges), terminatedat eachend

of simple

collection

in action in

formula

the

the surface into topologicaldisks.Distorting


these
the
the
and
faces
surfaces
straight edges curves
shapes
by making
nonplanar
does not change the applicability
or
of the formula. Figure 11.17
validity
demonstratesthis with two examples of spherical nets.
Vertices,edges,and faces added to a model must produce a result that
the Euler
satisfies
both
formula and the four conditions mentioned above.In
and 11.18b, a cubical polyhedron is legitimatelymodified.
In
11.18a
Figure
the
but
is
notice
formula
that
satisfied,
Figure
11.18c,
certainly
edges
(1,5)
and (2, 5) do not adjoin
two
faces. Furthermore,
only two edges meetat
by

vertex

5,

that

vertex,

and

edge

Figure 11.18c

edges(3.5)
Edges (1,
An

(1,2)

adjoins three

is not a
(4,

5),

to the

modifications

interesting

can

<a|

remedy

longer

spherical

nets.

(4,

1)

\320\241

polyhedral

cells,

vertices,

<c|

(\320\253

Euler's

Figure 11.16

formula:

\342\200\224
/;' t F
\320\243

' 2

Euler'sformulaand simplepolyhedra.

in

by adding
faces.

face. Figure 11.19

states that
the

ohject
two

and

edges

define a

formula

the

stands,

this situation

net gain of two


no

of Euler's

modification

space divided into

dimensional

in a

resulting
and

faces.Therefore, as it

We

solid.

valid

2), (2, 3), (3, 4),

valid

shows

and

divide

for

three-

edges, faces,

308

Construction

Model

\342\226\240
Complex

figure

related

are

cells

and

applied to a

11.17 Euler's formula

sphericalnet.

by

V-E+F-C=\\

By addinga vertex,point
it to

joining

each of

9,

the other eight verticeswith

polyhedron. It is easy to verify

Lookat

what

11.21.

Figure

surface

net

the

edges

the

the

vertex,

the Euler

proper.

a six-celled

create

face, and cell count.


object with a hole through il in

our

faces

disks, and

topological

two

11.21a,

Figure

The

convention.

and

containing

this situation in Figure11.21b


by
adding
to
the
formula.
look
at what
happens
deleting conditions 1 and 2 accommodates such

lines, but

objects.

Thus,

+ 2P

E+F-H

V-

= 2B

(11.26)

\\

/
1

\320\243

/\320\243

/
1
1
1

\320\243

\320\270

'2

(b|

<a|

Figure

of

therefore the

We correct

as dashed

formula

we

edges,

formula is satisfiedin

the

is not

cube (seeFigure 11.20)and

edge,

polyhedral

inadmissibleaccording
to
and exit to
hole
are not

shown
the

Modifying

to

happens

Although

the faces are


the entrance

of a

interior

the

to

(11.25)

11.1B

Euler operations

<c|

on a cube.

\\

\\

<a|
Figure

where

V, E,

and

Models

of

Topology

\342\226\240
309

<b|

Modification

11.19

Euler net

of an

on a sphere.

F retain their
//denotes

usual meaningand

denote

the

of

number

the number of holes in

the
faces;
the
of passages (holes through
entireobject);
the
denotes
number
of separate, disjoint bodies (objects).
variation
acceptable
is shown in Figure 11.21c; here, the
in Figure
11.21a and
passage
11.21bis now merelya
If we add edges as in Figure 11.21d, then
the original
Euler formula. (The individual faces,as
as the
satisfy
vertices,

edges,

and

faces,

number

\316\241
denotes

\320\222

and

Another

through

we

concavity.

well

are
each
entities.)
simply connected
A polyhedron exhibits nine classesof topological
relationships
of the three types of elements:vertices,
pairs
edges,and faces
characterized
11.22). Thus, for example, a vertexis topologically
interior,

figure

11.20

Euler's formula

polyhedral cells.

and

between

(see
by

Figure
adjacent

310

Construction

Model

\342\226\240
Complex

S\320\243

/-

\316\233

<a|
/1

|b|
\320\243

//

f-E+F=2

V~E tF=2

16- 24*10 = 2

16

= 2B
f -+ 2/\302\267
16 - 24 + 10-2+2=2
\320\243-F+

- 32 + 16 =

0*2

V-E*

16-32

+ 16-

2P = 2B
+

2 = 2

\\
>

/
W

<d|
?

M\342\200\224

\316\223\316\221
V

\302\243

V-E

+ 21>\302\2612B

F-H

+0 = 2

+ 11-1

16-24

11.21

Figure

vertices,

faces
adjacency

11.2

F:

faces

among

\321\203

y-E+F=2
2

formula.

[V],or

[V),\302\243:

F:

[V] to know

are facilitated

operations

shape

V : [F], arkd

vertex

the

around

Boolean

whereas

For certain graphicsapplications,


it is

relationships

are joined,

4N

polyhedra and a modified

connected

Multiply

and faces.

edges,

one of the

16-28+14=
Euler

to use

the Euler

operators usually

a good

idea

how vertices
by the ring of
require

{F).

GRAPH-BASED MODELS
A

model

geometric

together

linking

We can

meeting

at

pointers
the

represent

each

to

a list

of the

structure,
vertices,

with

data

pointers

is a graph-based

object's faces

model.

and their

edges of these facesas curve


vertices and adjoining faces.We

as lists of coordinates, with


to the edges
pointers
Notice that there are two kinds of information:

vertices

vertex.

and

the
represent
their endpoinl

We

equations.

with

topological

faces, edges,

represent a solidobjectas

respectivesurface
equations,

emphasizing

an object's

Graph-Based

\342\226\240
311

Models

1. The
edges,

the topology or

pointers defining
and faces

2. Numerical data definingcurve

and

between

connectivity

surface

vertices,

and vertex

equations

coordinates

or

just the pointers,jusi the

both.

11.23 is an

Figure

may alter

operations

modeling

Subsequent
numericaldata,

model.The
example of a graph-based

contains

model

this is desirable. Some


situations
algorithms,
redundancy
up searching
thereby eliminating the need for
searches.
and
transformations
global
Scaling
rigid-body
(translation and
the
alter
unaffected.
In
numerical
data,
rotation)
only
leaving
pointers
can be derived from a
addition, wireframe-based
computer-graphics
displays
redundant

information,

can

in

but

many

speed

graph-based model in

of time

amount

an

proportional

to the number of

edges.

There

are

differences

interesting

among

to differences in degree of redundancy,

edges ofa face


to have a single

are

with

boundary

no

are

there

Some

accommodated.

graph-hased

Others

hole.

systems. In addition
differences
in how the

graph-based

systems

allow an

outer

require a face
plus

boundary

\316\226\316\233

/
V: F

\316\265
\316\275
F

E: V

E: F

\320\257:
\316\225

FA
l/

F.

F:

F- F.\\
F

L._K
Figure

11.22

Topological

relationships

between

polyhedron elements.

pairs of

312

Construction

Model

\342\226\240
Complex

Vertices

Faces

Edges

v,

F.

\302\243,

Ex,
\302\2432,
\302\243],

E\342\200\236ElrE
j

\302\243\342\200\236

F\342\200\236F,.F4

^2

Fi

\302\2432

\302\2435
Ei> Ej, ^\321\207.

F,,F3,F,

F\342\200\236F5.F.

\302\2433

F3

^2. ^
l\302\267\302\267,,
\302\243\342\200\236,...

\302\243\342\200\236\302\2432,..

Figure

disjoint

in

11.23

loops
\320\273\320\265\320\263-boundary

structured
more highly
systems
connected)
complex (multiply

A graph-based

holes.

representing

and

model.

offers

This

computational

the
advantages for

characterizes

solids.

as planar-faced polyhedra,many
are
solids represented
economies
with graph-based systems. Because all edges are straight-line
we can
store them as vertex pairs, and face boundaries
as ordered
lists
segments,
of
vertices.
Or
treat
a
as
a
we can
simple
graph, listing
(chains)
polyhedron
the vertices with
their
coordinates
in one array and their connectivity in
The
matrix
another.
latter is \321\217
connectivity
(see Figure 11.24). The
For

available

is a

matrix
connectivity
connectivity

elements

and

exists,

between
as

the

binary

well,

the faces of the

and

elements indicatethat

no

elements
indicate that connectivity exists
We can construct such a matrix for other
one is shown in this figure
for the connectivity
between

one-valued
of

pair

matrix. Zero-valued
vertices.

polyhedron.

Models

Graph-Based

\342\226\240
313

called an adjacencymatrix.Thesematrices
that determine whether an edge exists
algorithms
between
two
vertices.
If we let a:j denote the clement of the connectivity
matrix
the existence
of an edge betweenvertex \320\263
and
vertex
j.
describing
then an algorithm accesses atj and reads
its value.The
time needed to do this
is independent
of the number of vertices and the numberof edges.
The
main
a
matrix
is
that
it
V2
of
connectivity
requires
storage (V=
disadvantage
number of
even though most a:j = 0. If efficientpackingis availablethe
vertices)
The

are

is also

matrix

connectivity

for

convenient

be reduced
to V1 bits.
can
requirement
A graph, then,is a set of nodes(orpoints)connected
hy branches
(lines).
itsdegree.Ifany branch has a
The number of branches at anode determines
associated with it. then the graph is a directedgraph
direction
(see
Figure
For
directed
we
can
an
in
and
an
out
11.25).
assign
degree
degree to
graphs,
eachnodeby counting
the branches
to
it and
from
it,
pointing
away
A
tobe
from one node to another is the sequenceof branches
respectively.
path
the path is a circuit.
traversed.
If the start
and end nodes of a path are the same,
there
If
is a path between any pair of nodes of a graph, the
is
graph
connected.
A tree
is a connected graph without circuits.A graph
some
containing
or all of the nodes and branches
of a graph G and no other nodesor branches
is a subgraph
G is a subgraph
of G. A spanning tree of a connectedgraph
all
t
o
and
branches
maintain
withits
nodes
containing
enough
connectivity

storage

out

creating

any

circuits.

Vertcs
I

II

I
0

1)000
0
0

10

10

10

\320\233 1
\342\200\224\302\243
5
I

0
0

11

0)01

__-

0
0

11

0
1

\320\262

CDF,

0
I

Face

1 =

0=

Connectivity
Wo connectivity
u.

Figure

11.24

\321\201

11

1)

\316\225

I
0

Connectivity matrices

I
0
for

{j

11

a polyhedron.

10.

314

Construction

Model

\342\226\240
Complex

(a)

Figure 11.25

We

may

a graph

represent

(nodes)

their

and

in

Examplesof graphs.

connectivity

way uses a list of vertices


as we saw earlier.Another

One

ways.

many

matrix

(branches),

matrix elements, which often results in


for
Lists may represent a graph by
considerable
efficiency
algorithms.
graph
each
a
list
of
vertices
associated
with
or node. Figure
vertex
adjacent
having
Its connectivity (or adjacency)
11.25b showsa directedgraph
with
six nodes.
way

interesting

bit vector

uses

matrixis

Note
vertex ;'

that
to

The

CD

\320\222

\317\213

\316\225 F

\320\241

\317\213 0

\316\225

\317\213 0

1
0

1
0 1
0 0
1 0
0 0

\317\213

1 only
if there is a directed edge from
graph, an \342\200\224
six adjacency lists are

for a directed

vertex/.

Graph-BasedModels

\342\226\240
315

vertex

vertex D[E]

A[B,F]

vertex B[QF\\

vertexE[C]

vertex

vertex

C[D]

F[E]

in an adjacency
of undirected graphs are representedtwice
matrix.
is an undirectedbranch
vertex
/
to
vertex
j,
(or
edge)
connecting
= 1.When wc delete an edge from an undirected
then a\342\200\236
we
delete
graph,
dj,
both a(J and a;i from the matrix. In the case
of adjacency
lists, we create a
the search
to link the double entries of edges and
speed
supplementary
array

Edges

If there

process.

Again, a

tree is a directed graph

no

with

A tree

circuits.

additionalproperties:

1.

is

There

2. Every

one

only one

unique

The terms entering


all

relative

one

the root

from

path

in Figure

outline

node are

node, called the root, which

node except the root nodehas

3. There is a
bold

and

and

node to

only

no

has the following

enter.

branches

one entering

branch.

each other node(shown

in

11.26).
exiling

branch,

to the

branch,

parent

node, and

descendant

root node.

trees with roots at the top and


Given two adjacent nodesa and
a is a proper
a to b, then
11.26, if the branchis directedfrom
b, as in Figure
the father
of b), and bis a proper descendant
ancestorofb (sometimes
called
ofa (a son of a). A leaf node has no properdescendants.
Although

leavesat

R =

the

it

may

bottom,

to see
disconcerting
that
is the convention.

be

iqqj nude

Figure

11.26

A tree

graph

316

\342\226\240
Complex

Construction

Model

Several quantitative
parameters are associatedwith a tree, as in Figure
11.26. Looking at node b, we find that the depth of this node in the tree is the
from
the root R to b The
length of the path (numberof branchestraversed)
of the longest
height of node b is the length
path from b to a leaf. We also
that the height \316\277\316\271
notice
tree
of anode
the
Ls the height of the root. The level

tree minus the depth of the


of each node are in order,

height of the

is the

If the

descendants

the tree is ordered.When

use a specialtype
has

each node
in

is a binary

The binary tree in


some
descendant

node

every

then
models in Section 11.3, we will

Boolean

study

a binary

tree, which is an

tree

ordered

and a right

descendant

left

left to right,

from

say,

where

one. The tree

tree.
11.27

less than
leaf

is. a
\320\243\321\201

tree is completeif

A binary

is complete.

of depth

of depth

node

every

This is

for

and right

a left

\320\272
has

The total number of nodes

the figure.

3 in

Figure

\320\272

integer
and

we

called

tree,

descendants\342\200\224a

two

11.26

Figure

of

node.

true for the nodes at depth \320\272

in

heights is2*+1- 1,

complete

binary

a binary
on which it

tree

of

tree, that is, visit each node to get


lies. We will investigate
three
path
systematic
to do lh\\s: preorder
traversal, postorder traversal, and inorder
ways
Lhese traversal on the binary tree shown
traversal
11.28
in
illustrates
Figure
a
\316\267
as
11.27.
and
its
descendants
subtree
we
define
a
node
all
Figure
First,
/\342\200\236
of tree
T. The node \316\267
of t\342\200\236.
We
the root of the tree and
is the root
let r denote
d,_ and
dR its immediate descendants. Then we define the preorder
traversal
of \316\244
as
follows
recursively
(see Figure 11.28a):
must

Algorithms

information about it

1.

Visit

the

2.

Visit

in

root
preorder

traverse

often
or

the

r.
the

subtrees

with roots

dL and

Height = * - 3
of nodes
Number

= leal node
rooi node

R =

Figure

11.27

A complete

in

that

2*' '-1

= 15

dR.

binary tree.

order.

317
Graph-Based Models \342\226\240

(a)

Figure

We

define

the

poslorder

11.2B Traversals

traversal

of

7\"

of a binary tree.

recursively

follows

as

(see Figure

11.28b):

1.

Visit

2. Visit

in

postorder

the rootr.

the subtrees

with roots

dL and dR,

in

that

order.

318

Construction

Model

\342\226\240
Complex

define the inorder traversalrecursively

Finally, wc

as

follows

(see

Figure

11.28c):

1. Visit

in

2.

r.

Visit

3. Visit

in

inorder

the

left subtree

inorder

the

right

subtree

If we assigna number in
The

properties.

interesting

node nR has a number


a numbergreaterthan
A wireframe
a

of

consisting

sequence

inorder

a way that

in such

occur

tree

binary

less than

r (if it

of root

of r (if it
to

exists).

exists).

we visit, we notice some


numbers of the nodes of a
node in the left subtree of a root
node

each

traversal

each

while
\302\253R,

each

in the

node

right subtree

has

nH.

model is the simplest exampleof a graph-based


set of vertices defined by their coordinatesand

model,
a

connectivity

defining how the vertices are connectedto form


straight-line
edges.
as a separate
either are not explicitlydefinedor are given
list, or circuit
of vertices.
the basics of wireframe modeling
The
literature
describing
methods is vast
and accessible.
Work in this area is by no means
This is
finished.
and
on
demonstrated by the work of Agarwal
Waggenspack
(1992)
for extracting
face topologies from wireframe models;of
methods
decomposition
matrix
Faces

Hojnicki White
of
representations;
and

Lequett

wireframe

from

curvilinear
solids

wireframes

converting

Usinga data

(1995a)

for

(RGS)

structure

present

synthesis

new

to surfaced
of

(1989)on

views; of Brewer, Vicknair,and Courier


to solids;
and by the work of many others.
to a directed
graph, Letcher and Shook
equivalent
framework
logical
they call relational geometric

constructing

and solids

surfaces,

on converting
CAD wireframe data
on the automatic
construction
(1988)

(1988)

(see

complex

geometric models

Chapter 12).Their

graph

from

curves,

points,

is more

structure

because most of their geometricentities


The RGS schemeincorporates
two
or more
nodes.
require
support
embedded entities
on
curves
on surfaces, and so on) and relative
curves,
(points
entities.
data
ensures
of intersection
as well
The
structure
curves,
durability
complicated

the

than

conventional

tree,

as durability of the resultsof compositional


processes.
Changes
a complex geometric model are automatically
of the model.

11.3

it

any

part

of

parts

MODELS

BOOLEAN

The

in

in contingent

reflected

discussion
affects

Boolean

of Boolean
models

models begins with


and operators.

a brief

review

In geometric

of set

theory as

modeling, when

we

Models

Boolean

319

shapes,
shapes calledprimitivesto form morecomplex
have
useful.
in
theory
Solid-modeling techniques,
particular,
For
from
the
axioms
set
drawn
of
considerably
theory.
example,
important
from
to
point-set
early work at the University of Rochester draws
topology
for
establish more rigorous mathematicalfoundations
solid
modeling
(see
and
Voelker
and
and
We
Tilove
begin
Requicha
Requicha
[1977]
[1978]).
a look
at pointwith some of the basic concepts
of set theory and finish
with
to
its
set topology, includingset-membership
classification
and
relevance
of sets dates back to
treatment
solid modeling. (Incidentally, the first formal
second
of
the
half
the
when
Cantor created the
nineteenth
century,
only
main body of the theory.)
The term sel denotes any
collection
of objects.
well-defined
Objects
In geometric
to
a
are
its
members.
set
elements
o
r
solid
modeling,
belonging
indicate
the
or otherwise, the basic clementis the point.The symbols
I
[
}
and
on
notation
describe
the
in
terms
of
conditions
set-builder
set
any
of the set\342\200\224conditions
that
of the set must meet.
element
element
arbitrary
every
Forexample,
is a set consisting of all real numbersin the
[x\\2.5<x<3.5]
specified interval.
On the left-hand
side of the vertical line we read, \"the set of all
\317\207...'' On
the right-hand
side we have the conditions for set membership.
thai
is
A
contains
all the elements of all the sets under consideration
set
the
of
be
the
H.
A
deck
52
cards
universal
sei, denoted
playing
may
by
if we are investigating
of
the probabilities of certaincombinations
set
universal
a
selis
a
cards
in
hand. Conversely, a null
set which has no elements at
poker
to as the empty sel or tbe void set.
all. It is denoted by \317\206
and
is also referred

the simple

combine

becomes

set

In

two sets

genera],

\320\222
are

and

A =

wheneverset
A. Two sets A
to-one

in

and

S,

each

element
sets

equivalent

\320\222
with

in

if we

one

exactly

A and
A

their elements

can place

with

in

element
in

one-

correspondence.

Any set/1
B.

in

\320\222
are

and

(11.27)

exactly the same elements.Two sets


if we can pair each elementin
correspondence

one element

exactly

li contain

set

and

in one-to-one

\320\222
arc

as

equal,expressed

The

is a subset of setti only


the

\321\201
indicates

symbol

if

subset

every

in A

element

is also an

clement

relationship.Thus,

\320\233\320\265\320\271

means

that

A is a

subset of B.A

is contained in
set is a subset of itself, but
New sets are formed by
\320\222
and

some

fashion.

Given

if

sets

is

a proper

at least

\320\222
has

not

a proper

combining

A and

subset

(11.28)

of li

if

element

every

element not contained in A.

one
subset.
the

elements

in two

B, we can constructa third

or more
set

\320\241
whose

in A
Every

sets in
e|e-

320

Construction

Model

\342\226\240
Complex

are all of the

menls

is, the union of A

elements in A

the elements in

all of

with

together

C-AuB

or in

other set

sets, wc

of two

union

the

By

sets.

both

Akj B= [a,b,cfd,e,f].
Notice
\321\201
is in

element

though

or is

what logicians

(11.29)

mean the set of all elementsin one set or in the


if A = [a,h,c) and \320\222
then C[c,d,e,f],
there
is no repetition of elements in C, even
that
and B. We may read A kj \320\222
as A or \320\222.
the
Here,

For example,

both/1

call the inclusiveor because

that belong to A as well as B.


If we forma setD comprised
of elements

is the intersection of A

and

the elements

includes

AkjB

to

common

and B,

both/1

B, expressed

By the intersectionof two


those

are

that

elements,

then

sets,
both

in

we

selD

as

D=AnB

D=AnB,

B; that

this as

write

B. We

and

(11.30)

mean

sets.Thus,

the set of all elements, and only


if A = [a,bfcfd},B- [c,d,e,f,g],and

[c,d].
sets, then

their difference (or more formally,


their
Boolean
AB
set
of
elements
i
n
A
that
denotes
the
are
not
also
elements
difference)
=
B. Thus,
in
if A = [a,b,c,d], and \320\222
then A-B-\320\220 =
[a,b,c] and \320\222
[d,e,f\\,
-A = 0.This minus sign does not combine
with
\317\205
in the way
[e,f].
C|early,/4
=
that a plus analogy might suggest..Forexample,
kj
A
0, but A kj
A)
(A
= A. The
A
to
with
a universal set \302\243
is

and

If/1

(A
the

\320\222
are

complementofa set

A)

a|] elements

set of

Furthermore,

form

if we

then/1

subsets,

in

\316\225
that

complements
=
\320\222

A ncB

are

not

respect

elements

in

A,

cA.

written

with respect to a set Econtaining/1 and \320\222


as
=
and Au \320\222
These
two identities
ncB).
\321\201(\321\201\320\220

often allow us to simplify


In boundary
computations.
with appropriate pre- and postprocessing,only
the

evaluation
intersection

algorithms,
is

operator

required.

One way
useful

particularly

operations
properties

combine

and

to

study

sets

and

in representing

subsets is with Venn


diagrams,
such set relationships as equality

which
and

are
such

set

and intersection.Figure11.29illustrates
set
some
are
these
There
can
several
we
using
operations
diagrams.
ways
and
certain
that
these
sets,
well-established rules
govern
operations

(see Table

as union

11.1).

The geometricnature of Venn


useful
diagrams
suggests
ways for us to
the
of
on
them.
setsand
In
interpret
properties
operations
geometric
of points, and the universal set \316\225
consist
is the set of points defining
modeling,sets
a Euclidean space with
a dimension
of our choosing. Set theory suggests
methodsfor operating
on these
points and classifying them according to

such propertiesas inside,outside,oron

the

boundary

of a

geometric

solid.

Boolean Models

\320\273
\321\217
\320\270

(\320\260)

\320\233-\320\222

(c)
figure

Let

consider

us

the

Venn

11.29

and set

diagrams

line defined

real

\320\237
\320\237
\320\270
(\320\233
\320\257)
\320\241>
(\320\220

(J)

theory.

by a continuous set of pointsin

F.1,

set of points we are considering


(sec Figure 11.30).
subset Xof El by the line segment a < X< b, where \321\217
b are
and
X.
the
of
the
set
X
where
a
is
an
circles
at
and
set,
open
open
points

E'is

where

\342\226\240
321

the universal

We define a
limiting

b symbolizethat
in

the

lower

figure

these

are

points

not included

their inclusion.
of all its limit

indicate

set with the set


two-and three-dimensional spacesand
The boundary
of a closed set is the set

union of the

interiorof a closedsetis

the

set

of

X =

where bX denotes the


interior

set

of

boundary

the

set,

and

the solid

The closureof an
points.

These

set

Open

concepts

circles
is the

extend

to

sets.

point

of all

all points

in

its limit

points. Conversely,the

of a set not on its

boundary.Thus,

bXuiX
points

(11.31)
and iX

denotes the set of

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),
the
intersection
and difference
and
rules
(n),
(-), also called Booleanoperators,
for their application and combination, calledBooleanalgebra.
Boolean

Operators

feature of the geometric objectswe will


a boundary
define them as closedsetsofpointshaving

A distinguishing

that we

deal

with
subset

here is
and an

322

Construction

Model

\342\226\240
Complex

Properties of operations on

Table 11.1

Union

Properties

Closure

set.

1.

\320\220
\320\270
\320\222
is a

2.

~ \320\222
\320\220
\320\270
\320\222
\320\270\320\233

=A

3. (du8|uC
= A
\317\205
4. \316\221
\317\206

sett

property.
Idempoiem properly.
property.

Complement

\320\263\\
\320\222
1. \320\220
Is a sei.
2. \320\220\320\263,\320\222=:\320\222\320\223\\\320\220
= \320\220
\320\223\\
\320\263,
3. {A ri B) r\\ \320\241
(\320\222
\320\241)
4. A nE=A

Properties

Closure properly.
Commutative

properly.

Associative

properly.
property.

Identity

5. Ar\\A~A

Idempoiem property
=

r\\cA

properly.

Identity

Intersection

property,

Associative

\320\270
\\j (\320\222
\320\241)

5. A \\jA = A
6. A\\j cA- \316\225

6.

property.

Commutative

property

Complement

\302\247

U i stri but i ve Proper!

jes

1. \320\233\320\270(\320\271\320\277\320\241|=(\320\233\320\270\320\224)\320\223|(/1\320\270\320\241)
Union
is distributive over intersection.
\316\221
\316\267
\\j \320\241)(\316\221
\316\267
\317\205
\316\267
2.
is distributive over union.
{\316\222
(\316\221
\316\262)
\320\241) Intersection
Properties

Complementation

1, cE = \317\206
- \316\225
2, \321\201\321\204
3, c(cA)
4,

c(A

5, c(A

= \321\201/1\320\273\320\263\320\271
\320\270\320\271)

cA^jcB

r,B)-

of the

universal set is the

The

complement

of the

set.
empty set is the universal
of a set \320\233
is \320\233.

difference

algorithms
are

also

DeMorgan's

of a

empty

set.

complement

law,

DeMorgan's

law.

Boolean operations similar to set intersection,


union,
more
The
to
form
ones.
simple objects
complex
that
as
these
must
operations
perform
produce
output objects
sets of points having
and
interior
subsets and
closed
boundary

subset.

interior

that

c-omplemeni

Thecomplement

-A

and

The

We use

to combine

preserve the dimensionality and homogeneityof the initial objects.The


=
latter
all
that in any Boolean operation, suchas \316\233
kj \320\222
means
\320\241,
requirement
the objects
SeealsoRequicha
and
must be of the same spatial dimension.
and Putnam and Subrahmanyam (1986).
Voelker(1985)

BooleanModels

\342\226\240
323

a<x

<b

sei

Open

a ^

\317\207
^ b

\317\207

Closed set

11.30

Figure

Open and

closed sets.

the ordinary
set-theoretic
how
intersection of
Figure11.31demonstrates
two well-defined two-dimensionalobjectsproducesa result
that
does not
meet our requirements. First,A and \320\222
are
defined
because each
well
possesses
a boundary
iB. Second,
the
set bA and bB and an interior set iA and
to
set
but
resulting intersection is mathematicallycorrectaccording
theory
\320\241
has
no interior.
or
at
least
because
inadmissible,
incorrect,
geometrically
is not
Thus, \320\241
like A and B. It is not a two-dimensional
objectand, clearly,
this intersection
did not preserve dimensionality.
We
would
operation
prefer
an operator
that recognizes this condition and producesa nullset.Requicha
and
others
(1977)
early on proposed the use of regularizedset operators,
which
and homogeneity
dimensionality
(no dangling or
preserve
disconnected
of lower
dimension).The
importance of these regularized
parts
operators

will

become

soon

apparent.

We begin by combining two

11.32.Both

and

boundaries.

and

The

arrows

\320\222
are

\320\222
are

indicate

parameterized

simple

two-dimensional

polygons

A and

objects

B, as

the direction of parameterization. Notice lhat


in a consistent
direction. In this case, they

Ob

Figure

shown in Figure

with straight-line

11.31

Degenerate

intersection

of two

well-defined two-dimensionalobjects.

both

are

324

Construction

Model

\342\226\240
Complex

\320\227\320\242

I
\316\271
\316\271
\316\271

L_

i-P^

-\321\213\316\271

U \320\257
\320\233

Union:

11.32

Figure

/1-\320\257

Intersection\302\267 \320\224\320\237\320\222

and intersection of

difference,

Union,

\316\271

Difference:

two simple

polygons.

consistency in
By maintaining
a convention defining
establish
the
left in our example.
polygon\342\200\224on

counterclockwise.

both
polygons'

can

we

edges,

pointsinside

the

We assume that we have alreadyappliedthe appropriate


A and B, so now we will
transformations
look
positioning
C-AkjB.
finding

1.

Find

all

intersection

the

2. Segmentthe
of A
and

in

3.

Find
that

the

\320\233
and

\320\270

0 to

\320\222.
Thus,

\320\270

1 and

has four

example

\320\270
\320\265
[\302\253jjuj.

and ve

of

edges
from

parameterized

of the edges of A

points

has

\320\222
also

if the

segments:

four

and

to

and

scaling

B; points
-

for

an algorithm

at

boundary
= 0
\316\275

\320\222
from

the

orienting

which side contains

1,2,3. and

4.

polygon of A is
1, then the boundary

\316\275

\320\270
e
\320\263*\320\263],\320\263*
\320\265[\302\253>\302\253^],
[\321\206;
\320\265[\302\2532;\302\253\320\267],\302\253

segments:

e
\316\275
[vj;

v3].

\316\275
e

[v3; vz],

e [v2\\
\316\275

i-'i],

[\316\271\316\257;
\316\275\316\221].

a point
segment

4. Starting at p0,
B, point

on the
is also
trace

boundary polygon of A
outside
the

that

is outside

B, say,

p0.Then

B.

boundary

of A to

the next intersectionpoint

with

1.

intersecting segmentof B, and trace along it in the direction of


to its intersection
with A, point 4. At this point, we discover
increasing \316\275
that
have
traced
back to the starting segmenton A, but we have not
we
found
We
have
only one loop.
yet exhausted the list of segments.

5. Find the

Boolean Models

\342\226\240
325

Find a point on one of the remaining


of A that
is outside B. Then
segments
that segment,too,isoutside/i.
7.
Trace
this boundary
with
B, point 2.
segment to the next intersectionpoint
8. Repeat step 5, tracing \320\222
to
3.
We
have completed another loop.
point
Becausethere are no more qualifying segments to trace, the union
operation is
Nate that the second loop is parameterizedin a
complete.
6.

which

direction,

clockwise

that

means

a hale.

encloses

it

the boundary segmentsof \320\233


and

the loops as the


we
label as
segments;
conversely,
segments
inactive. If we
no longer need representations of the initial objects A and B, we
discard them and delete I hem
the modeling
from
dalahasc. In any evenl, we
of the appropriate
concatenations
represent object\320\241by reparameterized
active segments of A and B, forming lvvo separate and distinct loops,as we
We label

aaive

have

/i that

comprise

boundarv

other

the

seen.

just

operation is the same as the union operation


except that
we trace the boundary
of
\320\222
The
-clockwise.
intersection
segments
operation,
that
too, is similar to union,
segment
tracing must start from a point
except
on the boundary
of A that
is inside /i.
The algorithmjust outlined
several
requires
supporting
algorithms. The
for finding
the intersection
principal ones are a procedure
points; a
procedure for
whether
a
is
or
outside
a
closed
inside
determining
point
polygon;
and procedures
the
tracing segments, forming loops,and rcparameleri/ing
loops- The list will grow as we investigate more sophisticated
problems
The difference

Boolean

involving

operators.

we have just explored is very

The example

simple\342\200\224too simple,

illuminate most modelingproblemswe encounter


operators. However, the exampledemonstratesthe
intersecting,

and

tracing,

testing,

sorting.

Determining

when
basic

applying

in fact,

to

Boolean

approach:

the topology of surfaces

combinations of other surfacesis a suhtlc


of research.
subject
complex
process and continues to be a challenging
the two-dimensional objects A and \320\222
in
Consider
11.33. Each is
Figure
well defined; that
and dimension
closed
is,
ally homogeneous. Thus, we

that

the

are

product

of Boolean

and

express

and

\320\222
as

A =

where,as
and

\320\263
denotes

in

(11.31),

Equation

the

set of

Next, we translate
Boolean operationto
A

B=bB\\JiB

and

bAviA

b denotes

the set of

interior points.
and
form

\320\222
into

object

position
\320\241First,

prior
we

points on the

(11.32)
boundary

to combining them by the


(he se!-!heoretic
perform

326

Model

\342\226\240
Complex

Construction

edge

-Wangling

Figure

and regularized

proper

shown

result

in the

Booleanintersections.

figure. Notice the dangling

not dimensionally homogeneous,yet it is the


intersection. The result we seek is shown to the right. It

is obviously

result

this

intersection

the

with

correct

Regularized

intersection

Set-theoretic

11.33

intersection,
edge;

Set-theoretic

set-theoretic

is the regularized
denoted
\316\221
\316\267
Booleanintersection
closed
*\320\222,
dimensionally

We

Given

homogeneous.

this

rewrite

the

intersection,

and

we have

C^AnB

(11.33)

uM)n(iBuifc)

(11.34)

as

C = (bA
which

set-theoretic

to

expands

C =

(bAn

bB) u

(iA

\320\270
\317\200
\316\267
(\320\254\320\220
\320\250)\320\270
\320\254\320\222)
(iA

n iB)

(11.35)

Figure 11.34shows a geometricinterpretationof each of the four


in
above. We notice, again, that
the
direction
of
parentheses,
parameterization
in
is indicated
11.34a.
Since
C-bCw
arrows
by
iQwe must
Figure
find
the subsets
form
a
of bC and iC that
closed,
dimensionally
C* from
the terms in
homogeneous object
C*. We must derive candidates for
Equation
In
the
two-dimensional
and
we
see
interior of \320\241
11.34d,
(11.35).
Figure
expressions

correctly

surmise

that

iC=iC*

= iAniB

(11.36)

Boolean

Models

\342\226\240
327

A
\320\222

\316\262

{
,

ft)

(a)

\320\262

\316\262

id)

\317\211

Figure

Candidate

11.34

components

of a

regularized Booleanintersection.

must

we

Next,

determine

of any new

boundaries

bC*. where

object

will

bC* -

always

Valid

the combiningelements.We can generalize


Boundary points can becomeinterior
points,
become boundary points. Furthermore,for
without proof

assert

(bA

kj

Note

\320\252\320\222).

of boundary

consist

this

observation

whereas
regularized

interior

that

the

segments of
as follows.
points cannot

intersections,

we

that

bC*

iAnbBtz

(11.37)

and

bAniBcbC*

So far, have successfully


set-theoreticintersection

accounted

we

(11.38)
Figures 11.34b to 11.34dof the

for
to determine

effort
the regularized
to determine
which
r\\bB)
(see Figure11.34a)
analyze (bA
of its subsets
are valid subsets of the boundary
of C*. The isolated
point is a
valid member of bC*,becauseit must
of
be a member
both (iA \316\267
always
\320\252\320\222)
in

intersection.We

and

(bA

intersections

interior

\316\267

iB).

of

our

now

must

We

and

to neither

are left with


two
identical
apparently
overlapping
B. These intersections are distinguishedbecausethey
are
A nor B. Let us find
a test
to differentiate
between them.

328

Construction

Model

\342\226\240
Complex

At some

a new point
point p, on segment1,we create
it a distance
e to the right (relative to the

offset

p\302\253

from

perpendicularly

a similar

and

parameterization),

point

p,_

to

the

left

of

direction

11.35).

(see Figure

do

We

the

at a point p2 on segment 2. Next,we construct


a table
for each segment
each
to test whether
1, neither
point
pR and p; is inside A or B. For segment
test point is insideboth A and S, whereas for segment 2, test point pL is
2 is a valid boundary
inside
both A and B. This test determines that
segment
of C*.Thisprocedureanalyzes
the
of points on the segment so
neighborhood
same

that

we

can

classify it.

properly

Another, simpler classificationtest is available


convention for the direction
of parameterization.

tangent vectorp/'
do

the

representation.

boundary
We

from

the

same

A boundary
In our example,

a consistent
we adopt
At p, we compute the
and p', from the \320\222
representation
if

they are in opposite directions.

2, where the tangent

for segment

arc

vectors

in the

same

at a
direction, From this we conclude:If the respectivetangent
vectors
A and \320\222
of the overlapping boundaries of two
intersection
objects
point
are
in the same direction, then the overlappingsegment
is a valid boundary
- A n *
the segment
is not a valid boundary.
of C*
otherwise
\320\222;
valid
Let us summarize
The
the
results.
regularized intersection of two
objects

A and

\320\222
is

C*=An*B

(11.39)

Segment

\316\231\316\267\316\233
InB

Pr

Pi

o-*~
P,

Pfl

Segment
7

P2

L.

-\302\273U

PR

Pi

Note1

= yes

0= no

P\302\253J

Figure

11.35

Regularized

boundary

InB
\316\231\316\267\316\233

test.

Boolean Models

\342\226\240
329

where

C* =

bC*uiC*
(11.40)

= Valid,,

\316\267
\320\270
(\320\254\320\220
\320\254\320\222)
(iA

in this

is nothing

There

conclude

that it applies

objects. Later in

this

to

equally

indicates

that

two-,

one-,

dimensionality,

so we

or n-dimensional

three-,

investigate the Boolean combinationof


us continue operations on the objectsin

we will
First,

let

11.33.

Figure

The
Figure

expression

section,
solids.

three-dimensional

\320\270
\316\267
\320\270
\316\267
\316\267
(\320\254\320\220
\320\250)
(\320\263/1 iB)
\320\254\320\222)

11.36.

in
are
shown
set-theoretic union of A and \320\222
are the full set of valid candidates for determining
as in the preceding intersection, by expanding the

of the

components

they

Again,

\320\241*
-\320\220 \320\270*
\320\222.
We

begin,

set-theoretic

expression

C =

Equation

(11.42)

iB)

\320\270
\320\270
\320\270
u
(\320\254\320\220
\320\250)
\320\254\320\222)

as correct
of
separation terms.

(11.43)

the parenthetic

\320\270
\320\254\320\222)
(iA

(\320\237-41)

iA )\\j(bBu

C=(bAu

C^(Mu

AuB

is just

and

subject

to

(iA

\320\270

iB)

interpretation

(11.43)

without

Thus,

C=Mu6flui/lu6fl^MuiBuMu/B

(11.44)

\320\262

\320\222

{< )

(\320\254)

A
\320\262

(0

Figure

11.36

Candidate

components

regularized Boolean

union.

of a

330

Construction

Model

\342\226\240
Complex

elements are underlined.We

The redundant

so that

them

delete

Equation

(11.44) becomes

to Equation (11.42)with parentheses


we determine bC*,iC*.and, hence,C*.First,

is identical

which

components,

iC* =
note

and

(11.45)

kjiB

\320\270
bB^JiA
\320\254\320\220

include

notice

that some
these points,
it

that

that

observe

we

\317\212\316\233\317\205\316\257\316\260\317\205
\316\267
(\320\254\320\220
[Valid,
bB)]

(11.46)

boundary points become interiorpoints.If we do not


amounts
to a hole in iC*. Also, we
we will have what
to add

is redundant

of Equation (11.46).Why
Next,

these

From

deleted.

not

this

is

\316\267
\320\250)\316\267
(bB

\\j(hA

the case

to

\316\267
iA)

for u[Valid,(M

the right

side

\316\267

bB)}'}

that

we observe

bC* = Valid\342\200\236(M

\320\270

(11.47)

bB)

where

Valid

in
\320\254\320\220
not
\320\254\320\220

iB and

part on

bB

(11.48)

\316\267

(11.49)

\316\267
Z>S)]

(11.50)

or
Valid

\320\254\320\220-\320\254\320\220- \316\267
[(\320\254\320\220iB)

\320\270
Valid^M

bB)]

Similarly,

Valid bB^bBAn

discussed

then

bC*

\320\270
\316\267
\316\234)
Valid,(M

resolve by a test similarto


If
we
discardall of (bA \316\267bB).
operator.
the
of
the regularized
set C* is
is incomplete. Therefore,
boundary

ambiguity

that

[(bB

exists in (bA
for

\316\267
/>S)

that

we must

the intersection

bC* ^bA^jbB-

[(bA

\316\267
iB)

\320\270

(bB

\316\267
iA)

\320\270

Valid^M

\316\267

Z>S)]

(11.51)

(11.51), we see that (bA \316\267bB) is subdivided,


is
nothing
portion assigned to iC* and a portion to bC*.Furthermore,
since we assert Valid,(M \316\267
\316\267
Valid,,(M
bB).
bB)
of the
we consider
Finally,
Figure 11.37. Here are the components
the
difference
we
set-theoretic
(A
B). Again,
expression
operator
expand
In Equations

(11.46) and

C^A-B

a
lost,

(11.52)

to yield

C--(bA-hB-

iB)

\320\270

(iA

-bB-

iB)

(11.53)

Boolean Models

W
Figure

Two

bB - iB; in

11.37

Candidate

of a

components

regularized Booleandifference.

iA

equal

Second,

the

certain

because

(d)

clear from the figure.First.tC* must


immediately
case
of our example, two disjoint sets result.
If wc add iA
of'bC* are missing from \320\241
segments

are

things

\342\226\240
331

C*

\317\210
\320\241,

to C,

\316\267
bB

is
11.37d, the boundary is still incomplete.'1\320\252\320\265 missing
segment
bA
bB.
must
a
to
\316\267
Here,
we
lest
determine
the
again,
perform
subset.
(~\\
are
For the case of the difference operator,Valid(Zvl
bB)
Thus,
r \316\262).
segments adjacent to only iC* or (iA

as in Figure
a subset of
valid

those

bC*

-fcCu
=

Therefore

(bA

the
\320\241*,

C*= (bA-bB-

\316\267

Valid(M

bB)
(\316\240.54)

-bB-

iB)

\\j

\320\270
(iA

\316\267
\320\270
\316\267
\320\243\320\260\320\251\320\254\320\220
\320\254\320\222)
bB)

(iA

- 5),is

(A

regularized
iB)

\320\270

\316\267
bB)

(iA

u Valid(M

\316\267
bB)

- bB

\316\267
\320\270
\320\254\320\222)
(iA

- iB)

(HAS)

Other

between

relationships

and

\320\222
are

particularly useful example.Here,objectA


equations

just

If we

developed

verify

the results.

execute a sequenceof two

objects,

then

the

result

depends

or

more

encJoses

completely

This is a

on the

Figure

possible.

\\vay

Boolean

to

model

11.38 shows
B. The
holes.

operations

order of the

on a

sequence.In

set of

Figure

332

Model

\342\226\240
Complex

Construction

|a) aus
\320\273

\320\262

\316\221
\316\223,\316\222
|\320\254)

(\320\241)\320\220-\320\222

Figure

11.3B

11.39,three objectsare

of Boolean

Examples

and

combined,

the

results

on the order.

BooJeanoperators

operations.

are obviously

dependent

in exactly the same


Boolean
way
objects
regularized
combining
operationsare the same, and closure and dimensional homogeneity are also
11.40
illustrates
the effect of various combiningoperations
necessary.
Figure
on two simple three-dimensional
In Figures 11.40a to 11.40c,nothing
objects.
unusual
but in Figures 11.40d to 11.40f,nonregularizedoperations
results,
apply

produce

three-dimensional

operators

to

these

solids

do. The

that

intersections

regularized

to

two-dimensional

that

are

not

last three

three-dimensional.

Applying

cases properly producesnull

the

results.

Classification

Set-Membership

In order
we

must

to regularize sets resultingfromcombiningoperations


onother
determine
whether a given point is inside,outside,
oron the

sets,
bound-

Models

Boolean

Order

11.39

Figure

\342\226\240
333

of Boolean operations.

dependence

of a given
set. Three important subsets of any regularized
set A are: the
ary
set of all ils interior points,denotediA; the sel of all points on its boundary,
denoted
of a specific
bA; and all points outside ii, denoted cA.
Assignment
The
classification.
point to one of thesesetsisset-membership
early work in
and
for
class
i
fication
formalizing
making rigorousset-membership
done
R.
and
of
geometric
was
B.Tilovc
at
the
others
modeling
by
(1980)
University
a
Rochester.
similarity between four types of geometric
They observed
problems

to modeling:

related

1. Point

on

the

inclusion. Given a solid and


boundary

2. Line/polygon

clipping. Given a

the line is inside

the

part

3.

is on

Polygon
polygon

Solid

is the

point,

point inside,

outside, or

polygon?

a line segment, what part


is outside the polygon? What

and

polygon

What

part

the boundary of the polygon?


Given two polygons A
intersection.

intersection

4.

solid?

of the

and

B,

what

of

is the

\316\221
\316\222?
\316\267

interference.

Given

two solids,

do

interfere

they

(that

is, intersect

unintentionally)?

In each problem,two
determine

some

sort

geometric

of inclusion

elements

are

involved,

requiring

us

relationship between them.Creatinga

\320\263\320\276

set-

334

Model Construction

> Complex

Id

lb)

/
\316\262

4r

4\321\2027

47

/7

/\317\210-\316\263

/
|f)

{e|

Id|

11.40

Figure

Boolean operations

on a three-dimensional
solid.

the approach to these problems.


which
],
operates on two specified
point
sets\342\200\224a reference
set 5 and a candidate set X. Thus,M[X,S]
Xinto
partitions
to their membership in bS,iS, or cS.
subsets
corresponding
Let
us look
at several classification
relationships and some classification
methods.
We
consider
the possible relationships between sets taken
will
from E\302\260,E\\El, and Ei universal sets; that is, points,linesor curves,
surfaces,
denote

and

solids.

this

as M[

function

involving points

Relationships

unifies

function

classification

membership

We

are shownin

easily overlooked,classification

Figure

yet
relationship
test point may be the same as a given point, or it may
some
degree
algorithm to compare coordinates with
produce

the

is

11.41.

The

between
be

two

different.

of precision

most basic,
points: A
A simple
will

classification,

A point
possible\342\200\224on

may be on or off
the

initial

point,

given

curve;

on the

if on

the curve,three

endpoint, or on an

subclasses are

intermediate

point.

Models

Boolean

pair of
on the

a straight line, an additional


extension
of the line or

For

back

the

a point can beto the


direction

or

right

left
A

\316\277\316\271
parameterization.

point.

of the curve

we find

the

a bounded,

Given

on

a plane

curve

is a

on

indicates

lying

Special case), then a point may

be

inside

the disk,

polygon

winding

plane

(see

Apostol [1978] or any

calculus

other

to

textbook).

of parameterization
the winding numberdependson the direction
We
can
the
numerical
11.42).
integration of the
arrange
appropriate
line
and
the
direction
of
integral
paxiimeterizalionto yield cither the
shown in the figure or the reverse.

The sign of
(see Figure

signs

\321\203\342\200\224\302\260\321\215
\316\257\316\261

on

boundary\342\200\224the

way

compute

side

which

the

number

find

topological disk (for example,a


on a surface, of which a convex

additional

the

its

a consistent

Given

outsideof it.In special case of a straight-edged


relative
to the
classifications
polygon, there are
a
be
on
or
a
vertex.
may
specific edge
point
One to classify a point as inside or outsidea diskor
is
its boundary, or

to

point.

simply-connected

non-seif-intersecting

polygon

exist\342\200\224on

line. Finally,

of a line or curve on a surfacerelative


test for right-left status is to first
simple

point

closed,

of the

extension

on the given curve nearest the candidate


the sign of the resultingvectorproduct
convention,
the

a point

for

classifications

forward

\320\262
335

la)

[\320\254)

Id

Id)

Figure

11.41

Point classification.

336

Construction

Model

\342\226\240
Complex

Winding numbei = -1

= +1

number

Winding

number

Winding

Outside

Inside

Figure

11.42

=0

The winding

number and the inside-outside

classification.

Given
candidate

a solid,
point

can

setof points,a
that is, a regulari zed three-dimensional
the
three
basic
to it\342\200\224inside,
have
relationships
again

solid is a polyhedron,then
the point on its boundary as beingon an edge or a
Let
several ways to determinethe inside-outside
status.

outside,

on

or

If the

its boundary.

describe

approaches.

Figure 11.43ashows
is a parametric

assume

on tife

an

shaped

arbitrarily

surface.

Given p,

surface. Next, we compute the surface


to the vector (p - q). Assuming

normal
the

\317\200
at

convention

*-x

la)

lb)

Figure

11.43

Inside

and outside

a solid-

further

can

are

vertex.There
us

look

at two

boundary we will

we computethe closestpoint

direction

\302\253

solid whose

we

q and

to it

compare

its

of an

outward-

BooleanModels

\342\226\240
337

then if

normal,

pointing

solid; otherwise,

it

\317\200
and

q) have the

is outside
same sign,\317\201

the

- 0).
the boundary,in which case\317\201
q
defined
as the Boolean intersection of

(if not on

inside

is

(p

Figure 11.43bpresumesa solid


half-spacesin \302\243\\Here, we simply

test

set of

the

\317\201
against

inequalities

proceed through an ordered list of these


we
status
each
successive
a
satisfies
inequalities,
flag on p. As long as \317\201
update
it
is
the
we
it.
dcfinilion.
inside
so flag
11 \317\201
solid, and
identically
half-space
satisfies
a half-space
limit (for example, p. - e),then
we
its slatus to
change
on the boundary. If the point \317\201
fails
test, the algorithm terminates, and
any
we
the
status
as
outside
the
solid.
flag
point's
classification
to curves and straight-line
also
extends
Set-membership
segments
most
to
and,
perhaps
straight lines and polygons.Figure
importantly,
11.44shows the principal relationships
hetween two curves and two straight
Detection
and computation
in Figures 11.44aand 11.44bfor curves,
lines.
and Figures
11.44i for straight,
11.44c. Il.44h.and
lines are fairly
The
cases are examples of overlap. Forstraight
straightforward,
dctecllines,
remaining
two
or
a
in
common
and
common
common
absolute
ing
points
point
vectors
at the point indicates
the
directionof tangent
overlap. WiLh curves,
situation
is more complex. Here, we must accept an approximation
of
unless
forced
to
do
mate
most
matches
will
not
incidental
because,
so,
overlap
defining Ihe

As we

half-spaces.

identically.

Line and

polygon classifications are shown

in

represent regularized sets in

Figure

11.45:

the polygons

E2. A
line segment defining an edge of
single
A
in
three
polygon
ways. The membership-classification
and
of the
subdivides
classifies
this line: \316\233-,
is a suhset
]
a subset of the interior of A, or \316\247\317\204,
the
is a subset
outside or
of

R intersects

polygon
function

M[
of

boundary

\320\224
X2

is

complementof/1.
suggested
In

earlier.

Figure

This

Several

11.46,

them again here.


vector convention,also mentioned
us to locate the directionof the inside

convention

permits

from any point on the boundary.


its immediateneighborhoodfrom the

We

object
ambiguity

arises

w hen

were

\316\257\316\277\317\204
these
conditions

tests

membership

will not discuss


we see the tangent

so we

previously,

we

try

to

classify

only the classification of the

point

then

boundary

poim
with

extract

respect

to

respect to A
A and

about

information

representation.

2, say, with

of an

An
n

\320\222
separately.

Jj, given
We

of M[X,A) and M[X,B], and


express
solely
we need moreinformation
lo resolve
Here, the point is on bA
ambiguities.
= \316\221
on bB, but not on bC, although\320\241
and
\316\267
\316\222.
We
see in the figure that wc
can use informationembeddedin the boundary
itself to remove
ambiguities.Of
this does presuppose
an analytical representation of the
course,
cannot

boundary.

M[X,A\\OP\\Ii\\

in

terms

338

Model

\342\226\240
Complex

Construction

la)

If)

lb)
lg)

|h)

id)
Figure

11.44

ii>

Curve

Finally, we considerthe two


surface

of

vectors

each
at

one
any

and line-segment

in Figure 11.47. If the


then
we can computenormal
analytically,
solids

intersecting

is represented
point on them.

classification.

We

can

use

this

in a
information
of
that
the surfaces

setthe

membership classificationalgorithm.We assume


on them
in
a way that the normal at an;y
solids are parameterized
such
point
the
the
interioror
material
of
from
object.
always points outward, away
a neighborhood.
If \320\277\320\273
Then, on overlapping surfaces, we can easilyclassify
=
\316\267
iB is not a null set. If n,,
nfl, the iA and iB are on the same side, and \316\212\316\221
in the
-na, then iA and iB are on opposite sides and do not intersect
neighborhood.

Models

Boolean

\342\226\240
339

\320\222

\317\207,
\321\2051.\321\2052.\321\2051\321\201\321\214\320\262

\321\210

X2C\\A

X^CcA

Figure

Line and

11.45

classifications.

polygon

V. \321\217
1
\320\226
\\\316\221\302\267

3\316\257

L4ftifl

Figure

11.46

Tangent

vector

convention

two-dimensional objects.

for

340 *

Model

Complex

Construction

\320\233/

\320\243

j/

//

\320\262

\317\207
\302\267\342\200\224
-1 *\342\226\240
\"\320\273

\"\320\262-

\317\200

\320\243

/\321\203

=\316\267\316\257
\320\260\320\273

Figure

11.47

Normal

three-dimensional

vector convention

for

solids.

a somewhat rigorousapproachto solving


the
of
problems
ter
discussion
reveal
the
La
will
of
importance
set-membership
on only briefly here (sec Figure11.48).These
other concepts that we touched
and CAD/CAM
modeling algorithms
conceptspervade
computer
graphics
and other moreabstract
lions,
offering
ample Opportunity for further
appliea
We

have taken

classification.

study and research.

\320\250\320\2501
\320\262

^
\316\212

fej

Figure

11.48

ibj

Probiems for

set-membershipclassification.

Boolean

\342\226\240
341

Models

8oolean

Models

If we

represent

simpler
denote

be

then

solid

and

if

A {OP)B

of the

representation is a
where

\320\241
~A(Op)B,

model.

Boolean

is any

(OP)

model of

is a Boolean

same spatial

combination of

Boolean

by the

object

then the

objects,
solids

operator,
\320\241
must

If A,

or

more

B, and

\320\241

regularized Boolean

that A, B, and
assume that
will
on,
wc
can drop
conciseness,

Remember
\320\241

dimension. From now

all Boolean operations are regularized,


so thai,
The
this term as a qualifier.
n, and
u,
symbols

two

we

for

denote

will

the

regularized

operators: union, intersection, and difference,respectively.


is a procedural
For
A
model
model (sec Figure11.49).
Boolean
example,
that we know the size, position,and orientation
let us assume
oiA,
B, and C,
perhaps as a list of vertex coordina tes. The Boolean modelof D isD (a u
- \320\241.
This
statement
Boolean
\320\222)
defining D says nothing quantitative about
the new solid it creates.
It only specifies
the procedure for combining the
of the vertices of
primitive constituents.It doesnot tell us the coordinates
the new solidor anything
about
or faces. We may know all thereis
its edges
and
to know geometrically
about A, B, and C, but all wc know
topologically
the
D
is
how
assemble
it.
about
to
this leads us to say that
Boolean
Therefore,
is a procedural representation, or an unevaluated
If we want to
model
model
the Boolean model, compute
know more, then we must evaluate
new edges and vertices, and analyze the connectivity of
intersections to
determine
to determine
thesenew elements
the model's topological characteristics.
Boolean

*_j-

D - fAUBl

Figure 11.49

-C

simple

procedural

model.

342

> Complex

Model Construction

The
has 32 vertices, 48 edges, and 18 faces.
undirected
\317\207
is
a
of
the
32
32
vertices
1,024
array
containing
connectivity
to
3
elements.
each
in
model
is
connected
Since
vertex
this
exactly others,there
96 nonzero
cvaluator
are
elements in the matrix. A boundary
routine
only
uses this information to construct the boundary
representation.
The
nodes
The
leaf
tree for this model is shown in Figure11.50.
are
binary
node
the primitive solids, with Boolean operators at eachinternal
and
the
root. Each internal node combinesthe two objects
below it in
immediately
in readiness
the tree and, if necessary,transforms
the
result
for the next oper-

The

of

boundary

matrix

ation.The
the

constructive

Boolean

How are

into

operators
the

primitives

graph-basedmodel
be scaled positioned

and

and

primitive

may

be

of

representation

a Boolean

Figure

an object

is a

direct translationof

a binary tree structure.

systems, they are stored as a


or parameterized shape to
template
tree.
Or a
as a leaf node of the model's binary
combination of directed surfacesor half-spaces.
A
In many

modeled?

become

11.50

a unit

The binary

tree for D = (A

wB)

\320\241

Models

Boolean

directed

is a surface

surface

whose normal at any

unbounded
primitive solid.
into
two
unbounded
each
regions;
space
intersection of an appropriate set of

and outside of the

divides

surface

The Boolean

a half-space-

is

region

form

can

half-spaces

the inside
Cartesian

determines

point

An

\342\226\240
343

three-

a closed

dimensional solid.
We

The

0-

define

we

Thus,

is given

surface

directed

Each

defining half-spaces to construct an entire


by an implicit equation of the form
is zero at the surface and positive insidethe object.
ofdirected
object hy the union of the intersection

surfaces

directed

use

may

model.
f(x,y,z)-

function
a complex

surfaces:

(11.56)

f=G(n^

/; are directedsurfaces

where the

or

surfaces

of the

implicit

usually

divide spaceinto

define surfaces that

model of even relatively

Boolean

these

and

systems,

a primitive

\316\240
denote

is
\316\2402

it has a

is another

11.51

Figure

let

functions

The

half-spaces.

f4 describing

the

These
functions
we
can
easily
half-spaces,
as satisfying/,(*,.)',\320\263)>0
< 0. which
evaluate points
we then classify as
\316\277\317\204\316\262,\316\266\317\207,\316\263,\316\266)
to
the
set
or
to
its
belonging
object's
point
complement, respectively.Fora
sec
fuller
treatment
Mortenson
(1989). Parametric surfaces do not formally
define
because they do not divide spaceinto two parts in a direct
half-spaces,
would
first have to be converted into implicit surfaces.
analytical way They
te
Othersystems
with
solid, bounded primitives. At any node of the
opera
valid
solid. The
binary tree, two valid solids combine to producea third
are

circular

a right

to

produce

and

two

solids

complex

is generated

quickly

in

very compact and concisedata structure.


Wc
example of a Boolean modelof a solidobject.

object.

cylinder.

positions the primitives.First,the


produce i'b a hub-like shape with
combine

form/;,(*,j>,z)

= 0.

S2. similar

Here
7\",

is a
\316\240\316\271

rectangular

denotes
union

combines

operator

rectangular

to 5, but

a transformation

ears.

Next.

and
parallelepiped
that scales and
and
\316\223,\316\240,

T2l\\z

to

and
7'\320\224\320\242,
'\320\223\320\224\320\242?

smaller in size.The Booleandifference

a circular hole and pairof keyways


in 5, to
of S, with 7\"4ib reforms
the outer
surface of
the ears, giving
them
a radius
to
that of T^nz's,producingSA. SA and S5
equal
combine to produce Sfi and add a further refinement to the geometryof the
ears.
final
Notice that
S(, and S7 combine to produce Ss. the
Si
object
shape.
defines
a pair of holes; these are \"drilled\"
in St, to produce
SH.
we
can
Although this model represents a modest accomplishment,
and conciseness
appreciate the
that a Boolean model achieves.To
compactness
demonstrate this more explicitly, we express 5s as a string of symbols
between
produce

5,

St..

Then

and

S2 creates

the intersection

344

\342\226\240
Complex

Model

Construction

Se = ^6 ~ ^7

^4
\302\2736=

- ^5

s2=r3n1uriln2

Figure It.51

Boolean

model

of a

mechanical part.

Boolean Models \342\226\240


345

S5)

\342\204\226

\320\270
\320\237\320\2372)

(78\320\2372

\316\267
\320\270
u \316\2447\316\2402)
\342\204\226 \316\2442\316\2402)
7\320\243\320\2372)
(7\342\200\236\316\2402
(\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)

\317\205
\316\267
\320\270
\316\2445\316\2402
[(\316\223,\316\240, \316\2442\316\2402)
(\316\2233\316\240,
7<\316\2402)]
-(\320\223\320\271\320\270\320\2237\320\237\320\263)-(\320\222\320\224\320\270\320\242,\320\237\320\263)

Ss

\316\267
u
(7,\316\240\316\271 75\316\2402

This

\316\267
7,\316\2402\316\267
75\316\2402\317\205
72\316\2402\316\267
\316\2445\316\2402)
\316\2445\316\2402)
(\316\244^\316\223\316\231

\317\205
77\316\2402)
(7\"6\316\2402

string,

symbol

unevaluated

and
\316\240,

u 74\316\2402)
(\316\223\302\253\316\2402

(11.58)

nine transformations,is the procedural,


note that this symbol string is not unique.

including the
We

model.

geometric

Although

property of the intersect operator to obtain

the distributive

use

we

Then

fixed

are
\316\2402

types, the

primitive

transformations

\316\223,
vary

also
note
that for
We
depending
shape of the objectmodeled.
r\\
this example, all operations involving
T5Yl2 are trivial,
7,\316\240,
\320\263\\\320\2422\320\2372
except
since all the other bodieslie entirely
within
Thus,
\316\2445\316\2403,

on the

size and

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

these

process

system

modeling

sophisticated

will

detect

the

condition

and

will

not

trivial operations.

in evaluating the
importance
Computing intersections is of central
we
of two
define
the
boundaries
of
a
Boolean
model.
If
boundary
complete
the
then
the
is
sum
of the
primitives or
subobjects,
complete boundary of A(OP)B
boundaries.
These
of A and \320\222
are the active regions on A
segments
segments
bounded by the intersection of the original
\320\222
are themselves
and
and
boundaries

of

and

Let us

B.

review the effectof the

three

Boolean

operators

on a set

of two or

including primitives, to be a
the
and some the boundary.
interior
comprising
points,
\320\270
of points that belong to
The
union
of two objects, say, \320\220
is
a
collection
\320\222,
B, or A and B. The difference of two
A,
B) is a collection of
objects
(A
to the surface
A
but
and
is
not inside B, a
that
interior
of
belongs
points
A. Figure 11.52
is inside
that belongs to the surface of \320\222
and
collection
of points

three

collection

objects.

primitive

of

We

consider

an object,

some

shows two- and three-dimensionalexamples.

346

>

Construction

Model

Complex

A-B

AS

AUB-C

11.52

Figure

and difference.

of union

Examples

The operation

the set of points belonging to both A and


B.
three
those
interiorto
both
A
and
those
on
B,
points
types:
to B, and those on boundary regionsof \320\222
boundary regions of A interior
to A (see Figure 11.53). Only points 1 and
2 of \316\221
interior
\316\267
\316\222
in Figure
are important, because they are the
11.53a
the
active
of
bounding
points
of
the
curves
of
and
B.
than
two
A
There
be
more
regions
bounding
may
curves,
points of intersectionof the two-dimensional
boundary
depending
on their shapes.
\320\233
\316\267
Bis

are of

These

The order

in

is important;

which

we

perform

combining

for example, in general

operations

in

a Boolean

AuB-C*A-BuC
However,

we

the operators

can

randomly

mix the

are rhe samerype

order

without

within

affecting

model

(11.-59)
a sequence

subset

the resulting

where

all

shape. Thus,

Boolean Models\342\226\240
347

Figure

11.S3

The intersection

uB-C=BuA

operation.
-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
so

and
A

understand

on.To

order
system

geometric-modeling
and

difficult,

potentially

a complexshape.

pathological

Some

of

these

dependence

better, see again Figure 11.39.

accommodate
many interesting,
situations
when evaluating the boundary of
11.54.
The
situations
are shown in Figure
must

of two

disjoint primitives (that is,nonintersecting)appearsin Figure


of two disjoint primitivesappearsin Figure
the
11.54a;
11.54b;
of
where
one
in
union
two primitives
the other
contains
wholly
appears
Figure
of two primitives where the positive primitive
the
difference
11.54c;
contains
the negative
wholly
primitive
appears in Figure 11.54d;the
difference of
two primitives
where the negative primitive wholly
contains
the
positive primitive
of
two
that
in Figure 11.54e; the difference
primitives
appears
creates
two or more new objectsappearsin Figure
the union of two
11.54f;
that
are
in
and
the
union of two
primitives
tangent
appears
Figure 11.54g;
that
inner
or
creates
cavities
primitives
loops
(bubbles) appearsin Figure
Not
are
shown in this figure
the operations^ <jA or A -A Although
11.54h.
has a direct threethe preceding situationsare two-dimensional,
each
also
dimensional analog.
Somegeneralizations
are
in order
(see Figure 11.55). Modeling systems
union

the difference

use

algorithmic

computations.

If

numberof
Figure

two

points\342\200\224a

11.55a).

check the validity


or to speed
of results
curves intersect, they will intersect at an even
condition
is not counted as an intersection(sec
tangent
closed coplanar curves-4 and \320\222
do not
and if
intersect,

to
equivalents
closed
planar
If two

Model Construction

348 > Complex

<d)

<c)

*/
1
1
1

\\

I
1
1

rn

I
1

'

a point

11.S4

is

also

surface

bounding

number of

true

of

Boolean

A, then

curve

S,

Constructive

entirely

will

the

curves

(see

the

not

are

tangents

then

inside

closed

intersection

Figure

curve

A\342\200\224the

the

intersecis

it at an

even

(see Figure 11.55c).If an


surface of a threebounding
will consist of one or more closed

counted

11.55d).

Solid Geometry

Constructivesolid

is the name for a set of modeling


(CSG)
as
solids
complex
compositions of simpler solids.
a
are
used
to create
procedural model of a complex solid.The
a binary
tree of Boolean operations, where the leaf
represented
b;y
geometry

methods

\320\222
is

situations.

curve

\316\241
intersects

nonintersecting

modeling

(see Figure 11.55b). If a closed


a three-dimensional shape,it
intersect

points\342\200\224again,

unbounded plane
dimensionalshape

of

variety

curve

is inside
\320\276\320\275
\320\222

converse

(h)

<g)

<0

Figure

<e)

defines

that

Boolean

operators
is

model

nodes

or directed
sized and positioned in space,
shapes,
and
the
branch
nodes
are
the
set
(union,
operators
(half-spaces),
of this
and intersection). For a good entry
into
the
literature
difference,
and
the
method, see Requicha and Rossignac(1992).
They
survey
critique
field of solid modeling,including
mathematical
foundations,
representations,
algorithms,
applications, user interfaces, and systems.Requicha,Voelcker,
are

surfaces

simple

primitive

Boolean

on

others

and

the Production Automation Project at the University


many of the most importantconceptsof CSG,

Boolean

includingregularized

and

procedures,

many

CSG. Also

of

these

concepts,

boundary-evaluation
we have

of

decomposition
limited

wc will review

them here in
many

con

the

CSG as a generalization
of cell decomposition.
we combine individual cells usinga gluing
models,
form of the union operator where we join
components
need

uses

11.SS

Four general

\316\216/

all the

<d)

properties of Boolean models.

In

at
are

operators

\321\202\321\210.

(\321\201)

of

text

others.

viewed

only perfectly matched faces. Constructive solidgeometry


more versatile, since boundaries of joined components(primitives)
and interiors need not be disjoint.
CSG
match,
Furthermore,

Figure

already

Although

see Mortenson(1989),Tilove
among
(1977),

Requicha(19S0)
a

operators,
primitives,
classification.

point-membership

discussed

operation,

\342\226\240
349

introduced

Rochester

cell

Models

not

reg-

350 *

Model

Complex

Construction

Boolean
add material

ularized
can

solid

Constructive

transformations.

The

transformations
subtree

of

combining

geometry

and

intersect\342\200\224so

representations

of complex

thai

we

solids are ordered

or
or terminal nodes are either primitives
are either regularized Boolean operatorsor
nonterminal
nodes
that
on
their
two subnodes (or subsolids).Each
operate

leaf

whose

trees

binary

difference,

operators\342\200\224union,

as well as removeit.

from
(not a transformation leaf) representsa solidresulting
it.
The
and transforming
root,
operations indicated below
Let
a
us
look
at
the
final
object.
simple example.
represents

a node

of

course,

In Figure11.56,

leaf nodes
the primitives \316\240]
and
andn2
represent
nodes
results
two
internal
of
the
the translation
represent
operations
and
root
node
the final object. Note that the
\320\224\320\273\320\2372.\320\242\320\254\320\265
represents
\316\2402)
(\316\223\316\244
the

four

Ax. The

solids.
Of course,
primitive and intermediate objectsare valid bounded
The full range
to rigid
motions.
of sealing
and
transformations are not limiLed
is
S
uch
transformations
are
theoretically possible.
symmetry transformations
limited
only by the capabilities of subsequentBooleanalgorithms.
bounded
If the
elements
of a modeling system are valid
solids
primitive
the
and the combining operators are regularized,then
solid
models
resulting

\320\273

\321\203

\320\266
\320\247
\321\207

>

*>\342\226\240\342\200\224'
1*

>

_^s

\342\226\240^

i primitive
\320\237

Figure

11.S6

Constructive

solid geometry representation.

Boolean

Models

However, a modeling system is possiblethat allows


the
must
Here, either the user or the system
verify

and bounded.

valid

are

user-defined

primitives.

validity of a

\342\226\240
351

model.

The most

modeling systems is to offer


whose
size,
primitives
shape,position,and
a
orientation
are
determined
set
of
small
by
user-specifiedparameters.For
a
most
systems
example,
provide
block-type primitive, for which we can
the
width,
length,
height, and initial position. The modelingsystem
specify
then
checks
the validity of the parameters (that is, the length,
and
width,
be
values
must
all
real
common
Other
height
primitives
positive
numbers).
are
the cylinder,
are
other
sphere, cone, and torus.These and
examples
shown in Figure
with their corresponding
11.57
parameters (excluding
common

a finite

position

and

in contemporary

approach

of concise,

set

compact

orientation).

modeling systems can also generate


quasiwith Sweeping- or extruding-type operators. Even here, the system
primitives
controls
validity
b;y checking
input parameters. The number of primitives,
is not a sign of the descriptive
For
however,
power of a modelingsystem.
block
and
alone
as
the
have
the
same
example,
cylinder
descriptive
power
the primitive
set consisting of the block, cylinder,
fillet,
wedge,
cylindrical
sets
have the same combining and
segment, and tetrahedron if both
more

The

operators.

transforming

The

primitives

set of

themselves

curved or planarhalf-spaces.

represented

by

the

regularized

by the intersection

cylinder

spaces

sophisticated

(see Figure

11.58).Only

are usually
For

represented
example,

intersection

of six

the

by

the

primitive

of the

six half-spaces

two

of a

block is

planar half-spacesand

of a cylindrical half-spaceand
three

intersection

planar

defining the

the

half-

Arrows indicate the directionof the


of the surface normals.(If normals
the
can
be
they
part
representation,
assigned during the boundaryevaluation
Purely
graph-based
phase.)
primitives are also possible.
The Booleanoperatorsused by CSG systems are the familiar threesome:
some
modelers
include other
union, difference,and intersect.
However,
is
a
of
basic
suchas
which
version
the
three.The
glue,
specialized
operators,
is
not
in an otherwise
because
used,
complementoperator
regularized
scheme it produces
objects.
Also, recall from the discussionofset
nonregular
and
Boolean
that union and intersect are commutative
theory
operators
- \320\222
= \320\222
and
\320\263\320\273
\320\222
\320\220
\320\270
\320\222
\320\270
A
\320\220
\316\267
but the difference
is,
(that
operator is
A),
not (that \\s,A -B^B-A).
More powerful
of a
modeling systems often generate two representations
solid. The first is the procedural or constructive
by
representation
exemplified
a binary tree data structure linking
and
subsolids
successive
by
primitives
primitive

shown

are

block

material
are
of

and

not

in Figure 11.58a.
the direction

necessarily

Model Construction

352 > Complex

\316\212
\316\227

Cylinder
(\320\254)

|d) Insidefittel

/1

~L\302\267*^
\316\223
\316\227

R>*j

\\

|f)

|e) Cylindrical Segment

|h)

|g) Spftere

11.57

Figure

\320\223\320\276\320\273\320\270

Primitive

Tetrahedron

|i) Cone

solids.

as we just discussed.The
transformations,
which
the
describes the faces,edges,and
boundary
representation,
of the boundary
vertices
of the sotid. This descriptionitselfhas two forms\342\200\224
a topological
elements
of the connectivity of the boundary
representation
operators

combining

using

second

and

is

and

numerical

elements.

The

data

shapedata.
The

data describing the shape geometryand position


the object's topology usuallypoint to
defining
representation

boundary

sen \"tation

by

a set

of algorithms

of these

the geometric

from the constructive repreis computed


called the boundary evaluator.The boundary

Boolean

evaluator

and

determines

vertices

where

are created

component

or deleted. Where

Models

faces are truncated and


elements

boundary

\342\226\240
353

new

edges

overlap

or

and thus maintains


element
coincide, the evaluator mergestheminto a single
a solid's
a consistent, nonredundantdata structurerepresenting
boundary.
intersect.
solids
New edges are created where surfacesof two combined
determines
The boundary evaluator finds these intersectionsand
then
by
are actual
classification which segments of the intersection
set-membership
are terminated
edges of the new solid.The new edges
by new vertices, tha t is,
where
the edge intersects a surface.
the vertices must be classified.We
Again,

c<y<</

Primitive

Half-spaces:

solid

\316\271\316\257\316\257,^\316\257
!\316\220/

nOi shown

Figure

11.S8

Primitives as intersections of half-spaces.

354

>

Model

Complex

Construction

little deeper into some of these


the
using
example in Figure 11.59.
First, we intersect each surface of A with
will look a

assumes
intersection
that

of

or heuristic

tests

for intersection.)

candidates

and face b, and list


for

with

combinations,

simple

reasons

actual

edges

are

surfaces

both

that

that

the

edges

that

techniques can dramatically reducethe number


We produce edge eab by intersecting
face a
this way

produced

be apparent.
new solid \320\241The

segment

evaluation,

36

the /-edges.

as tentative edges, or /-edges,

The list of/-edges is a supersetof the


pair

intersecting

face a and faceb are unbounded,


making
all
Next, we intersect all /-edges with
(potentialvertices)

boundary

each
surface
of B; this operation
unbounded.
our
In
example, there are
only 10 producing intersection edges. (Note

will soon

of the

of

concepts

/-edge
the faces

Edge

enb

of surfaces

e\342\200\236b
unbounded,

to produce

is divided

defining

also.

points

three segmen Is
segments as outside,
into

by two of the verticalplane facesof \320\257We classify these


of C. Only segments on the boundary
are
real
inside, or on the boundary
we first classify each /-edge segment with
edges. Doing this in steps,
respect
to each
the
of the
Then
we
use
classifications
instead
primitives,
primitive.
and
tree
them at
them through the model's binary
processing
reclassifying
each successive node. At the root node, the segments of /-edges on the

boundary are realedgesof \320\241

which points near each segmentof a/-edgeare inside


the
are outside. Knowingonly that a segment is on a primitive is
levels in a model's
tree. Using a
it at higher
binary
inadequatefor classifying
Weneed

solid

to know

and which

Figure

71.S9

ace b

Boundary

evaluation.

Boolean Models
model,
consisting
are
inside
and
points

neighborhood
which

indicate

of points dose to the segment,we can


which ones are outsidethe solid. Figure

\342\226\240
355

11.60

model of segment2 of e\342\200\236h.


a small
disk
Here,
symbolizesthe
and the shaded area indicates points insidethe solid.
neighborhood,
is from an end of the segment. The neighborhood
Our
modelis
perspective
defined
the
faces
bound
the
model
I
We
use
that
this
a
by
edge.
neighborhood
models of two primitives
and the corresponding operator to
(or subsolids)
shows

a neighborhood

to
combinetheseneighborhoods
or on the next
of the
level
11.61.

We

create

the

segment

is outside,

inside,

examples are presentedin


at any node in the tree by applying the

tree. More

highest

Figure

if

determine

a neighborhood

indicated operator to the neighborhoodsof the two subnodes.


We can now make some generalizations.
First,faces of a new solid are a
subset of the facesof the combining
We can modify but cannot create
solids.
wc can create new edges
faces,unlesswe admit sweep operators.
However,
we
can
and
and
delete any element type.
vertices,
We
is
have
seen that the procedural representation of a complex
solid
we
it
and
can
This
is
true
of
the
solid
created
generate rapidly.
by
compact
the

ROMULUS

computationsare
procedural

necessary

representation,

11.62.
Extensive
system
(circa 1980s) in Figure
to generate
the boundary representation from
but the boundary
contains a
representation

useful information for computing


and other applications.
Again,
and the boundary
form
is an
powerful

modeling

systems

graphic display models,


is an unevalua ted model,

properties,
form
procedural
global

the

evaluated

model. The

most versatileand

use both.

Neighborhood

Figure

11.60

Neighborhood

wealth of

of segmeni 2 of e^

model.

356 > ComplexModel Construction

Side

view
\320\233

11.61

figure

\320\222

models.

neighborhood

Combining

The next section continues the discussionof boundary


and
review
of the sections on set-membershipclassification
operators

11.4

will

be

evaluation.

Boolean

helpful.

BOUNDARY MODELS

The objectiveof
representation

of

a solid

as an

as a union of
turn are bounded by

a solid

model

boundary

(or

b-rep)

is to

build

complete

We
organized collection of surfaces.

faces (surfaces),bounded by
vertices (points). Faces,then,

on curves; and verticesare at

edge

endpoints.

edges
lie

on

A boundary

ean

represent

(curves),

which

surfaces;

edges lie

in

model stores the

357
Boundary Models \342\226\240

Cytinde

Cylinder

\320\241
utavirey view
chamber

ol

Diiierince1

Spherjcal

Figure

chamber

11.62

Cub*
A

ROMULUS-treated

solid.

358

Model

\342\226\240
Complex

Construction

data of the

mathematical

geometry on which

the

surfacegeometry

on

edge

(the coordinates)

geometry

lies

and which

of the vertices.

lies, the

face

the

which

hounds the face,and

the

curve
point

solids by means of a set of plane


represents
or tessellated models).The faceedges
polygonal faces
called polyhedral
(sometimes
are
lines. This is obviously a special caseof boundary
straight
representation
where
curved
surfaces and edges are approximatedby planes
and
straight
lines. We are assured of a closedboundary
surface
certain
by
topological
between
the elements
of a polyhedral net on the surface.Eachedge
relationships
is adjoinedby two and only two faces and vertices, with an equal number of
A

vertices on the ring

edges and
of

number

method

b-rcp

simple

edges

any

face.

any vertex (with

the

surrounding

faces surround

and

a conical-type surface).Theseconditions
rule
must
the
of
a
solid
satisfy
boundary
Finally,

Generalized

of a

Concept

exception

out

shell-like

open,

conditions:

certain

closed, orientable,non-self-intersecting,
bounding,

an equal
of the apex of

Similarly,

surfaces.
It must be

connected.

and

Boundary

of physical
To begin the discussionof boundaries
let us review
objects,
\316\267
can
be denoted
certain concepts. Cartesian space of any dimension
by
the symbol E\". Thus, ordinary three-dimensionalspace is F?, and
twodimensional
by two real numbers, in \302\2433
space is E2. Points in E2 are defined
three

by

real

and

numbers,

in

E\"

by

Coordinate

numbers.

\316\267
real

unbounded, because the numbersdefining


coordinate
-\342\204\242
real
to
+\302\253..
can take any
values
from
A region
R\" is a finite, bounded portion of spaceE\".

points

The

is
space

space
of the

points

that

its boundary

Thus,
any
region
region
the set of pointsdenotedby R can be divided conveniently into two subsets
the
of a region andi^is
R, and
Rh, where
R, is the set of pointsin the interior
set of points on its boundary.
We write this as
lie entirely

either

comprise

within

or on

the

R = [R\342\200\236Rb]
objects are

All physical
Ry

region

is a closed

three-ciimensional regionsR3.
Given any point
set Rb, or
boundary

surface.

outside the region,in the


to regions of any dimension.
applies
A

is a

curve

unlessit is
the curve
A

are

surface

one-dimensional

closed
in

(1162)

curve;

then

in
in

space,
the

The

it is
interior

boundary

obviously
set

of an

either
this

and
R\342\200\236

region \316\2331.It has two points in the set


are no points in R[.All other
points

there

R[
of

R],

is a

always bounded

two-dimensional region
by

dosed

curve.

R2.

On the

An

ordinary

surface

within

open
this

surface
curve

is

may

Boundary
to

one

occur

Figure

nonintcrsecting

other

All

R\\,

or loops. All
of the curve

curves

closed

\316\267

comprise the set

the loops

points

Models

\342\226\240
359

points

on all

the

are in

R\\ (see

11.63).

we expand

Now

Let

of

a region

R'\"\302\267\"
be

the

of

dimensionality

our horizons a

notation

the

=
\316\257\316\223'\"
[\316\222'\"-'-\",.\316\223'\"1

B\"'

where

points

in

~'\342\226\240\"

is

the

points on the boundary


region. The set

set of

of the

interior

the

because it can be decomposed


intoa
on

its

a similar

conceptof
Any
with

Table

interior.

construct

any region

2.

It is

on the

boundary of the region;that is,


a member
not
of the set R'\"'\".

of

formulation
definition

of

the

the solid
is

pointson the inside

(that

is.

it is

\316\267
we

is necessaryand

in /\")

of the

a member

a homogeneous

outline

the

is

when m

for

B'\"~1\302\267\".Thus,

B13 of

is, it

region,

R3i of the solid.B2,i

\302\243?.
Of

course,

wc can

B'\"~'\342\226\240\".

three properties

R'\"\":

the region; that

a homogeneous

region
boundary and a set

the following

of

set of

dimension. The general

expression

one

inside

For

in

\316\223'\302\267\"
is the

a proper

is itself

of any

It is

outside,

R\"1\" and

on ils

points

1.

3. Itis

of
~yjl

regions

in the

has one and only

in space
to

respect

regions

(11.63)

B'\"

in spaces

is contained

boundary

point

for

of

set

allowable

\320\246.2defines

table

scheme.

- dimensionality
of R and \316\267
Note that m <n. Then
is located.

\302\243in which

space

little and alsomodify

where

E\",

set

/\"'\342\226\240\".

of the set S\"'\"'\".

a member

can

/'\"\342\226\240\"
by an

imply

solid in E3,the
sufficient

or boundary surface
are implied by B13.

for

\320\247-*

~-fi|

plane

figure

and

definition

of

of the solid,where

Figure 11.63 A

the

explicit

explicit

its boundaries.

360

Construction

Model

\342\226\240
Complex

Allowable regions in

Table 11.2

& r-O

Class

Order

E3

RIU

Point

TTiepoint

R13

Curve

The iwo

R2

Surface

One or more

Jmn

No interior

iiseif

endpoinLs

points

define the
surface

ihni

curves

closed

oF the

boundaries

soiici

the

on

the

surface

bounding

The set of all points within the


solid excepi thoseon the

the boundaries of

define

thai

\320\222\321\216

in

sei of all

points
those
on the
except
fi'J
curves in
The

One or more closedsurfaces

Solid

R1

points

The set oF points of the curve


except for the two boundary

surfaces

bounding

in

B2i

B-reps

The

of a solid

boundary

are

appearance
Even

The

reflection.

interface

Manufacturing

from a solid and, therefore,the solid's


the
surface
properties of shape,color,and
by
the bounding
surface of transparent objects influenceslight
other
solids.
surface of a solid is where it contacts
bounding
the
of the surface
interaction
processes are concerned with
of a

surface

the

part's raw-stock

Boundaryrepresentations
(b-reps)ofsolids
The conditions for a well-forme-d surface are

must

between

distinguished
and

objects

the
of

refine

will

boundary

each

with

patches,

should

Faces

1.

finite

2.

3.

The union

face

number
of a

face
satisfy

CSG

and its

for

boundary

representations.

of the

it

conditions.

be closed,

must

We have

or<-

already

object (including two-dimensional

dimensions)

our notation

that

shape.

certain

satisfy

connected.

evaluator

investigate a specifictype of
convenient for us to segment
vertices.

of an

arbitrary

have discusseda boundary


most of the ingredientsfor
We

and

bounded,

\316\267
on-self-intersecting,

objects

the

determined

envelope of a tool path with

entable,

the solid.

outside

points

solid and

the

between

of light

Reflection

environment.
surrounding

texture.

separates pointsinsidefrom

is the primary

The boundary

bounding

interior points, and we


Thus, we have

representations.
of

surface

a solid

It is

and then

computationally
surface of a solidinto facesor
or patch in turn
bounded
by a set of edges and
the following minimal set of conditions:

of faces

boundary

the

representation.

boundary

defines the

solid is a subset of
of all faces of object

the

an

boundary of a solid.

solid's

defines

boundary.

its boundary.

Boundary Models
4,

A face

is itself a

subset or limitedregion

5. A face must havea finite

area

and

of

some

more

be dimensionally

extensive

\342\226\240
361

surface.

homogeneous.

of the simple
These conditions are illustratedby the boundary
surface
of [aces.
11.64. Both objects have a finite
cube and cylinder
in Figure
number
intosix planar faces, defined
The cube's boundary is convenientlysegmented
our
intuitive
notion
by the discontinuities at the edges, and it coincideswith
with
of a boundary. The cylinder'sboundary
is more
arbitrarily
segmented,
the
and
the
natural
the end planar faceshaving
only
segmentation
surface
a division into faces in any number of ways.
cylindrical
is,
requiring
(That
number
of faces
assuming
by vertical edges, wc can have
any
segmentation
of equal or unequalsize.)

<b|

Figure

11.64

Faces

defining

the boundary

of a solid.

362

Construction

Model

\342\226\240
Complex

face of either the

No single

therefore,

cube

or

the cylinder

defines the

of the

subset

entire object;

face
is also
every
complete boundary.
or limited(bounded)regionof a more extensive
sUrfaee. Thus, each
face of the cube is a boundedregionof an infinite
and so are the
plane,
or end faces of the cylinder. Howabout the
disks
surface
circular
cylindrical
a finite
area and is dimensionitself? Each face of the cube and cylinderhas
or isolated
ally homogeneous. (There areno dangling
edges
points.)
We can represent the planar facessimply
bounding
by their
edges.
the
faces
more
information.
For
curved face
However, curved
require
example,
be
a
of
a
surface
Bezier
where
we
define
this
surface,
by its
may
region
and
the
eUrve
on
this
surface
characteristic
we similarly
define
that
polyhedron,
face

is a

Each

a subset

the

delimits
computational

face

or

conventions

one

illustrates
parameterized
in

face

the

delimiting curve

the

actual

devices

to indicate

polygon.

There

on which side of an

are
edge

or

have investigated several,and Figure 11.65


Here, the face-bounding curve is
to the face side of
so that the vector \316\267
xt points

lies. We
convention.

such

direction

a consistent

characteristic

its

with

curve.

b-repis best describedby a hierarchical


graph
that form the boundary of a solid.The
faces,
listing the
on
consists of one or more
shells,
complete
bounding
depending
the presence of internal voids, or disconnected
islands
solids
(if
imaginary
are admitted). Each shell consists-of one or more faces, where a face is a
subset
of a surface
An
connected
bounded by a elosed connectedset of edges.
of
a
the
a
curve
bounded
two
vertices.
is
segment
by
edge
points,
We can Usuallysegment the boundary
of an object
into faces, edges, and
of an
verticesin an unlimited
number
of ways, so there is no Unique
b-rep
valid
object. As Figure 11.66 shows,there are
boundary
many
representaThe

data

structure

of a

edges, and vertices


surface
of a solid

Figure 17.65

Face boundary

convention.

Models

Boundary

tions

and cylinder. The cylinder

the cube

for

having

equivalent,

topological

the same

Geometricdata for eachobject different,


the
same
cylinder and cube
topology
have

are

object's
information

(for

we

segmentation,

boundary

combinatorial
structure.

We

example,

with

each

vertex

For example,in
then the object is

other.
2,

scheme.

speaking, a

Strictly

of how their bounding


confusion when diseussing an
of its topological or

regardless

speak

the term metric information


the coordinates
of a point).

use

In general,topological
structure
independentof

course.

of

to avoid

Sometimes,

segmented.

cube is its

of each

right

boundary-segmentation

are

surfaces

Ihe

to

\342\226\240
363

and

metric

to mean geometric

information

Figure 11.67,
no longer valid.

if

we
We

make

arc not
1 coincide
a valid
a valid

vertex

that

conclude

combinatorial or topologicalstructuredoesnot in itself guarantee


for both metric and
conditions
object. We must reestablish validity
on
of |he representation
topological
dala.
These
conditions
characteristics
depend

\316\252}

/\320\243

\320\273

L_

j\342\200\224~
>

\320\243
\320\243

Figure

\320\243

\321\203

\320\243

\320\243

11.66

Boundary

representations

are not

unique.

364

Construction

Model

\342\226\240
Complex

which the construction


ited to faces defined by
There
are powerful

processes allow (for example,many


three

by
Ordinarily.

facesembedded

edges are definedby

the solid's

where

be determined

must

validity

face,

these surfaces.

where

edge, and vertex relationships.


as the union of very general

than

surfaces,

lim-

edges).
schemes

b-\320\263\320\265\321\200

meansother
computing
theseschemesdescribe solid

extended

are

schemes

These schemes are not true

Boolean intersection is usually

directed

in

of

intersections

since

half-spaces,

to the

related

not

the

their net

object model, and surface

from the face is not important.


We
can
construct
such
models
surfaces
to create
in two different ways\342\200\224assemble
solid
that
combine
to
more
as
in
CSG
create
then,
schemes,
complex
primitives
and construct complex shapes
altogether
shapes,or omit the primitive
phase
surfaces. The procedures
and intersecting
directlyby assembling
appropriate
to and

external

behavior

remote

on b-repsare
using Booleanoperations

evaluation

or

algorithms.

merging

examples.

The

statement

following

as boundary

known

commonly

look at some two-andthree-dimensional

Let us

the shape

implies

of a complexohjectb:

S=AuB
In

primitives

We

regions are

regions are the


determine
these active

bounded

by

active regions,and we denote


regions with two conditions.
of the

intersection

the

that the bounding surface


of the bounding surfacesof

te regions

of appropria

B. These

and

and
aH.
\316\261\316\273

set

means

this

schemes,

boundary-representation

of S consistsofa

(11.64)

\320\254\320\222.
the
In
two-dimensional
B;
is, bA \316\267
intersection
consists of points 1 and 2, which

that

the type

example

of combiningoperation.Second,
we

\\
\\

\\

V
\\

'

/S
'1^-V
f

\\

/\342\226\240

K.j

y/

select

-~

Figure
Interdependence

and

11.67
of

topology

geometry.

in

obviously
the

hy

First,

ihe

surfaces of

boundary

are

them

active

Figure

11.68,

and

the

independent

region

ofaspe-

of

Boundary Models

\342\226\240
365

classification being inside,outside,or on

based on its
primitive
of other combining
boundary

eific

the

primitives.

The combiningsequenceof the


tree (seeFigure11.69)reduces
to

three

linear

by the

represented

primitives

the

A uB-C.

sequence

binary

Each

the Boolean operations (see Figure


performing
a two-dimensional example, the primitives arc closed
curves.
The zero point of the parametric variable is shown,along
parametric
with
an
arrow
the direction of parameterization.
indicating
Counterclockwise
is tlic positive
direction of parameterization for curve
a
loops
enclosing
solid region. Curve loopsparameterized
clockwise
or define
enclose
holes.
The union of A and Sin two steps is shown in Figure
11.69b.
Here we find
the intersection of the two bounding
curves
of A and B, points uy and u2:
is

primitive

in

for

position

this is

Because

11.69a).

(11.65)

\320\234\320\277\320\254\320\222=[\320\270,,\320\2702]

This

operation, the

active

regionofbBis
are

both curves

divides

operation

of bA is

region
that

boundarycurves.

The

active

from

0 to

ulA

and

u>B

to u2B-

on

bB\342\200\224from

intersections

is,

bC with

the

the

as

well

the first

again,
active

\320\241
(see

revised

step. In

regions

\316\267

Once

part

the

we find
effect

of bC that

11.69c).

regions

on

aA)

is one

we

this,

of

Here
and

bA

Find

bB.

only

two

intervals\342\200\224

active interval
\320\270
\320\224
and
\320\220

a\342\200\236

taking

we find the

active

Computing

the intersection

of

bB. For our example,

of bA and

(bC
determine

Figure

doing

of

results

the

using

respective

consists

aA,

1. There

to
\302\253M

definition by

the shape
difference with

regionson bCas

t of bA lying outside B. The active


lying outside A. To the right in this figure

from

other

We complete
its Boolean

the union

For

segments.

on bA, denoted

region
the

two

parametric intervalsof the

regions on the unit

active

one

of bB

segment

into

t segmen

tha

\320\270
(bC

\316\267

aH)

[\320\2703,\320\270\320\273]

(11.66)

proper interval ac on bC and


this is a differenceoperation,\320\224\320\276:is
that
is inside the result of \320\233\320\270
\320\222.
We
re
tainaA and aB by
modify
u3

and

we
\320\2704,

on aA and

select

the

aB. Because

Figure11.68 Boundary

intersection.

366

Construction

Model

\342\226\240
Complex

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
]

\",\321\217

^bS

\320\272

IS

\"\320\260\321\201UJC

Figure

ing

Only

those

by the bold

Two-dimensional

11.69

A similar
regions

representation.

C. The effect on aA,


lying outside
portions
at
sections on the unit parametric intervals

11.69c. The union of


always definesoneor
surface

boundary

situation
(faces)

the
more

active
closed

occurs

on all

with

after

intervals

1 J

aH,

the

and

right

any combining

is shown
\321\217\321\201

in Figure

operation

loops.
three-dimensional

the primitives

combined to

objects.
form

The
a solid

active
will define

Models

Space-Partitioning

by fl2. We

sphere

Figure 11.70the

define the cylinder by

whose intersection curvesoutlineand


face regions definesthe boundary
and
curves
active regionson curves,
active

of

regions

primitive

onto

Ylt

unit

into

(cylinder)

square

outlined.

surfaces

the

that

clockwise direction.)

We

of

and

bYlt

parametric

space

surface
case,
t

map

is a
\320\254\320\2372

regions.The

the cylinder. Points bound


aetive regions on surfaces. The
of

surface

bound

we
also

closed-space
First,
representations.

in

the primitive

\316\2402
(sphere).

The

intersection

curve, which appears twice in the


the intersection curve is associatedwith
with constituent
surface A of \316\240,.In
t, The

fl3

of

functions

space from

the

or

each

unit

MODELS

take a commonobject\342\200\224a
it into

decomposing

these

space.

parameter

SPACE-PARTITIONING

We can

the

space. Their respective active regions are


parameterize
loops defining holes in the

D; second, it is associated
the curve is a function ol a third parametric
variable
into the unit square in u,w parameter
the curve

interval

11.5

sec

surfaces
union of these

in this figure are shaded.We decompose


its constituent
surfaces and map each of

in parameter

(Remember

lace

bound

cylinder by

\316\240
and
\316\271

of three

combination

the

union

of [he

consists

shape

cylinder. We denote the

a skew-truncated

with

sphere

[he

For example, in

surface.

a closed

of

\342\226\240
367

separate

coffee

pieces so that

mug.
each

for

imagine

example\342\200\224and

piece

is easier

to describe

than the original (see Figure11.71).


As
the
first
step, wc detach the handle
from the mug.This seemsnatural
and
because
reasonable,
topologically
there are then two parts,
each
a
with
topology, instead of
simply-connected
onemultiply
connected
Next, we detach the bottom of the mug.Now
object.
there

are

multiply connected

two

parts

with

topology.

a simply
connected
topology
If necessary,
we continue to

and one with a

decompose any

or

all ol

This
criterion.
parts until wc meet some predetermined
describability
is known as cell decomposition.Wc can represent
any solid as the
process
sum or union
of a set of cells into which it is divided.Cell
is
decomposition
the total object may not be amenableto representation,but
useful
where
its
cellsare. There are many ways of decomposing a solid into constituentcells;
none
but all are unambiguous.
is unique,

these

Spatial-occupancy enumerationis a specialcaseof celldecomposition


cells
are cubical
in shape and located in a fixedspatialgrid.As the size
of the cube decreases, this method approaches
of a solid
the
representation
in space.
To define a solid using spatialbody as a set of contiguous
points
enumeration
a
convenient
way to represent this set of
occupancy
requires
cubical
cells. One way is simply
to
list the coordinates
of the centers of the
where

368

\342\226\240
Complex

Model

Construction

Figure 11.70

Three-dimensional boundary representation.

Space-Partitioning

\342\226\240
369

Models

Figure

cells; a solid objectis thus


maximum

of the

resolution

Cell decomposition

11.71

model.

Two advantages of representinga solidby

is easy to accessa given

size determines the

cells. Cell

of adjacent

set

example.

arrays

spatial

are often

cited: It

There are
spatial
alsodisadvantages:
There
is no explicit
between
the
parts of an
relationship
schemes
demand
and
such
amounts
of
data
usually
storage.
object,
large
A ceil
in a spatial array is either occupiedby a piece
of the solid or it is not.
1 or 0 to indicate spatialoccupancy.
A ceil can be marked with
the
binary
this
of
were
schemes
Early
type
highly redundant, becauseall cellsof an
it
was
were
even though
marked,
object
highly
likely that any particular cells
had the samestateas cellsadjacent
to it. Only
close to an object's boundary
for a change of state.
do chances
increase

Quadtrees

and

use
first.

spatial-occupancy
The quadtree

recursive
a square

their

point,

and

three-dimensional

enumeration

uniqueness

analogs,

is assured.

octrees,

suggest a

more efficiently. Let us look at

way

quadtrees

to

of a two-dimensional object is basedon


representation
of a square array into quadrants.Eachnoderepresents
subdivision
on a plane. In computer-graphic
be the
this
may
region
applications,

370

Construction

Model

\342\226\240
Complex

of

tree
has two
plane of the display. Whereas each node a binary
has
four.
each
node
a
of
descendants,
quadtree
two-dimensional
In Figure
11.72, we superimpose a square on an arbitrary
If the object does not uniformly cover the
then
we subdivide
square,
object.
If any of the resulting quadrants is full
the square into four equal quadrants.
or empty,
which
is true for
then we do not need to subdivide it further,
of
the
quadrant 3 in this
is
full, we
resultingquadrants
example. If any
partially
We continue to subdivide partially
subdivide it again
full
into
quadrants.
are
full
or
or
until
wc
until
the
either
quadrants
empty
resulting regions

screen

can
declare
reach some predeterminedlevelof resolution.
We
the
arbitrarily
a
full
or
as either
full
quadrants
empty according to conventionwe
partially
establish.

node of the quadtree representsthe entire


It is the universe
array.
no
and
that
further
subdivision.
nodes
element,
require
leaf
regions
represent
and
related to powers of 2.The
Such regionshave standard
sizes
positions
The

root

from a

subdivisions

nested

of

number

determines the node's level in

represented

quadtree

to

node

given

height of

If the

node.

the

by

the

and

the

also the

the tree is n,

element

universe

size of the region


maximum

the

then

~ 3, and
in Figure 11.72, \316\267
2\". For
the example
array size is 2\" \317\207
potential
are
33
of the efficiencies of quadtree representation,
there
because
only
The
nodes instead of 64 (that is, 23 \317\207
resolution
to
accurately
23).
necessary
in size of gross and fine
represent an object dependson the difference
of the object
and curvature of the boundary.Thegreaterthe magnitude
features
of n, the greater the resolution. Reducingan object
model
into a quadtree
is
quadtreeencoding.
representation
Octree
is an extension
into three dimensions of qu adtree
encoding
a sol id-mo deling method basedon octree
encoding. Meagher
(1982b)
developed
for
the
encoding
manipulation,
analysis, and computer-graphic
high-speed
a
of solid
uses
His
objects.
spatially presorted8-ary
display
approach
tree

hierarchical

that

the

structure,

grow only

linearly

with

inherent data presorting in


model proceedssimilarly
to
subdivide

Each

a cubical

height

For

of an

node
of

region

the

tree

to represent

octree,

complexity

object

tree

the

quadtree

structure.
encoding.

computations
analysis

representing,
on
algorithms

uses

also

algorithms

advantage of the
The octree encoding of a
Here we recursively

by taking

or eight cubicalregions(seeFigure
|1.73).
not a leaf node has eight descendants.If the

into octants

octree

that

is n, then

is

the maximum potentialarray

= 3.
the example
in
the
\316\267
figure,
Octree
and quadtree encoding schemes

possibilitiesfor

solids, ft

analyzing,
these
fast

and

models
are
and amenable

suggest

displacing

many

size

is

2\"

\317\207
2\".
2\" \317\207

interesting

complex solid objects.All

based on integer arithmetic,making


to parallel processing.Meagherand

\320\276
\320\263\320\276

1\320\233
\320\263\320\273
r*j
fl\320\263\320\273
~. \320\223\321\207

\317\203>
.;
tD

\320\263\320\276
(\320\234

\320\276

\320\241\321\2071
\320\223\321\207

\320\233
\320\223\321\207
\" \321\201\320\276
\342\226\240%.
1\320\233
\320\223\321\207
\320\277
\320\240^
~ *\320\242
\320\223\320\2471

\"

\317\204

(0

\320\223\320\236

\316\261.
\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

Construction

Model

Figure 11.73

others

models;

combine

that

geometric

that translate,
rotate, and scale octree
Boolean
using
operators; and that compute
and
interference
analysis. These schemes, and
perform
offer
hcuristi-c
tools for rapid preprocessing or sorting

demonstrated

have

properties

variations

on

them,

Octree representation.

algorithms

them

modelsbasedonothertechniques.

RELATIONAL

GEOMETRIC

SYNTHESIS
to geomemc modelingand
an
innovative,
object oriented,
design,
structured
environment
that
the
relationally
efficiency of
greatly
improves
the design processand resolves
many
long-standing
problems. This chapter
to the characteristics
of relational geometric
begins with an introduction
a discussion
followed
synthesis,
of relational model structure,model
by
and
relational
evaluation, serialization,
entities. A detailed example and several
are
concludes
with a discussion of open
applications
presented.This
chapter
Relational

relational

in

developer
Seth

chapter

of

relational

H.

Porter,

geometry.

by Dr.John S.Letcher,Jr.,principal
synthesis, and his associates D. MichaelShook,
A. Dickson. They can be contacted
at:
Aero-

was co-authored
geometric
and George

Box 684, Southwest Harbor,ME


hydro, com.

Inc., P.O.

Hydro

http://www.aero

12.1

approach

it offers

geometric

issues
This

is anew

synthesis

geometric

computer-aided

04679,

(207)

244-7347,

INTRODUCTION
Relationalgeometric

synthesis

provides

outstanding

important
profound

structure

new

benefits

characterized

in practical

(RGS)\342\200\224or

relational

for

CAD

problems
design.

geometry

an

(KG)\342\200\224is

geometric design. RG

for computer-aided

framework

object-oriented

programs and CAD models that solves


modeling and confers

in geometric

Compared

with

conventional

CAD,

RG

is

by:

373

374

Geometric

\342\226\240
Relational

1. A

Synthesis

synthetic design approach,building


to

points,

geometry\342\200\224from

Up

to

curves,

from

simpler

to more

complex

sequential

surfaces\342\200\224through

constructions.

2.

geometric
and

extensible

model.

3. Supportof

rich

large variety

elements

the

between
relationships

of a

retention

and

Representation

easily

of

(objects)
set of

constructive

comprising a geometric

methods

for

object

construction.

and

construction

for

Methods

4.

in

embedded

durably

of point, curve, and surfaceobjectsexplicitly


curves
other objects; for example, points and

in surfaces.

embedded

surface
between
5. Methods for construction of accurateand durable
joins
objects without performing surface-surfaceintersections.
of para metrically variable modelsinvolving
in the
6. Facility
construction
surfaces combined with durable
free-form
and
sculptured
complex,

topology.

7.

and

serialization

Compact

of complex

storage

form of a geometric-representation
language.

for

throughout

geometry

parametrically

generating

and/or

evaluation

engineering

for refinement

and

In the

advantageous applications for


design. In particular, its facility
computer-aided
varied geometries in forms suitable for visual
analysis enables an unprecedented potential
to many

lead

characteristics

These
relational

of

optimization

balance of

designs.
we

Introduction,

this

geometries, in the textual

amplify

briefly

each of

these

characteristics.

5yn

thesis

to modeling builds upward


for
Point
objectsare the foundation
objects.
The

to more complex
simpler
Curves
are typically
model.
any
of ways or, in some cases, from other
in a variety of ways
from
or,
curves

RG approach

constructedfrom points
curves.Surfacesare

in

typically

in some

and from

cases, from

variety
constructed

from

other surfaces. Further geometrycan

constructed

be

on

surfaces.

Capture of Relationships
The

CAD

conventional

geometric objects

added to a

CAD

by

model

design

process

execution

is created

of

requires

\316\220\316\267\316\265
creation

user commands.
in some definite

of a

Almost

sequence

of

every object

relationship to one or

\342\226\240
375

Introduction

more

objects
in

even

but

and
model; for example,size,position.shape,
exist
in
of
the
mind
the
relationships
designer;
only
the cases where the intended relationshipis explicitly
utilized
is
by the CAD program, as soonas the new object
information
is discarded. Thus, a conventional
relationship

communicatedto

and
the

constructed

in the

already

these

of

Most

orientation.

CAD model consistsof a collection


self-contained objects.
If the designer had perfect
foresight

modeland allits properties

from

the

of

essentially
and

outset

independent,

unrelated,

the completed

could

envision

of the

design, this loss of

be of little consequence. However, it is well


a
design
simple forward process.It is far more often an
iterative process: Design is carriedforward
to some
stage, then analyzed and
then
the
has to retreat to some
evaluated; problemsare identified;
designer
some
earlier stage,change
elements,
and work forward again. It is typical
that
of the
iterative
skills
many
cycles are required, depending on the
and
whatever
constraints
designer, the difficulty of the designspecifications,
information

relationship

might

is seldom

that

known

forward
the
objectives may be present. In each
stage,
to
will
have
designer
repeat many previously
performed
operations
to restore
in order
(updating),
relationships disrupted by the revision of earlier

and

optimization

designelements.

is a
existing design to meet new requirements
similar problems are encountered.A change
that
an early stage of the designrequiresat least one forward
pass through
oi

Revision

common

alters

a previously

in which

situation

all the subsequent design stages to restore disrupted


The
relationships.
can
be
and
difficult,
updating
process
very
time-consuming\342\200\224
error-prone,
if the relationships,
and the sequence of designstagesto achieve
particularly
them,

have

been

lost.

RG provides a

comprehensive frameworkfor capturing,storing,and

Each relationship expresses a


another
or, conversely,the supportof the
object upon
second
the
first.
Since some objectsmay depend
on two or more
object
by
other objects, and someobjects
two
or
more
other
objects, the
may
support
in a relational
overall structureof dependencies
model
is that of a relation or
utilizing

relationships

between

objects.

of one

constructive
dependency

directed

graph.

The
relationships

automaticallyupdated

preserving
relationship

property

to capturing and maintaining interobject


affected objects can be identified
and
in appropriate
a
following
sequence
change in any object,
all captured relationships. A qualitative property or quantitative
is so captured and maintained is referred to as a durable
that
the RG model.

principal
is that

of

advantage
the set of

376

Geometric

\342\226\240
Relational

Rich and

Synthesis

Extensible Entity 5et

RG is also

set of geometric object classes{entities).


more
distinct constructionsofa singleobject
represents
from
of other objects. An
a set
RG
instantiated
from one of these
object
classesknows
it
and
from
how
was constructed,
what other objects; this
of its stored data. RG providesa unified
information
is part
on
framework
which many useful methods of construction of points,curves,
and
surfaces,
solid objects can coexist and complementone another.
In contrast
to the restrictiveness
and homogeneity of NURBS-hasedmodin which
all geometry
is fundamentally represented as ratiosof B-Spline
eling,
tensor
RG
is
a
products,
heterogeneous, inclusive, pluralistic framework.The
mostfundamentaJ
of an RG object is simply a
representation
precise
statement of its method
of construction plus thosedata values requiredto complete
the
of any supporting objects.Many
the identities
construction,
including
different
methods
of construction
can be supported within
RG,
including
in two important
NURBS.This
pluralism has a cost in complexity,
ways:
characterized

of

each

by

a rich

one or

which

1. The entitiesall require

different

2. Essentially,each entity

requiresa

However, the
object-oriented
modeling

Embedded

and

types

different

additional complexityis found


program design, and it does

flexibility

and

quantities

of dsta.

cvaluator

procedure.

to

confer

be

through
in
advantages

manageable

profound

accuracy.

Geometry

Many ofthe entitiesin

embedded

in

other

RG

of higher

objects

in a

embedded

Beads\342\200\224points
Magnets\342\200\224points
Snakes\342\200\224curves

constructions

provide

embedded
embedded

or same

curve

in

a surface

in a

surface

object is durable
relationshipof
supporting object (host).

The embedding of an
through a dependency

are explicitly
dimensionality,for example:
of objects that

the

qualitative
embedded

property
object

(guest)

captured
on the

AccurateJoinsbetween5urfaces
In
play

conventional
a

prominent

must share a

solid modeling, intersections between surfaces


troublesome role. Typically, when two surfaces
commonedgeeach of the surfaces is made arbitrarily larger
surface

and

and

often

Introduction

\342\226\240
377

than

so that they deliberately intersect;the


between themis then determined,
and

necessary

of intersection

of each surfacea re trimmed

the curve

portions

solution

the intersection.This

a long

off

for

the unwanted

process has many

for much of the complexity,slow


found in these programs.
frequent
RG providesseveralrelatively
and
efficient
robust
ways to construct
surface
durable
Often
these procedures
objects
having
joins.
multiple
precise,
are
the
of the conventional
inverse
process; that is, first design the
build
the adjoining
surface or surfaces to conformto it.These
intersection, then
do not solve all surface-to-surface
methods
joining problems,so projectionand
methods
intersection-based
are also supported, but they are neededfor
at mosta small percentage
of the junctions in typical RG models.
and

difficulties

pitfalls,

response,

account

which

of robustness

lack

and

ParametricModeling
combined
result

from

with many
captured

so as to

are constructed

models

RG

Typically,

have

metrical
topologicalpropertiesor
The parametric degrees of freedom
often
values, parameter values,or coordinate
point objects which are acting as supports
permit visual,interactivevariations dragging
is to support numeric variables
expressions
which geometric elementscan depend. either
variable
models
high level
parametrically
of
as
as
optimization designs,
adaptation
quantitative,

can

and

for

parameter
other

point

by

with

well

new

a combination.
as coordinate
offsets
of various
tends to
This
geometry.
An alternative
objects.
relational

as

In

Compact

properties,

or
properties,
be expressed

and

designs to satisfy

durable

many

parametric degrees of freedom.Thedurableproperties


can be qualitative,
and embedding.They
relationships

objects

on

at a
refinement
and
rapid

the ability

case,

enables
customization

and

to work

of existing

requirements.

Storage

The serialization of

an

RG

model

includinginterobject
the compactnessresults

from

redundsneies

in

the

the

the complete model structure,


form. In part,
extremely
compact
of references
to objects to eliminate

expresses
in

relationships,

use

an

More

representation.

results from the expressionofthe modelin


prescriptions\342\200\224a sort
than
scratch\342\200\224rather
as all the
relationships and

profoundly,
of

terms

the compactness

constructive

code for recreating the modelfrom


elaborated detail.
of genetic

Related Developments

Sutherland's

Sketchpad

project

to point objectsto establishdurable

(Sutherland
connections

[1963])

utilized

between

stored references
to
Reference

lines.

378

Geometric

\342\226\240
Relational

Synthesis

objects by name or address, and geometry languages,


APT machine-tool programming system and in Armit's
Some
ject, ICON, and TAG projects (Armit
[1982]).

underlie Boeing'saerodynamics
grid

some
one

(AGPS),

may

pomeroy [1987]). AGPS has at least


(Sneppand
other
objects for their data, achievingat least
Snyder
(1992) presents a proceduralUpdating.
which
CAD
rapid
regeneration
supports
following
Each of these systems a Howsa scriptto be
objects.

automatic

of

level

of RG

reference

which

entities

in the

Multiob-

Multipatch,

elements

system

paneling

used

also

system

generation

grid

proprietary

and

were

languageapproachto

changes

in

underlying

a complex

to regenerate

variations.
geometry with parametric
of
a
multilevel
r
elational
Further,
examples storing
structure of
selective updates of only the
interobject
dependencies,
permitting
are actually
affected by a change. Armit (J982)
portionsofthe modelwhich
discussesthis capability
in a surface
modeler,TAG. PADL-2 is a CSG solidorder

in

executed

are some

there

framework

modeling

with

this

feature

(Brown

[1982]).Gossard,et

describe a dimension-drivenpolygonalsolidmodeler.
and

Constraint-based

of RG,

Updatingcapabilities

variationalmodelingaccomplish

but we

and their relevanceto free-form

MultiSurf

flavor

to

three-dimensional

some of the
different from
to be
modeling

be quite

RG,

limited.

relatively

apparently

find their

al. (1988)

RGKemel

and

MultiSurf is a Windows-based relational surfacemodeler


available
from
of MultiSurf,
Aero Hydro, Inc. The working demo version
availa blc free from
the address or web site noted previously,
will permit the interested reader to
about
in
learn
relational
far
geometry
greater depth than the subjectcan be
treated
in this chapter. RGKernel, the \320\241
the data storage,
library
providing
and
evaluation
of MultiSurf,
functions
maintenance, serialization,
geometry
is also available from AeroHydro, Inc.as a software
It is noted
component.
that the novel features of RGS are the subject
of patents
and patent
applications

12.2

in

several

RELATIONAL

Object versus
Any

countries.

MODEL STRUCTURE

Entity

geometric-modeling

from

must
program
or classes, such

provide

means of creating objects

as point, line,polyline,
circular
arc,
solid.
CAD
nomenclature
tends
to
the
words
patch, rectangular
apply
more
or less interchangeably
to both the abstract objectclass
object and entity
several

Bezier

object

types

these

differentiate
the

and

concepts,
convention;

following

The

abstract

The

instantiated

object class is called an entity.


object is called an object.
of the entity

to think

way

suggestive

object of a particular class.An

on oneof
abstractdata
is
allocated

From

forms.

these

plus

type,

the

and

one

for

form

blank

structure.

one of the data fieldsin any entity is for an object naive.


names
have
model,
every object has a unique object name.Object
for
objects on the screen, and for selecting
objects editing,
identifying
the more critical and
and
However,
interrogation,
export
operations.
of object

names

RG entities

represent

the

(supports);

objects

is for

RG

in

the

an

specifying

object
by filling in all required fields
the programmer's
point of view, the entity is an
or more methods for utilizing the data; an object

data

filled-in

is as a

is created

In RG,

characteristic
use

379
\342\226\240

the need
to
from it. In RG we experience
to avoid confusion wc recommendadherenceto

instantiated

the objects

and

Structure

Model

Relational

construction

identity

Within

in

utility

specifying interob/ect dependencies. Most


of an object from one or moreother

of the

supports is expressedby

use

of

their

names.

Example:

RelPoint

Point

Relative

the name

object

from the

is instantiated

of a basis-point object, and

the

RelPoint entity
coordinate

x,y,z

by

offsets

filling

in

from the

basis point.

Example:

BCurve

object is a parametric B-Splinecurve


ordered set of controlpoints(vertices).
list of object names.
points is specified by an ordered

B-SpHne

made

of

Curve

from an

The

degree
of supporting

specified
set

Example: CLoftSurf
A

C-Lofted

Surface

curve objects in

object

is a

parametric surface

sequence. The set of

that

interpolates

curves

supporting

is specified

a set

of

by an

ordered list of objectnames.


Entity

Classes

and

Subclasses

entities can be arranged


basis of dimensionalityand embedding,

Most RG

into

a class
as in

primarily on the
12.1. The parent classis

hierarchy,

Figure

380

Geometric

\342\226\240
Relational

Synthesis

the member data at this levelincludean object


and
such
codes.
commonattributesas colorand visibility
code,
order
of
the
is
in
RGObject,
hierarchy
dimensionality:
descending
RGObject;

RGSolidsare
RGCurvesare

parametric

are

RGSnakes
are

RGPoints

=
\317\207

dimensions,

x(u,y,w).

curves

in three-dimensions,

curves embedded

parametric
in three-dimensions

\317\207

=x(f).

in an RGSurface.

points

are points embedded in an RGCurve.


are points embedded in an RGSurface.

RGBeads
RGMagnets

RGRingsarepointsembedded
in

an

RGSnake.

inheritance
diagrammed in Figure 12.1 primarily
of methods permitting objects of one class serve
of another class. For example,any
or any
RGPoint,

The

to

RGPoint, can be evaluated


samex,y,z coordinatesfor any
an RGCurve

evaluating

true;

From

=
surfaces in three-dimensions,\317\207
x(\302\253,v).

are parametric

RGSurfaccs

three

in

solids

parametric

an entity

name,

as

a
value

degenerate

existence
instances

object subclassed from


it just returns the
RGCurve;

degenerate
of the parameter

as an

the

indicates
as

/. (The

converse is not

RGPoint would not make sense.)

be evaluated
as a degenerate RGSnake. As
another
method to be evaluated as an
an
RGSnake
a
example,
requires
for
coordinates
RGCurve,
x,y,z
given parameter value /; but it
returning
does
not make sense to try to evaluate
an RGCurve
a s an RGSnake,sincean
in general
RGCurve
does no! Jie in any surface.
There
are some problems with
in Figure 12.1. Clearly, it is
the
hierarchy
rife with multiple
inheritance which, although supported to somedegreein
many
object-oriented
systems, is nonetheless a rich sourceof
programming
and
of solids, surfaces,
difficulties
conceptual implementational
Embedding
Similarly,

RGMagnet

any

curves, and points in

sentablc

in

the

can

solids

presents

more

complex

possibilities

not repre-

diagram.

entity classes that do not fit into these dimensionality/


in several
embedding classifieslionsRGPiauesare infinite
planes
specified
and
used
in
a
of
constructions.
RGFrames
are
local
Cartesian
ways
variety
a
coordinate frames.RGGraphsarenongeometric
entities
that
provide
uniform
to specify
univariate
functions, used to enhancethe modeling
way
of
also nongeometric entities, provide a
entities
many
RGRelabels,
flexibility
There

are other

versatile

way

to

reparameterizc

curves

and surfaces.
versus
iterative.

as direct
Entities can also be classified
Objects instantiated
number
from a direct entity
be evaluated
can
exactly and uniquely in a finite
be
evaJuof operations
the
can
exact
and
that
arithmetic,
(assuming
supports

381
Relational Model Structure \342\226\240

RGObject

Contours

Solid

(5)

Frame (2)

Plane (5)

(0)

Surface (24)

Line

Curve

(1H

*- SubSurf

(17)

Snake(15)

SubCurve (2) Point (15)

Bead

SubSnake

(4)

Magnet

(3)

(1)

(1)

Ring (3)
Figure

12.1

Class

hierarchy

represent

the

of relational
current

entities. Numbersin parentheses

population

of each

class.

382

Geometric

\342\226\240
Relational

Synthesis

the
AnAbsMagnetisa simple example;it just requires
evaluated
Iterative
entities
at a single specifiedu,v position.
a
or
an
a
search
For
iterative solution.
require
example, IntMagnetis
point on
a surface at its intersectionwith a curve; locating it requires solution of three
in the three unknowns t.u.v.The
simultaneous(usually
equations
nonlinear)
iterativesolutionmay require many surface and curve evaluations; may fail to
fail to converge; may have multiple solutions;
exist;may
may
require
provision
of starting va lues for the unknowns;
and may have limited accuracy becauseof
for their simplicity,
truncationerrors.Direct
are highly
entities
preferred

ated exactly).

to be

surface
supporting

recently
procedural

Essentially,

constructing

combination
repetition

that

of

domain.

As

broaden

the

robustness,

bu

tivc

itera

entities

sometimes

provide

entities.
available
through
class of entity is designated as procedural.
developed
the construction of a curve, surface,or solid
entities
permit
one
or
typical
point, curve, or surface using any sequence
of point, curve, or surface objects,
the
then
automating
over a one-, two-, or three-dimensional
construction
parametric
the
entities
entities,
essentially
user-defined
vastly
procedural
the direct

not

constructions

necessary

by

and

accuracy,

efficiency,

of relational

flexibility

modeling.

Model Relation and Digraph


of objects
model
consists of a set \320\236
ou o2,... oiV, and
of
constructive
r,,ri,. . . r.w.each
relation)
dependencyrelationships
A

logical

an

relationshipcomprising
(support,

ordered

A relation

dependent).

the nodes are objects, and each edgeis a directed


is the number
two objects. 'ITie in-degree of an object
the

number

We speak of the

of its

to

is an

there

which

upward

the
Figure 12.2
12.2aconsistsofjust

relationship

of its

in

between

supports; the out-

dependents.

set of all objectsto which

through the digraph as the

R (the

of \320\236
in the
order
pair (<?,,oy) of elements
can be depicted by a directed graph (digraph)

which

degreeis

a set

of

descendants

path as the

there

the object,

is

a downward

path
and the set of all objects

object's ancestors.

three simple relational models. Figure


digraphs
absolute
an
two
objects,
point and a relative point.(An
its x,y,z coordinates,
has no supports; its data is simply
absolute
point
plus
some attributes commonto allRGPoints.)
12.2b
consists
of
five
objects:
Figure
four absolute points and a BCurvemadefrom them. Figure 12.2c also consists
of five objects
and
form
the identical
is similar to Figure 12.2b,in fact
may
for

shows

absolute

configuration. However, in

points are

RelPbints,

different relational

structure,

curve

translate

\320\222\320\241
will

the

case

of

Figure

12.2c, three

of the

provides a quite
with this possibly useful property: If PO is moved,
the
to a new position, while retaining its originalshape.

relative

to the

AbsPoint

PO. This

Evaluation

Model

RelPoint PI

PI

RelPointPI

\342\226\240
383

P3

\320\236

P3

RelPoint

\317\203

PO

AbsPoini

P2

RelPoimP2

(a)

12.2

Figure

Digraphs

a BCurve

from

made

points,
As

for three

point and a relative

absolute

poirkt;

objects,

Two

objects,

absolute
three

an

points and
relative

lead to infinite recursion and selfare currently


forbidden; thai is.
they

evidently

indeterminate

MODEL

four

objects, one absolutepoint,


and a BCurve made from the four
points.

or
contradictory
the digraphis requiredtobe
12.3

Five
{\302\243>)

(c) five

them;

dependencies

cyclic

simple relational models:{a)

models,
acyclic.

EVALUATION

The logical

model is insufficient
Although

manufacturing
purposes.

for

display,

it presumably
of a desired

interrogation,

contains

and

a fundamentally exact and

geometric configuration, the logical


the
contains
little
only
your teeth into. Forexample,
AbsPoint
objects are available in a form suitable for immediatedisplay.The
of any objects
actual
having one or more supportsis only
configuration
of
evaluation
absolute
implied.The
geometric representations\342\200\224explicit
complete

model

specification

thitt

in

representations

objects

is the

terms

you can get

of x,y.z

coordinates\342\200\224from

the

principal computationaltask of RG.

corresponding

logical

384

Geometric

\342\226\240
Relational

Object

Synthesis

Evaluation
the
What constitutes the evaluation of an object dependsupon
class
object's
a state
and may be implementation-dependent. Each objectcontains
whether
variable evaluated
its evaluation is currently valid. An
indicating
evaluated
data
contains
structures
object
holding some evaluated form
appropriate to its entity class. For example, the evaluation of any RGPoint
the
coordinates
of the point. An object
in the
x,y,z
object will include
or RGRing class will additionally
RGBead
include
the object's t parameter

location

on the

include

the object's

evaluation of
points from

a topologically
could

Derivativevalues

The

of

evaluation

any

object

will

the supporting

a uniform tabulation
of an RGSurface might

additionally

surface. The

(sampling) of

be
from
the
surface.
mesh of points
in curve and surfaceevaluations.

evaluation

rectangular
be present

also

be

might

the

curve;

on

location

\302\253,v
parameter

RGCurve

an

the

tabulation of

curve; an RGMagnetor RGRing

supporting

can be

immediately utilized for

the

display

object data in various formats.


Variouserrorconditionscan arise during the evaluation of an object; for
most
of an
these are entity-specific. For example,the evaluation
the
part,
RGPIane
class object consists oi a pointin the plane and a unit normal
vector. One
class entity is a Plane3\342\200\224the
determined
RGPIane
plane
by three
to be collinear.
they fail to
supporting points. If these three pointshappen
of one or more of
determine a plane. Another possibilityis that evaluation
one
of the supporting points may
be an
Intthe supports fails; for example,
and
that
to
be
detected
failed
Magnet
converge. Such failures must
the
must not be marked as evaluateduntil
handled\342\200\224the Plane3
object
problem
some
is corrected\342\200\224or
nonsense
will ensue
other
object depends
(assuming
purposes

on

Program

the

and

for

of absolute

export

plane).

structure

Although

geometry is presented as an

relational

framework\342\200\224suggesting

object-oriented

the

particular

language\342\200\224in

The
entirely in ANSI \320\241

appropriateness
to
date

fact,

object-oriented

an
of implementation
in
RGKernel
is implemented

between an application
is a set oi classevalualors,
absolute geometricdsta and the RGKernel
for each
One
for
evaluator
is the
class.
class
argument
entity
any
cvalua te. The otherarguments
on
class:
the
depend
principal

RGPoint:

out-\316\247,\316\245,\316\226

RGBead:

out-

identity

of host

interface

curve;

parameter

requiring
one

object to

Evaluation

Model

RGRing:

out-

RGLine:

out-

of

in-

parameters

of

vector

points: \316\247,\316\245,\316\226
va lues

parameter

out- identity of host surface;tabulation


ter values;
RGSurface:
in- vector of u paramc
tabulation

out-

vector

RGSolid:in-

of

parameters

values

parameter

of sampled

tabulation

outRGSnake:

u,v

identities
of host snake and surface;t.u.v
X.Y.Z of one point; unit tangent
vector

in- vector

RGCurve:

surface:

of host

out-identity

RGMagnet:

\342\226\240
385

of

vector

u.v

parameters

of

values

\316\275

of sampled points: \316\247,\316\245,\316\226


u values; ve-ctor of \316\275
vector
values;

parameter

of w

values

out- tabulation of sampled points:\316\247,\316\245,\316\226


of
out-\316\247,\316\245,\316\226

RGPlane:

one

point-;

unit normal

RGFrame: out- transformationmatrix

occurs;

of

value

return

The

a primary

math routine is an

error codeif

an

error

0.

else

ITie essential

structure of a classe-valuator

is

simply

(pseudo-C):

( object, other arguments)

int RGClass
[

int

err

= 0;

if( object->entity is not in this class) return 1;


if( objcct->evaluated && LookUpEnabled)
fill
from lookup table;
arguments
output

else

5witch(object->entity)
[

case

ENTITY1:

break;
case

ENTITY2:

err

= Entityl(

object, other arguments);

err

= Entity2(

object,

other arguments);

object,

other

break;

case ENTITYN:
err

break;

return err;

EntityN(

arguments):

386

Geometric

\342\226\240
Relational

Synthesis

above pseudocode, Entityl( ), Entity2(


so on are cvaluator
), and
for
the
individual
entities
in
the
class.
as
in
almostall cases,the
If,
procedures
has
have
an
the entity evaluator will
entity
supports,
equivalentnumber of
classcvaluator
calls
to evaluate
them. For example, the cvaluator for a
BCurve
will first iterate through its pointsupports,
RGPoint
the
class
calling
for each of them and storing the resulting
evaluator
control-point
coordinates. Then
it can iterate
through its input list of /parameter values,
as the inner product of the control points with
evaluating each
output
point
In the

basis

B-Spline

functions.

Thus, the addition of a

new entity

to

an

existing

class requires

only:

1. Creationof the cvaluator


for this entity
procedure
2. Anew casein the class evaluator
3. Addition
of user interface code for creationand editing

Recursive

is required to indefinitely extend the

effort

linear

Only

set.

entity

supported

Model Evaluation

Provided

evaluator

the

that

reentrant

functions

are all

programmed recursively (i.e..

structure previously outlined


program
permitted),
=
can
(with
LookupEnabled
recursively evaluate any valid model
FALSE)
the
in
model
that
is incompletely valid).Accuracy
of
errors
a
(or identify
recursive
evaluation
is limited only by roundoff, and by controllable
in the case of iterative entities. However,it is
truncation error
apparentthat when
are deep levels of dependency many
there
function
calls are required,
some
evaluations
possiblyrepeating
many times, so the model evaluationprocess
be

may

Table

the

arc

calls

slow.

unacceptablv

Lookup

recursive evaluation,includedin the


is TRUE, is to utilize the evaluation
LookupEnabled
table.
the
recursion
Table lookupshort-circuits
lookup
An alternative to

duplicate

of

evaluations,

curves,

tabulated
values

be

that

enormously

sampling
will be

and

the evaluation

of an

and

object

in later
required
will accumulate

as a

prevents

process. In the case

needed,as
parameter
evaluations. Truncation errors
generally

solids, some form of interpolation is


not include the particular
will generally

and

surfaces,

present,

accelerating

structure

previous

when

the

will

to a degree

that

is

difficult

to predict

monitor. Nevertheless, in our experienceinterpolation-based


evaluation
for
visual
interactive
ample
provide
modeling
accuracy
displays during
and
in most cases for the output of actualmanufacturing
data.
phases,

and
can

Serialization

\342\226\240
387

Updating
Est of its supports,
data stored in an objectis an ordered
as
for
the
is
the
model
evaluation
outlined.
This
required
process
previously
For efficient updating, it is also
primary representationof the model relation,
of
the
store
and
a
list
to
maintain
When an
expedient
objeet's
dependents.
it can notify its dependents, they
object is changedin an editing operation,
can
their dependents,
and so on, in a recursive processthat finally
notify
invalidates
all descendajits.
(Invalidation is resetting the evaluateduag.)
the
of an object, as noted earlier,eachofits supports
evaluation
During
be evaluated.
If a support is marked as invalid,
it will
be evaluated
must
before a value is returned.Thus,
invalidated
evaluating
any
object will cause
of
to
in
its
ancestors
that
are
invalid
reevaluate
themselves,
any
recursively,
the correct
to update this particularobject.No object
needs
to be
sequence

Part

of the

evaluated

12.4

more

the entire

in updating

once

than

model.

SERIALIZATION

File
mode I requires
a serialization
of a relational
of the object data
storage
for all of the model's objects.Besidesthe object data, the file must convey
model
any model-level information.This canincludea language
version,
and
version, symmetry flags, identifica tion of units, model-levelcomments,
so

on.

for
has a method
the file is a sequenceof objects.Each entity
of
its
data
a
a
to string. An object pointer, that is, the identity
writing
support,
is output
as the
name
of the referenced object. It is not necessary
to output
the
as this information can easily be
list of dependents,
object's
reconstructed
the file is read back in.
when
The

body of

The formatfor an object


Entity-name object-name
(entity-specific data);

Entity-name:

as follows:

is essentially

string

color visibility

divisions

the entity;

identifying

keyword

[other

object

attributes]/

for example,

Abs-

Point,RelPoint,

BCurve.

A name

object-name:

color:
visibility:
display

color

integer
An

integer

code
code

object.
the objectaspects of the object's

for displaying
controlling

appearance.

divisions:
tabulation

An

for the

and

Specifies
display.

the number

of divisions and subdivisionsfor

388

Geometric

\342\226\240
Relational

Synthesis

object attributes:

other

Include optionallayer,unit

object

weight,

remark.

the optional attributes.

/: Terminates

entity-specificdata: The sequenceof


names

supporting
object

required

AbsPoint

object-name

RelPoint

object-name

/\316\247\316\245
\316\226;

dX dY

/point

/ relabel

BCurve object-name

type

A variable-length list of

is enclosed in

and

float,

integer,

the object; for example:

to instantiate

dZ;
the

control

j;

pointN

point2

(point]

supports, suchas

of a

points

BCurve,

braces.

relational model can be viewed


as
a geometryModel
canbe
in
files
crea
ted
this
language.
representation
by typing
language,
or can be automatically
and modified
generated
by other programs, so longas
correctsyntax is observed. Entity names are commands to create, that is, calls
to predefined
procedures. The object's data values are like Ihe parameters
names
are analogous to variables.Multisurf
to
the
Object
procedure.
passed
of a

serialization

The

functions as an interactiveintcrpreler/compiler
for
The model language docs not currently
support
ming-language constructs as subroutines,branching,
could be

for

additions

fruitful

the

the

model
such
and

langnage.
typical

iterators,

programbut these

future.

order
file
in the model
Early versions of MulliSurf required top-down
be used as a support for
(i.e., an object had to be definedbeforeit could
another object)as well as in the internal data storage. This conditionwas
when editing the model file manually It was
lo
difficult
to maintain
later
found
file read-in
lo
require
only a modest amount of bookkeeping
during
dispense

12.5

with

RELATIONAL
In

this

\316\225\316\235\316\244\316\223\316\240\316\2255

we specify

section

representing

all object

tiSurf/ RGKernel
The

entity

for concrcteness' sake about 80 relational

classes. (This

is about 75

Some shorthand

percent

in the form of a

template
notation used in these

surface, and so on: Entity


of
the
object
specifiedclass.
point, curve,

of the

entities

current

Mul-

population.)

arc presented

entities

descriptions.
explanation:

order.

top-down

class

names

for

their

templates

signify

model

file

requires

the name

of an

of

indicated

the

objects;

1 to N.

: Ellipsis

indicates

color,

an arbitrary -length list

indicate

): Braces

{ ....

counted

\342\226\240
389

Bitities

Relational

visibility,

of some

position

attributes

and

for tabulation

divisions

that are

class-specific\342\200\224

some

display\342\200\224plus

optional

layer and unit weight.


mirror:
A plane,
line, or point object usedfor mirrorimaging
For
mirror/surface:
a two-parameter
family of projection
projection,
a
a
normals
to
For
lines;radials
through
point,
plane, line,or surface.
the
of implicit surfaces; spheres
dual
intersection,
family
one-parameter
around
a line, planes
around a point, cylinders
parallel to a plane, or
such as

attributes

surfaces

to a

parallel

surface.

a curve,
and
bead/curve: Either a bead or a curve.Thisspecifies
a point on it, which is usually
used
as the starting
value for a

iteration.
knotlist:

and

ring/snake

Similarly

entities.

NURBS

Points

Three-Dimensional

AbsPoint name

..../XY Z;
dX dY

.... /point

name

RelPoint

PolarRelPt name ..../pointlat


In the
specified

magnet/surface.

vector object usedfor

A knot

optionally

fixed-point

radius;

direction

from

poinl

are

polar coordinates.

of spherical

terms

Jon

Point, the distance and

Polar Relative

in

dZ;

ProjPointname ..../pointmirror;

The Projected

is

Point

name

MirrPoint

at the

located

..../point

mirror,

times

is. two

of point upon the

mirror.

mirror,

The Mirror Pointis locatedat


that

projection

the

mirror

the displacement

image

of poinl with

respect to the

of the ProjPoint.

RotatPoint name ..../pointlineangle;


The

Rotated

axis line,through

Point

is located by
an

angular

rota

distance

TanPoint name ..../bead offset;

ting

from

the

of angle.

position

of point,

about the

390

Geometric

\342\226\240
Relational

Point is located along the

The Tangent

startingat

Synthesis

name

OffsetPt

of

location

the

bead,

to

tangent

offset;

..../magnet

Point is locatedalong the normalto the host surface


the
at
location of magnet,at signeddistanceoffsel.
starting
The Offset

Point is

Absolute

Frame

The

.... Iframe

name

FrameAbsPf

FrameRelPt

located at x, y,

name ..../framepointdx

dy

\316\266
specified

name

Beads

and

Point is

Blended

The

wtl

..../{point!

dz;

wt2

point!

the weighted sum of

coordinates.

in frame

Rela tive PomI is locatedrelativeto polnlat


in
frame coordinates.
specified

BlendPoint

of magnel,

\317\207
\316\266;
\321\203

Frame

The

of bead,

host curve

the

distance offsel.

at signed

the

offsets

the

.... pointN

wtN

dx, dy,

dz

j;

- \316\243
\317\207
w,x,

component

points:

embedded

in a

curve. A

Since

snakes

Rings

A bead
class

class entity

a single

constructs

entity

subclass of curves,rings
also as a magnet on that
name

AbsBead

The Absolute

Relative

offset

of beads.

in the snake's host

surface,

therefore

can

at

value

parameter

t.

/ bead dt;
is a

point

on the

host curve of

dt.

ArcRe/Bead

The difference is that

surface.

Bead is the point on curve

Bead

a snake.

/curvet;

Re/Bead name

parameter

point

point embeddedin

a subclass

are

also embedded

is logically

The

a single

constructs

name

bead/\321\201\320\270
rve

ds;

bead,

at the

signed

ring

are a
a ring

serve

Entities

Relational

The

Bead is a

Relative

Arclcngth

signed arclength

offset is from

the

bead,

name

IntBead

point on

a curve

When

ds.

offset

the

at the

of bead,

curve

host

is direclly

\342\226\240
391

specified, rather

than

t = 0.

/bead/curve

mirror/surface point;

The IntersectionBeadis

a
on the curve
designated by bead/curve.
point
the
surface
parallel to
by
implicit cutting
is
mirror/surface
which
a head, its parameter
point. It' bead/curve
passes
through
as the starting value for the iterative
if it is a curve, the
location / is used
search;

where it

intersected

is

at

starts

search

i- .5.

The followingthreering
AbsRing name
Ret

to the corresponding

heads.

/ ringdt;

IntRing name

/ring/snake mirror/surfacepoint;
/ ring/snake]

name

JmRingl

parallel

/snaket;

name

Ring

arc

entities

ring/snake2;

The Intersection Ring,secondkind,

of two snakes on the


is
the
snake designatedby
same surface(or of a snake
Its host
itself).
1. If either ring/snake
value
is used as the
is a ring, its t parameter
ring/snake
- .5.
the
search
at
t
for
the
otherwise
starts
search;
starting position
is

the

intersection

with

Magnets

Each magnet

class entity

AbsMagnet name
The

The

Absolute

Magnet

Ret Magnet

name

Rclalive

Magnet

parameter
offsets

du,

IntMagnet

embedded

in a

surface.

/surface

\320\270
\316\275;

is the

point on surfaceat parametervalues

/magnet du
is the

dv

u.

v.

point on the host surfaceofmagnel,

at

dv.

name

/magnet/surface bead/curve;

The Intersection

Magnet

magnet/surface
where

a point

constructs

it is

intersected

is

on the surface designated by


the
curve designated by bead/curve.
by

a point

If

mag\302\267

392

Geometric

Relational

Synthesis

is a

\316\267
el/surface

name

/point

\320\270

at

.5,

values for the

for starting

is used

\316\275
position

starts

search

the

Pro/Magnet

its u,

magnet,

search; otherwise

= .5.
\316\275

magnet/surface mirror/surface;

The Projected

is a point
on the surface designated by
the projection
of poinl along a radiant
of mirror/surface.
is
used
is a magnet, its \316\275
for
position
starting values for

Magnet

formed
magnet/surface,

by

magnet/surface

u,

search; otherwisethe

at

starts

search

= .5,
\320\270

If

the

= .5.
\316\275

Curves

curve class entity

An RG
parametric

by

Relabel object,which
performs
Specifying the default relabel,denotedby
natural parameterization.
is a

nominal

However, curves
al any parameter

[0,1]-

be evaluated

division

curve

with a

curve x-x(t)

a parametric

do extend beyond the nominalrange,


value, unless the evaluationresultsin
zero (possible with NURBCurvc). The first
of any
support

of

range

can

and

is

Line

name

/relabel

point]

an

reparameterization.
curve's default

optional
accepts

*,

the

or

point2;

is the straight linefrom poinll to poinl2.


The
default
Besides
parameterizationis uniform.
as a curve, a linecan serve as a
qualifying
or as a rotation axis in some entity
constructions.
The Line

Arc

Arc

The

/relabel

name

type point]

poind

default

points.The

is uniform

parameterization

/relabel

Conic name

type

point]

and

poinl2

starting

point3

and ending

Helix

is a

depending

semimajor

conic parametervalues

/ relabel point linegraph

Helix name
The

establish

with

points

point2

The Conicis a conicsectionor catenary,


center;

\317\201\316\277'\316\271\316\267\316\262;

of sixways(lype

is acirculararcconstructedinone

standard helix.

graph

to arc

respect

three

from
\321\216\320\261)

length.

sO si;
on lype.

poinll

is the

and semiminor axes.s8 and


to t = 0 and
corresponding

si
t

are
I.

angle;

generalized helix permittingvariable

is uniformly parameterized and

mirror

is

constant,

radius

the

and

resulting

pitch.

If line

curve is a

The

with

B-Spline

Curve

uniform

knots,

is ihe Bezier curve


order \320\272
and
lype + \316\212,

using the B-Splinebasisfunctions

is an

Curve

C-Spline
with

(cubic)

point2 pointN};

/ relabel

name

CCurve

The

/relabel type (point]

name

BCurve

Entities

Relational

FoilCurvename

type

\\,B,(t).

spline of type 2 (quadratic) or 3


and not.a-knot end conditions.

interpolating

/relabel

\316\243

pointN};

type f point! poim2

parameterization

chord-length

x(r) =

N vertices:

[point!

pointN

point!

The Foil Curve implementsseveralfamilies


of standard
NACA
airfoil
sections,
the airfoil family. The number N of control poinlscan
selects
lype
four or five. Three points create half
of a symmetric
three,
profile; four a
foil;

symmetric

five

be
full

foil.

cambered

full

name

NURBCurve

pointN

393

/ relabel

type knoilisi[ poind wil

....

wt2

poind

wtN J;

The NURBS Curve is the

supplied by

a KnotList

rational

control poinls x,-

and N

object,

\320\272

order

with

\320\222-Spline

with

lype

+ 1,

weights

w;.

knots
\\{t)

\316\243\316\275,\317\207\316\262^\316\231\316\243\316\267,\316\222\316\247\316\256.

name

RelCurve

/relabel

The RelativeCurve
fit

new

between

default

of its

endpointsxo,xi:x(()

basis curve \321\205\321\214(().


stretched
and rotated
to
= x,,(f) + (l -\320\224\320\236)
[\321\205\320\276-\320\245\320\271(\320\236)]
+/(\316\257) [\317\207\316\271

graph supplies the blending function


*
signifies a linear blend,\320\224()= t.
graph

SubCurve

positions

a copy

point] graph;

The

Xi(l)].

The

is

curvepointO

is

SubCurve

sn and

/ relabel

name
the

The PolyCurve

to the interval
curve

ProcCurvename

/relabel [curve! t! curve!t2

in the

the

context,

value

l-

more

or

associated

[0,1] parameter

/ relabel'point

at

beads

interval [0,1]:x(i) =\321\205\321\214[(1


-t)s,)

is the concatenationof two


ends

this

basis curve \\b(s)betweentwo

to the

[0,1].The real

in

bead! bead2;

of a

Si, reparameterized

PolyCurve name

where that

portion

f(t);

curveN

].)

+ isi\\.
j;

curves,
reparameterized
with each curve specifies

space of

the

PolyCurve.

(bead/ring/graph! ....bead/ring/graph

Nj;

394

Geometric

Relational

Synthesis

is any point object,


ancestors.The Procedural
are
beads.rings,and/or

poinl

which

the

is

locus

over the

in unison

varied

graphs

bead and ring


of point as the

the

has

generally

Curve

as supportsareevaluated
for any real parameters

[0,1]. Any graphs included


(.and substituted in order

at

supports as
supporting
interval

parameter

each

value

parameter

in poinl.

Snakes

class object is a
of
1].
[0, embeddedin
range

An RGSnake

surface

object.

parametric

emphasized

lies precisely on the host surface,and that


coordinates of points on the snakeare obtained

by definition

a snake

that

with a nominal
It needs to be

curve

parametric
a

absolute

dimensional

ope ration: The snake is evaluatedto a location


the
is evaluated
surface's parameter space; then
surface

three-

composition

by

w = (u,v)

in the

location

at this

through the surfaceequations.


..../relabel

name

LineSnake

line is constructedin

A straight

magnel2:

w(f)

(1

()

+ t

W[

J magnei2;

magnet
the

parameter

(u,v)

space, from

w2.

and the followingsnakesare highly


parallel
no further explanation:
entities,
requiring

The LineSnake
curve

corresponding

ArcSnake name ..../ relabel


liSnake name
name

CSnake

..../relabel

FoilSnake

...J relabel

name

SubSnake

name

PolySnake

name

type j' magnet1 magnet2

....

j ;

magnetN

wl2

wtlma^>net2

/magnetI

snake magnet]magnet2

....

snakes

Pro/Snake

....

name

....

(2 .... snakeNtN
(snakel tl &nake2
/ relabel magnet f bead/ring/graphl

have
/relabel

The Projected Snakeis the


using

graph

..../relabel

name

following

magnel/surface,

....magnetN j ;

.... /relabel ring] ring2

graphN}
The

magnet i nuignet2

RelSnake

ProcSnake

magnet3

.... magnetN j ;

..../relabel type knotUst

NURBSNakename

magnetN wtNJ

type j

relabel

.... /

to the

I magne\\2

( magnet

type

I magnei2

magnet

type

..../relabel

name

magnell to

no direct
curve

projection

minor/surface

j\\

bead/ring/

counterpart among RGCurves:

magnet/surface
of curve

for the

mirror/surface;

onto the

projection.

surface identified by

Relational Entities
.... /relabel

name

IntSnake

the

surface

implicit

to

parallel

identify

to magnel).

is closest

end

the selected intersection curve is to be the

/relabel

UVSnakename
is a

UVSnake

The

host surfaceof magnelwith


and passing through
poinl.

purposes: to identify the host surfacefor the IntSnake,


which of multiple intersection curves
for the
is
to be used

InlSnakc (the onewhose


of

intersection of the
to mirror/surface

three

serves

magnel

magnet mirror/surfacepoint;

is an

Snake

Intersection

The

\342\226\240
395

type

/ = 0

and lo identify
which
end of the IntSnake.

end

magnel;

- constant
parametric line \320\270

or

= constant,
\316\275

according

to

lype.

/relabel

EdgeSnuke name
The

of the four edges of

is one

EdgeSnake

surface;

type

surface,

according

to lype.

/relabel magnel]magnet2;

GeoSnake name

The Geodesic

arc from

a geodesic

is

Snake

magnell to magnel2.

Surfaces
class

RGSurface

An

nominal

parametric

is a

range

of [0,t]

beyond the nominal range and

unless the

surfacesis Relabel
object,
in the v-direction.

the

Specifying

surface's default or natural

surface

1.

ordered

an

by

at

(u,v) is a

a position

2. The

curve

master

Each

points

resulting

wilh

extend

at any parameter value,


zero.
The
first support of some
by
an optional reparameterization
performs
denoted
default
relabel,
by *, accepts the

to a subclass of lofted surfaces,supported

master curves.Evaluation
three-stage process:

is evaluated
xf.;' =

at parameter value

1... . ,JVare

! curveI curve!;

of

v.

a lofted

u.

used to constructa lofting

curve is evaluatedat parametervalue

name

surfaces

evaluated

type.

appropriate

3. The lofting
TranSurf

curves,

parameterization.

entities belong
set of curves called

surface

Several

[0.1].

Like

a division

which

\321\205

be

can

in

results

evaluation

parametric surface patch \317\207 x(\302\253,v)

object

curve

of

396

Geometric

\342\226\240
Relational

Synthesis

Surface is generated by

The Translation

a\\ongcurvehx(u,v)-\\i(u)

The

x2(v)

curvel

/ relabel

name

The Ruled Surface is generatedby


curvel and curve2 with straight
lines:

The DevelopableSurfaceis alsoa


the

but

solves

curve about line, from

curve!;
connecting

= (1

x(u,v)

v)

xj(u)

\316\264)]
xj(w

This

developability.

(2,

(il +

ruling\342\200\224which

first

12\342\200\224a
suggested

xz(\"

for

solution

supports are beads (at il and


(!)

\316\275
\317\207\316\212(\316\272).

curvel

between

surface

ruled

+ \316\275
x2(u
rulings
x(w.v) = (I - v) xt(u + \316\264)
the tangency
condition
(scalar triple product).
+
+ \316\264)
[\317\207,
(\321\213 \316\264) x2(u
6) =

ensures

on

points

corresponding

are skewed:

which

swept

I bead/curve2;

/ bead/curve

name

DevSurf

of curve2,

copy

by revolving

anglel to angle2.
RuledSurf

translated

x2(0).

is generated

Surface

Revolution

/relabel curve lineangle!angle!;

name

RevSurf

say),

they

\316\264

requires

and curve2,

-\316\264), where

6(\320\270)

\320\236

iteration.

If the

at \320\270
supply a starting value for \316\264
between
to
select
helps
possible

multiple solutions.

BlendSurfname

/graph!graph!

curve!

curve!

BlendSurf is a Coons patch formedfrom


which nominally join end-to-end in the given

The

\\(u,v) -

- a) Xi(w)+ a x3(

U-(l

the

curves,

= U(h.v)

1 -\320\270)

(l-g)(l-fc)X|(0^^14(l-fl)fc^3f^

supply

graphs

sequence:

boundary

x(h,v)

+ bx2(v)

X=(]-b)X4(\\-v)

The
graphsare

four

curve4;

where:

W(m,v),

W =

the

curve3

the

identities

the corners, the BlendSurf

blending

optional
a(v)-

\316\275,
b(u)-

interpalates

all

a(v), b(u)\\ the default


curves do meet at
boundary

functions

\320\270.
If

the

four

of them.

Relational Entities
name

NURBSurf

v-type knotlistl

/u-type

The NURBSurfis the nonuniform


of control
rectangular array

rational

poinls

wtNM j;

pointNM

w;j: x(u,v)

weights

front a

made

surface

B-Spline

with

x(J

knotlist2 \320\277\321\201\320\270

11 will

{ point

\342\226\240
397

\316\243
\316\243

w,t

x(J

\316\222,^\316\222^\316\231\316\243\316\243^\316\275,\316\222^\316\222^,).

The

1 to

/ relabel type

lofted surface is

The B-Spline

It interpolates

\320\241
Loft

The

Surf

C-lofted

pola te

all the

The

is lofted

with C-Spline

master curvesin

type (

is lofted

surface

curveN j ;

curve!

curves (see CCurve)that

curvel curve2

and

thickness

SweepSurf

curveof bead

/ bead curve] curve2

is generated

(the

path),

with

by

fifth

are

fourth

and

along the host


the
graphs.
scaling supplied by
curvel

sweeping

optional

offset3

offset2

parallelsurface.If offsels
bilinearly blended.

are

/surface

given

( point

for

only

the

shape)

(the

is generatedfromthe basesurface

direction by a signed variable amount. If

RelSurfname

and

first

Foil-

graph3;

grciph2

graph]

OffsetSurfname /surface( offsetl(


The OffsetSurf

(see

camber.

name

The SweepSurf

inter

sections

airfoil

standard

with

curveN

or five master
curves. The
Curve). There can be three,
four,
the trailing edge, the third is the leadingedge,and the second
control

in

sequence.

/ relabel

Foil-lofted

= \316\243
\317\207(\316\271\316\271,\316\275)
x,(n)

is \"attracted\" to its other mastercurves


is attracted to its controlpoints.

type (curve]

FLoftSurfname

curves:

B-Spline

/relabel

name
surface

with

curveNj

x|V and

and

X]

curve2

(curve]

lofted

way a B-Spline curve

same

the

Specified

6.

BLoftSurfname

B,(v).

arcs (see Arc) of the

with circular

is lofted

Surface

Are-lofted

type,

cnrve2 curve3;

type citrvel

/ relabel

name

ALoftSurf

by

offsetting

in the

normal

result is a
corners, the normal offset is

offset

four

} ;

offset4}

1 is

given, the

[ point2 poim3point4jj ;

398

Geometric

\342\226\240
Relational

surface is a

The Relative
corner

new

Synthesis

poinls.

the (0,0)

bringing

a bilinear

displacement is

x(u,v)

+ (1

it \316\275
[x3-

\320\270
to

that

specifics where

(!-\302\253)

v) [x2 -

uN

surfaceN

more

surfaces,

snake2 ( snakeSsnake4

/{ snake!

the

given,

xft(1.0)]

\316\275
[\317\207*-xft(0.1)]

I ul surface! it2
or

\320\270
(1

translation

parallel

j j

} ;

reparameterized

each
[0.1]. The real value u, associated with
the
surface
ends in
[0,1] if-parameter space of

name

SubSurf

x,(0,0)]

is the concatenation
of two

interval

the

\316\275)
[\317\207,

xft(l.l)]

/ /surface

name

The PolySurf
in

- u) (1 -

span four

and stretched to

pointl is given, the result is

are
corner to pointl. If all four corners
blend of the corner displacements:

xb(u,v)

PolySurf

rotated

of surface,

copy

If only

surface
the

PolySurf.

is a portion of the hostsurface


of the snakes,
to
reparamctrized
=
x
w
Denote
the
the
surface
of
by
\\p,q].
[0,1] [0,1].
parameters
supporting
in p,q
them
If only two snakes are used, the SubSurf is a ruling
between
all four snakes
are given, the
space: w(u ,v) = (1 - v) w,(ii) + \316\275
w2(\302\253); if
Coons blending between them in p,q space,
to
SubSurf is a bilinear
analogous
The SubSurf

theBlendSurf.

ProcSurf] name

poinl is any
ancestors.
Eire

The

viiricd

in

parameter

beads,

interval

[0,1].
value

curve

kind

rings,
Any
i. and

which

object,

second

The

parameter

magnetN

};

of

curve

ancestors.

supporting

I magne(2

kind

ProcSurfename
curve is any

magnet

point object, which generally has the magnels as


as the magnels
of Procedural Surface is the locusof poinl
unison
over their (u.v) spaces.

kind

first

/point {

bead/ring/graphl

generally

of Procedural

.... bead/ring/graphN

has the bead


Surface is the

j ;

and ring supportsas


locus of curveas the

graphs arc varied in unisonover the t


graphs included as supports arc evaluatedat each
in order for any real parameters
substituted
in curve.
and/or

5olids
=
\317\207
class objectisa parametricsolidhyperpatch
with a
x(u,v,w)
\317\207
nominal
are not currently
Solids
parametric range of [0,1] \317\207
[0,1]
[0.1].
in
the
but
are
a
version of
MultiSurf
in
implemented
product,
development

An RGSolid

Relational Entities
RGKernel.

surface

corresponding

surface2

and

The

Solid

Revolution
to

anglel

by connecting correspondingpoints on
lines: \\{u,v,w) - (1 - w)xl{u,v)
+ w x2(u,v).

by revolving surface about line,from

is generated

ang!e2.

B-Spline

lofted

BlendSolid

name

solid

surfaceNj;

type (surfacel surfacel

/relabel

BLoftSolidname
The

to

/ relabel surfacelineangle]angle2;

name

RevSolid

parallel

surface2;

surfacel

is generated
with straight

Solid

Ruled

surfacel

methods are highly

entities.

/ relabel

RuledSolid name
The

construction

supported

Currently

\342\226\240
399

with

\320\252
lofted

curves:

B-Spline

x(u,v,w)

\316\243
\317\207,(\316\272,\316\275)

B{w).

surfacel ....surfaceo;

blend of its six supportingsurfaces,


which
volume.

hexahedral

a topologically

surround

nominally

trilinear

is a

BlendSolid

The

graph! graphs

/graphl

Contours

Each Contourobjectisa
a family

of parallel

Contours
The
distances

cutting
q

set

or

name

/first last qO qint mirror ( surfaces

surfaces

are implicit

qS + i

spheres.

};

surfaces parallel to mirror,

at

signed

qinl,i -firsl,.... lasl.

XContoursname
YContours name
ZContours name

/first XO
/first YO
/first last

name

last

Xint

last

Yint

( surfaces

Zint

{ surfaces

ZO

The cutting surfacesare planes


the
X = X8 + \320\263
Xlnl,
example,
planes
CvContours

one or more surfacesby

cut through

of contours

implicit surfaces: planes, cylinders,

parallel
= firsl,...
\320\263

j surfaces

to

/ curve first last tO

the

j ;
j ;
j ;
planes; for

coordinate

lasl.

tint

( surfaces

j;

400

Geometric

\342\226\240
Relational

Synthesis

surfaces are planesnormalto curve,

The cutting
i =firs(

(tint,

at

t-

values

parameter

tB

lasl.

Graphs

function/(i) over the parameterrange [0,1J.


are not visible objects, but are used to enrich the
of other
flexibility
Graphs
*
entities. Wherever a graph is required,tbe default
can always be used
graph
the linear graph
to accept some appropriatedefault
for
behavior,
example,
- i.or a constant
= 1 or
=
the
The
of
default
0.
meaning
graph * is
f(t)
\320\224\321\201)
/(f)
to the entity in which it is used.
specific
A

name/

BGraph
The

the

and

used

for

tN j ;

{ti (2

curves

reparametcrizing

f, =

with

BGraph

special

- 1.

0, f..v

surfaces.

and

values,

and nondecreasing

The parameter

function before beingusedin

the relabel

through

\316\243/\316\262,(\316\257).

/ type

The Relabelis

fN}

is a univariate function specified as a linear


with uniform knots, order \320\272
lype + 1,

fit)

name

Relabel

\316\262

basis functions

B-Splinc

vertices:

type ( fi

Graph

B-Spline

combination
of

univariate

is a

object

Graph

the

or

\316\275
is

put

or surface

curve

definition.

PolyGraph

The
to

is

PolyGraph

interval

the

il graph!

name/(graphl
the

[0,1].

of two

concatenation
The

real value

where thai graph ends in

the

Each

defines

[0.1 ]

t2

i,

.... graphN1.0} ;
or more graphs,reparameterized

associated

parameter

with

each

space of the

graph

specifies

PolyGraph.

Planes
Plane

class

object
so

parameterized,

they

plane

passes

implicit plane. Planes are not


magnets and snakes.

an infinite
support

/ pointlpoint!;

Plane2name
The

cannot

through

normal to the line from

pointl

and is

poin(2

\317\201\316\277'\316\271\316\267\316\262;

point2.
name
P/\320\260\320\277\320\265\320\227

/point!

poinll

to

Detailed

object is the plane determinedby

The P|ane3

name

XPIane

points.

/Y;

name

/Z;

planes parallelto the

These are

three

/X;

YPIane name
\316\226
Plane

the

* 401

Example

coordinate

planes,

at the

specified X, Y, or \316\226

positions.

Frames

Frame

Each

system, used
coordinate

in the

of the

plane

The Euler

Frame

by

frame

constructed

in

is

the

global

of point2,

the direction

anglel angle2

by translating

three

through

\317\207
axis

three points.

/ point
is

rotations

with its

at pointl,

is located

name

12.6

frame

The default

FramePoints.

x.y.z coordinate

orthogonal

right-handed

/point] pomt2point3;

/uilerFrame
followed

local

system.

frame

its \321\203
axis

of

location

for

Frame3 name
This

is a

class object

and

angteS;

a copy of

frame to poinl,

Euler angles.

EXAMPLE

DETAILED

the model file for an example modelutilizing


a variety
of point,
and
six
connected
snake
and
of
various
surfaces
curve,
types, as
objects
definedand outlined
All of the surface connections are exactand
previously
12.3
is
a
wireframe
durable.
representation of the resultingabsolute
Figure
model.The example
hull,
deck, and cabin surfaces for a 30-foot
comprises
12.1 is

Table

design.

sailing-yacht

The

blended

surface. The

parameter lines
(XContours

bull is a
MCC,

each

surfaces all have visibility

- constant
\320\270
through

stations)

visualizing

has six surface objects:bull and


and cabin afl are ruled

cabinside

cablnfwd,

surfaces;

is a

model

example

having

surface

are C-Iolted
and

cabin_top

only the
to be displayed. Eleven transverse sections
the model are also displayed for purposes
of

the shapes.
C-lofted

deck

surfaces;

with

four absolute

1. which

causes

curves MCA,
as
points supports.deckalsohas three
three

B-Spline master

MCB.

mas-

402

\342\226\240
Relational

Geometric

Synthesis

Example of relational modelfile

Table 12.1

1.08

MulIiSurf

Units: none
50.00

10.00

31.700 6.0235.173

0.0O0 -1.451

0.000

Extents:
View:

\320\236

Places:

BeginModel;
//

3x4

deck, cabin for GM example


\320\243
0.000
0.000 3.600 :

clofl hull,

141

AbsPoinfAl

.000
AbsPointA214 I \320\233
AbsPoint A3 14 \\ J 2.500

1.410;

0.000

0.000 -0.840

0.000 -0.900

AhsPointA4

14

BCurveMCA

jAl A2A3A41:
/ 15.0005.8402.640 ;
14 W 15.0006.0000.540 ;

J 3.000

11 I8x4/i2

14 |

AbsPoint

Bl

AbsPojnl

B2

AbsPoinlB3l4

3.900-1.200

I \316\257
15.000

AbsPoinlB4l4l

\320\233
5.000

BCurve.MCBII

0.000 -1.440

;
Bl B2 \320\222\320\227
B4 ] ;

*2
|

8x4/

AbsPoint

CI 14

1/ 30.0003.5002.760

AbsPoint

C214

3.5001.410

2.500 0.220

30.900

AbsPojnl C3 14 I \320\243
31.700
31.700
AbsPoinlC414 I \320\243
BCurve MCC 111 8x4 /
10

hull

CLoftSurf

0.0OO 0.220 ;
*2
|

CI C2 \320\241\320\227
\320\2414
] ;
| MCA MCB

0 / * 3

10x3

8x2

MCC];
AbsPoinl

liansomt)

14 1/

29.SO00.0003.0(X):

AbsPoint

transoml

14

29.SO0

BCurve

I /

10

lransom_rop

1.750 3.000 \342\226\240,


/ * 2 CI Iransoml

10x1

IiansomO ] :

AbsPojnl deck_clr 14 | / 15.000 0.000


AhsPointdeck_mid 141/ 15.0002.700
BCurve

10

deckjieam

deck_clr)

CLoftSurf

deck 7 1 4x3

transomjop

/ * 2

10x1

10x3 0 / *

nO 13 1

1/

AbsRingrOll
11

8x4

* 2

nO 0.25500

/r0

3 ( Al

deckjieam

deck ;
;

0.42600;

dm2 12 I /
RelMagnet dm3 12 1 /
RelMagncI

r0 41.37000
r0 -0.65000

SubSnakenl 14lSx4/*K)r|
AbsRingr2

3.450;

| Bl deck_mid

j ;

EdgeSnake

RelRingrl

3.450 ;

II

| /n|

0.50000:

0.0 ;
0.03000 ;

Detailed Example
Table

12.1

(Continued)

BSnaki: fp_sidt
LineSnake

11 | 2()x|
11

fp_afl

l| |
RelPoinlrpI
RelPoint rp3 11 1
11

RdPuint

rp5

RelPoint

rp6 11 |

RelPoinr

rp7 11

RelCurve

-0.800OOO.0;

rl

|0xl / * 2

11 |

fp_fwd

0.0 ;

r2 -0.800IX)

RelMagnel dm4 12 I /
RelMagneidm5 121 /
BSn;ikc

* 2
/

10x1

/1()2.000

| K)
|

dm3 ] :

dm2

dm3 dm4 dm5


1.300 ;

0.000

2.000 0.1)00 1.100:

/ dm5

-0.200 -0.500

rl

1.400;

0.000 | .800 ;

-0.300

| / r2 0.0000.0001.650;
/ *

11 I l()x|

;
fp_fwd
rpl rp3
*
*
11 I 2()x| / fp_side \320\263\321\200\320\227
;
rop_side
rp5
*
*
;
rop_afr 11 I 10x1 / fp_afl
rp5 rpo

RelCurve

RLiledSiirfcabin.fwd

II

RiiledSurf

II

I 20x1

c;ibin_side

10x1

1x10/*
Ixl

fp_fwd

top_fwd ;

fp_side

rop_side :

RuledSiiifcabiii_aft 11 1 10x1]xl 0
fp_afl
CCurve
lop.clr 11 | |0xl / *2 | rpl rp7 rp6
/ *

BlendSurf

cabin_lop

(lop_hvd
XContours
hull

] ;

rl :

dm5

/ dm3

rop_fwd

RelCurve

\342\226\240
403

deck

RuledSurf

topside
siaiions

14

4x2

top_afl

12 1/0

top_all;
j ;

5x2 0 / * *
lopctr

] ;

10 1.9492.733

cabin_fwd cabinside cabin_afl


cabin_lop
] ;
Iransom 3 1 8x2 lx| 0/* transomjop MCC;

\316\225
lid Model;

the first is the single point Al,and the other


two are three-vertex
curves
deck
beamand
transom.
T
he
between
bull and deck is
B-Spline
join
exact and durable becausethe C-Splines
at the adjoining
edges on each
surface use
therefore
the same
data points, namely, Al, Bl, CI, and
are
ler curves;

identicalcurves.

cabin_fwd, cabin_side. cabin_aft are constructed


another: Each usesa snakeon deck as one edge,
and a relative curve
providing an exact and durablejoin to the deck surface,
The
three snakes on
dependent on that snake as the second
edge.
(upper)
deck join eachotherexactly
because
share
and
common enddurably
they
The
relative
curves
dm3
and dm5.
three
points,namely,
magnets
top_fwd.
because
also join each other exactly and durably
are
they
top_side,
top_aft
and
constructed
common
relative
namely,
using
points
\320\263\321\200\320\227
rp5.
endpoints.
arc the
cabinside
joins the other two surfaces exactlybecauseitsend rulings
\342\226\240 which
and
lines dm3 \342\226\240
dm5
are identical
to end rulings on the
\320\263\321\200\320\227
rp5,
The

in

three

a similar

adjoining

ruled surfaces
to one

fashion

surfaces.

404

Geometric

\342\226\240
Relational

Synthesis

Figure 12.3

Example of model of Table t2-t, comprising


conjoined

blended
it uses

a ecu

six

rate

Jy

objects.

surface cabm_top joins the

The
because

three

surfaces

ruled

accurately

as data,
their upper edge curvestopjwd, top_side,
top_aft
each of them. Its fourth side is a three-point
C-Spline
top_ctr,
in the center plane becauseeachof
a zero
vertices
has
exactly

interpolating

its

lies

which

surface

coordinate.
\321\203

and

Exact

relational

1.

surface joins

are accomplishedin

this

model

by three

techniques:

transfinjte

Two

durable

cabin_side

surfaces

to cabinet

a common

sharing

curve as edges,for

example.

op.

2. A transfinite surfaceconnectedto a snake embedded


in another
surface,
for example, cabin__side
to deck.
3t Two identically
ruled or lofted surfaceswith
curves
that share
master
common endpoints, \316\257\316\277\317\204
or
to
to
deck
cabinlwd.
cabin_side
example,hull

12.7
Parametric

APPLICATIONS

Variations

model of Section 12.6 servesas a basis for illustrating


the
of
RG
lor constructingparametrically
models.
model
variable
This
potential
can be transformed, with
an
wide
of
its
into
extremely
preservation
topology,
of
of
alternative
coordinates
the
absolute
variety
by changing
shapes
points,
The

example

the offsetsof relative points,and


and
offsets of
parameter
parameters
which alfectsall
six surfaces is
modification
rings and magnets. example
to
coordinate
of AbsPoinl Bl. Followingthis change,the conthey
the

An

incvease

\342\226\240
405

Applications

ncctivity

and

relative

the

absolute

as

preserved

further

example

positioning of the several surfacesis automatically


model is updated (see Figure12.4).
modification
is to drag AbsRing r0 to a new

position

of
belongs to an EdgeSnakealong the centerline
edge
deck. Because RelRing rl is relativeto rB, and the several
dm magnets are
relative to these two rings, the entire cabin structure transports intact to a
new locationwhereit continueslo jointhe deck precisely.
Also, rl can be
(see

Figure

12.5). r8

of the cabin.
dragged to changethe length
The parametric handles tend lo be the floating-point
that
various kinds of points.Thishas the advantage
most
which
can be selected and dragged,as in the
visible points

data

of the
preceding

components

of

handles are
examples.

Discretization

RG is very well adapted to creatingsurface


and
discretizations
volume
Tor
both boundary integral and finite-elementanalysis
methods.
Discretizations
can be constructed
invariant with
in such a way that they are topological^
to
of
the
variations
underlying geometry.
parametric
respect
methods
are widely used for problems
Boundary
integral
(panel)
governed
field equations
and boundary conditions, and are especially
by linear
for domains
which are unbounded in some directions;for
advantageous
irrotational

example,

and aerodynamic

hydrodynamic

electrostaticand electromagnetic
problems.

The

panels

of

consists

representation

tessellating

the

an assemblage
exposed

of small

discretized

flows, acoustics, and


geometric

triangular or quadrilateral

surfaces.

itissimple to partition it into


When a surface patchis completely
exposed,
mesh
lines.
Relabeling
quadrilateral or triangular panelsalongits parametric
of curves and surfaces provides a facility
control
of
mesh size
for
parametric
for
a
be
When
surface
solution
distribution's may
accuracy.
required
patch

Figure

12.4

Example

model

following
of

point

coordinate
a change in the \321\203

B1.

406

Geometric

\342\226\240
Relational

Synthesis

Figure 12.5

Example model followinga changein

the

t parameter

of ring r0.

is partially covered by
provides

way

one

adheres to the

or

more

the exposed

to panelize

other

patches, the

portion

with

underlying surface.Useof common

SubSurf entity

quadrilateral
curves
edge

mesh
or snakes

that

for

surface and SubSurfconstructiontypically


exact
conforming
joins
provides
between the panels on adjoiningsurfaces.
12.6
a propeller
model panelized for potential flow analysis.
shows
Figure
The
model
has five-fold global symmetry, so only
one
and a helical
blade
of
mode
T
he
the
shaft
and
hub
arc
led.
blade
is aBLoftexplicitly
portion (Vs)
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

Figure
propeller

12.6
for

Pa nelized

model

potential

flow

of a
analysis.

Applications

407
\342\226\240

shaft. One SubSurfon the blade,the complete


four
Fi|let,and
on the shaft/hub complete the panellation.
SubSurfs
variations
in
Many
rake,
and
camber
are
with
chord,
distributions
thickness,
pitch, skew,
possible
of the panelization
the
being completely conserved.
topology
used for problems governed by
Finite elementmethods
are
widely
nonlinear
field
or in bounded
domains, Tor example, viscousflows,
equations,
and stress analysis. The discretized representationconsists
heat
conduction,
ofa partition
of the problem
domain into subdomains (finite elements),
tetrahedral
or hcxahedral
divided
cells. Parametric solids are easily
typically
into
hexahedra]
cells along parametric mesh surfaces;a
conforming
hcxahedralcell
can be further
divided into five tctrahedra.
Optimal

on the

one

and

Design

generate parametricallyvariable modelswith topologically


opens the way to automated ana lysis and
of
One
the most advanced applications of RG to date was the
optimization
cycles.
of New Zealand's AC class sailingyacht
Black
winner
development
Magic,
were
of the 1995 America's Cup. Over 2,000hull
and
variations
appendage
simulated and evaluated in a systematicsearchfor the optimum
competitive

The

ability to

discretizations

invariant

configuration.
it is
in yacht
important
Asinany simulation-based optimal designprocess,
the
to
rather
than
simulate
any particular
subsystem
design
completesystem,
of the following
steps:
(Oliver [1987]). In this casethe simulationconsisted

of geometric

1. Choice

2.

of

Generation

model parameters.

discretized

model.

of AC classrule measurement,
yielding
fluid dynamic (CFD) analysis,
4. Computational
3. Simulation

hydrodynamic
5. Equilibrium
Prediction

and

Program

wind

Race

7.

Simulation

8.

drag,

and

traversal, yielding elapsed timesversus


of two-yacht races versus othercandidate
of

distribution

for

the

The win probability


optimization.

for

coefficients

yielding

moments.

performance analysis for the completeyacht


(Velocity
for
different
headings
[VPp]),
yielding
speeds
predicted

wind

win/loss probabilitiesfor pairs


Simulation oi scoring system
probability

areas.

speeds.

course

6.

predicted

lift,

sail

allowable

speeds

wind

speeds.

designs

in the

Model Program), yielding

(Race

of yacbts.
for

the

entire

race series,

yielding win/loss

scries.

for the series is of course the

single

objective

for

408

Geometric

\342\226\240
Relational

In a

Synthesis

yacht designers, builders,


top-level
intense
technical
eight
countries,
development on all
was
a
Black
success.
won
She
35 out of 36
sides.
Magic
spectacular
the final contest with
and
5 decisive
victories
over the U.S.
eliminationraces,
swept
from
the United
States for only
defender, taking the America's Cup away
of the event.
the second time in the 144-year
history

competition

the

involving

and sailors from

world's

and

Animation

Relational models
mechanically realistic

parameters

having

are

ways

be controlled

can

it

handles,

arbitrary
motions. The integration of physics

unrealistic

powerful

of parametric

a number

with

the handles versus time,like

control programs

course,

Of

robot.

is developed
by programming

a model

Once

scenes.

animated

them to deform in
basis for creating

cause

which

a potentially

may

and

produce

physiology

unphysical

with

or

relational

models to produce realisticanimationswould


be
an interesting
fruitful
very
topic.
to \"swim.\" Two
12.7 shows a relational shark model which
is able
Figure
offsets
of
two
control
the
first (half-cycle) and
RelPoints)
parameters (y
modes
of the spine curve. The body
second
is a SweepSurf
(full-cycle)
shape
as
Eachof
the
the
five
fins
is
a
also
using
path.
SweepSurf, sweeping a
spine
snakeon the hodyalonga
two
are
handles
path.The
programmed with outvariations
to produce the swimming action.
sinusoidal
of-phase
geometry

and possibly

DevelopableSurfaces
shell

as

structures

cutting

and

or riveted

welded

efficient

The

forming

ships

and

processes.
that

metal construction of

such large complex

airplanes
requires high precision in metal
Fabrication
is greatly simplified when the

flat
sheet
material
is, they can be formedfrom
by
than
with
of in-plane
any
stretching.
bending alone, rather
degree
that
can
MultiSurf provides several surfaceentities
construct
cylinders
and cones, plus the DevSurf
that
entity
generates
explicitly developable
two supporting
curves. Developable surfaces made by any of
surfaces
spanning
can be accurately flattened (developed)onto the plane,with
these methods
their
snakes, and contours intact. Figure12.8is an
magnets,
dependent
are

surfaces

example

Compound

of

this

developable,

capability.

Plate Layout
shell
Similarly, constructionof nondevelopable
(compound-curved)
can
benefit
from
the
structures
features
and
greatly
modeling
precisionof RG.

Applications

12.7

Figure

A relational

potentialof

RG

\342\226\240
409

shark model for demonstrating


for

animation

studies.

12.9 shows an exampleof this application.


First, a single fair surface
surface
of a vessel.
is designed for the complete(nondevelopable)
hull
Snakes are used to representweld
seams
surface
the
dividing
up into 12
Figure

plates,eachof

will

which

be

individual

ly

formed

from

a flat

blank by some

Each
is covered
with a Subcompounding process before
plate
is exported to an
Surf. The three-dimensional
of each
SubSurf
simulates
the
auxiliary program
forming
process in reverse, yielding
a flattened outline
accurate
of the blank from
material,
plus
cutting
which
can
of
tools
strain
the
maps
guide
application
assembly.

geometry

which
for

flat

compounding

(Letcher

[1993b]).

410

\342\226\240
Relational

Geometric

Synthesis

lb]

Figure 12.B (a) MultiSurf


developable

surface

with

model

for

panels,

(b) MSDEV

positions

of stations,

hard-chine

expanded

sailboat

panels

for

made up of 9
hard-chine

sailboat,

waterlines, and buttocks marked.

Open

12.9 Subdivision

Figure

in Relational

Issues

\342\226\240
411

Geometry

of compound-curvedsurfaceinto individual

for

expansion

plates

and fabrication.

CNC Machining
of
a precise
Numerical-controlled
requires
sculptured
parts
of
for
In
the
RG
the
tool
future.
description
geometry
generating
could well come into use
the
fundamental
standard
for
toolgeometry
NURBS
transmitted
IGES
files are
path generation.Today.
through
the most commonform of part description.
In order to
with
and other applications, RG surfaces
NURBS-based
CAM
be exported
machining

paths.

as

surfaces

communicate
must

in the

NURBS.

form of

Sincemost

RG

in

most

done by

surfaces

cases approximation
least-squares

fitting

are

in fact

not exactly

is required,
to a

tabulated

with

some

representable
loss

by

NURBS,

of accuracy.

mesh. Figure 12.10shows

This is
a CNC

marine
part derived fro ma MultiSurf model.The part is a custom
for a production
item (a bow chock) designed by Peter
Smith
hardware
Co., Southwest
Harbor, Maine.
power yacht built by the Hinckley

machined

12.8
Logical

OPEN ISSUESIN

RELATIONAL

GEOMETRY

Completeness
the
number
of
years of developmentof RG (1991to 1992),
a long list of entities
grew rapidly, and there was always
implemented

During the first


entities

412

Geometric

\342\226\240
Relational

Synthesis

Chock designed in

Figure 12.10

Co.). Model for

NC

milling

Rendering made

Hydro).

in MultiSurf

with

POV-Ray

by

by

inclusion.Sometimesit appearedthat

population

be exponential

if we

implemented

Dickson

George

Ed Stanley

clamoring for
might

Smith (The Hinckley

by Peter

dimensions

two

made

the

(Aero-

(AeroHydro).

growth

in entity

every useful construction.In

the growth became much slower as we seemed


a state
later
to approach
years,
of having the bases covered;that
came
to
few
our
is,
modeling
problems
which
attention
be accomplished
could
not
with some combination of the
available entities,about 100in number.
In particular,
the procedural entities
covered a wholesetofoutstanding
and
could
obviate a fair number
problems,
of existingspecialized
we still
have a list of proposed
entities.Although
we also have a sense that somelevelof logical
entities waiting,
may
completeness
not

be far

away.

Modularity in Relational Models

The

number

(evidently,

similar

complex and hard to visualize.As


models become progressively
relational
increases,
much
difficult
more
than linearly)
more
to comprehend.This is
addressed by the trend to modularity
in programming
problems
model

digraph

the

to

structure

of objects

is potentially

Issues

Open

Relational

in

\302\253413

Geometry

appear very beneficial to be able to encapsulate


groups
into
modules, using local intermediateobjectsand limited,
objects
well-defined
interfaces
to other modules.The representation and
a new layer of structure appearspractically
manipulation
of such
essential
to moving
It would

languages.

related

of

much

2.000-object level of complexityin

the 1.000- to

beyond

relational

models.

Subroutines

models are

Many
constructions

characterized

having

sometimes

similar,

in the

locations

in different

repeated

by

identical,

mode I.The spars and

sails

of

come to mind as a practicalexample.


such
Currently,
of
of
w
ith
minor
variations;
duplication
groups objects,
a LISP. C, or Basic program that
often, wc construct such models by writing
The concept
of a subroutine or procedurein
generatesa modelfile fragment.
the
model
that
would
representation
encapsulate the constructionof oneor
more
and
be
called
with
objects,
varying parameters, seems to offer a useful
a square-rigged
ship
constructions
require

and highly

Variables,

alternative.

attractive

and Functions

Expressions,

point class, have data fields filled by


in
not
hard to see potential
(floating-point)
advantage
be
these
fields
to
filled
with
numeric
variables
or
as
allowing
expressions, well
a
constants.
Float
By adding
entity

Many entities,particularly

name

Float

the

in

real

It is

numbers.

as

/expression;

can be
of an object on oneor more
numeric
variables
within
the usual dependency relation. Besidesa set
as sine and cosine, some numeric-valued
functions
such
functions
such as Distance( pointl, point2) would beuseful.We have

the dependency
and

represented

of

numeric

of

objects

tentatively

maintained

variables,

implemented

version

of RGKernel.

current

product

Constraint

expressions,

and functions

in

development

but user-interface issues preventedinclusion

in

the

release.

Equations

RG accomplishes
some,

but

typical
With

of

constraint-based

numeric

general
explored.

constraint

variables

and
equation

the parametric capabilities


its
modeling
through
geometric constructions.
it
should
be
expressions
possible to add a quite
and
solution
This has not been
capability.
definitely

not

all, of

414
B-Rep

Geometric

\342\226\240
Relational

Synthesis

Solid Modeling

The predominantmethodof solidmodeling

today

is a

boundary

topology combined with


description
of
of
trimmed
faces,
geometry
typically
portions
parametric or implicitsurfaces.
proceeds
Modeling
by Boo lean operations and analogsof
primarily
While
on instances
of a small set of primitive
solids.
machining
operations,
operating
this approach
be
the
of
mechanical
successful
in
to
appears
design
quite
to incorporate
free-form,
parts, it has not shown muchability
sculptured
solid

in

surfaces

of edge-face

representation,
comprising

models.

Our current,

short-term approach to connectionwith

solid

b-rep

modeling

is via NURBS approximation. MultiSurfservesas a relational,


interactive
front end in which
can
be
and
surface
modeled
varied.
geometries
complex
surfaces
are
a
These
as NURBS
to solid modelerwhere,provided
exported
the
is high enough,
to
and
accuracy
they can be united into shells
subjected

operations and so forth.


are two new entities:

Boolean
approach

BFitSurfname

/u-type

nit

Desirableadditionsto

\316\275-type

\316\267
\316\275
tolerance

this

facilitate

surface;

to surface,
fitted surface is a least-squaresapproximation
using
\320\270
and
\316\275
The
and
for
the
directions,
B-Spline
types u-type
v-type
respectively.
number
of control points nit, nv for each direction
can be specified, or if
the
as 0. will start at type+1 and be increased
as
to meet
specified
necessary
on
the
of
fit
the
control
tolerance.
Statistics
and
number
of
specified
quality
the BFitSurf. The fitted
surface
points used are available
by interrogating
The

B-Spline

can

object

be viewed,

of course, like any

geometry. On export,no further


TrimmedSurf
The

trimmed

reached
(unlike

surface,

and

can support

other

is performed.

/ magnet ( snakesj;

name
surface

fitting

other

is the

portion of

the host surfaceofmagnet

without crossing any of the snakes.Since


a SubSurf) does not possessa regular
parametric

the

trimmed

domain,

that

can

be

surface

this entity

is subclassedfrom RGObjectinsteadof RGSurface.


It may
also be advantageous
to implement a classof implicit(nonparasurface
the typical solid-modeling primitives,so
entities
metrie)
comprising
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
and
native
approachto surfacemodeling
providing
support for a significant
set of RG entities.
This
would greatly enrich the capability of solidmodelers

\342\226\240
415

Conclusions

to deal
problems

12.9

that

free-form

with

arise

solve many of the precision


NURBS modeling.

would

and

surfaces,

from

approximation-based

CONCLUSIONS

Relational

encouragesthe captureof
the geometric

a design

is

synthesis

geometric

and

qualitative

program, RGS allows

the

creation

and

flexibility

and

accuracy

far
modeling,

and

design

animation

arc

and

between
amount of

relationships
the same
in a

conventional

\"dead\"

refinement\342\200\224\"live\" versus

RGS as a new standardframeworkfor

Promisingconnectionsto solid

manufacturing,

static

and

variation

providing

roughly

that permits

CAD
of a relational
model having many eoncombined
with many degrees
properties,

single,

served topological geometric


of freedomfor parametric
geometry.
We propose

quantitative

elements of a CAD model.With

effort as is required to createa

framework

beyond

engineering

being developed

surface

modeling,

NURBS-restrieted
analysis,

and explored.

methods.

CNC

This

page

intentionally

left

blank

APPENDIX
VECTORS

In

this

text,

a vector

is an ordered set of numbersfrom

the
vectors
with
or
segments,

we

which

derive

denote
properties of direction and magnitude or length.
line
boldface, lowercase letters, and visualizethem as a directed
arrows. A vector with zero magnitudeis a null vector, and we denote it by 0
We

(no directionis
The

traditional

for

defined

it).

form is
(A.l)

\321\200=\321\200\320\220+\320\2404+\321\200,\320\272

where

the i,j,k

In general,

basis vectorsneednot be mutually


are

vector

\320\261\320\260\321\210
vectors

orthogonal

(see
nor

Figure
of unit

A.l).

representing
displacements in the
the
axes,
x,y,z
x,y,z
along
respectively. A free
vector is not necessarily
with
in
any
space, while \316\206
position
point
vector
or radius vector has its initial point fixedat the origin
so that its
are
to the coordinates
of a point.
components
equivalent
magnitude.

The

are mutually orthogonal unit

p.uP\342\200\236Pz

directions,

where

i, j,

components

\320\272
oeeur

associated

In matrixform,Equation

(A.l)

is

\316\241
\316\241
\316\241 \\\316\241\317\207
\321\203
\320\263]

or,

(A.2)

alternatively,

417

418

\342\226\240

Appendix

P=

p,

\316\241 ['

(\316\221.3)

A
To simplify

the

matrix

P=
is particularly

This

the

component

the i.j.k,so that

[-r

\320\243 \316\266]

appropriate

for the

\316\277\316\271

position or radius vector,where

(\316\221.4)

we

elements, as point coordinates.


identifies
the
(/= I, 2. or 3) on \317\207
where e, is the correspondingbasisvector.

the components,now
matrix
the superscript
tensor
form,

interpret

In

we o-mit

form,

as

x,

or
\321\203

z, respectively,

=
\317\207

\320\273'\320\265,

(A.5)

or

simply

\317\207

re.

Figure A.I Traditional vectorform.

(A.6)

Vectors

\302\253419

The

in tensor

used

equal.Thus,
positionvectors)are
if

W. R.

aK - bs,

are

vectors

Free

ay

az -

by, and
if and

equal

and

only
then

bz,

if their respective components are


a = b. Fixed vectors
radius

or

(or

respective end pointscoincide.

if their

only

made to coincideby a translation.


H.
Grassman(1809-1877)
and
the
developed
(1805-1865)

equal

Hamilton

of vector

foundations

analysis-

and bare equalif

Two vectors a

summation. This is the Einstein

index i indicates

of the

repetition

convention

can be

if they

mid-nineteenth

the

in

analysis

(1839-1903) made important

to

contributions

and J.W. Gibbs


form of vector

century,
the

present

analysis.

Vector Magnitude

The

or norm)

lengih

(also

magnitude

numher

It is
is,

vector p ~[px

pz]

/>v

is the

real

Ipl, where
=

Ipl

that

of a

always the case that


=

\317\201 [0

Ipl

(A.7)

Vp2+p2y+pl

> 0.

Furthermore,

Ipl =

0, if and

only

=
if \317\201
0;

0], the null vector.

Multiplying a vector by

a scalaF

its magnitude.

changes

Thus

kp-_\\
\320\272\321\200
[\320\272\321\200\321\217
kpt

(A.8)

\\kp\\^kVpi+pj+pi

fK

and

If
that

Alpl

of \317\201
is reversed.
of a vector is invariant under rigid-body
is independent of direction.

the direction

< 0,
\320\272

The

\321\207

magnitude

is, magnitude

transformations;

Vector Direction

The
numbers):

direction

cos

of

a, cos

a vector
cos
\316\262,

is given

\316\263
(see

Figure

by its directioncosines(or

direction

A.2).

cos a

P*
= \342\200\224
Ipl

cosp--^-

(A. 10)

420

\342\226\240

Appendix

A.2 Vector

Figure

Since Ipl

vpx+pl

p\\,

direction.

then

\316\241\316\233\\(\302\243\316\224\\(\316\241.\"

so

that

cos2
that

means

This

any two

\316\261
+ cos2

\316\262cos2

1
\316\263=

direction cosines are sufficient

(\320\220.\320\246)

to

the

determine

of a vector.

direction

Unit Vector
The

its

following

unit

magnitude

equal

to

one;

is useful: If \317\201
is any vector,
then \317\201
denotes
the
direction
of
a
vector
in
is
vectorp
having a
\317\201
convention

notation

vector. The unit


Ipl

Litis

given

by

m\302\243

This

means

that

(a\302\26712)

Vectors

Pv

\316\241\317\207

\342\226\240
421

\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

|\317\201|= \\/#

+\317\201)+\317\201\\

\\

Obviously

pl+Pi+pi-1

(A. 10) and substitutingappropriately


produces

Using Equation

- cos

\316\261

pt

= cos

\316\262

pz

- cos

\316\263

px

that

demonstrates

This

of a

the components

unit

are

vector

also

its direction

cosines.

Basis vectors

In a vector

e, is a

basis if

can express
every vector
vectors and iftheerare
In three-dimensional
Cartesian
vector space any three
linearly
independent.
form
such
a
linearly independentvectorsform a basis. The unit vectors i. j, \320\272
are
0
basis because i = [1 0 0],j = [0 1 0].andk= [0
linearly
1]
of a vector depend on the basischosen,and.in
The
independent.
components
space

in that

of vectors

set

the

space asa linear

the

general,

change

components

if the

we

basis

the

of

combination

basis changes.

VectorAddition
vector

vectors

two

Given

Figure

(sec

difference

Order
This
A

join

of two

+ qx)

[(\317\201*

vectors

p-q=[(Pxis not important.Ifd

means
graphic

the tail

qy

gj,

their

sum is

the

\320\220.\320\227\320\260)

\317\201 Q

The

pz]andq-[qx

pv

\317\201 [px

that vector
interpretation

iPy +

a +

ip,

b +

(A.13)

Figure A.3b)

is (sec
qx)

(Pz + qj]

4.)

(P(

<7v)

then
\321\201

it is

(A. 14)

-<?;))

also true that

d =a+

addition is commutative.
is:To add two or more vectors(drawn

of each succeedingvectorto the

head

of the

preceding

as

\321\201
+ b.

arrows),

one. The

422

\342\226\240
Appendix

A.3 Vector

Figure

resultant vectoris representedby


the head of the last.

an

addition.

the tail

arrowfrom

of the

first

vector

to

Scalar Product
The

scalar

product

productsof

their

(or inner

of two vectors \317\201


and

product)

q is

the sum

of the

components:

corresponding

\342\226\240
Q =Pxq,
\316\241

(A.15)

+p>>qy +Pt4z

\342\226\240
\342\226\240
If \317\201
q, then \317\201\317\201
\317\213,
lplz.If \317\201qthey
scalar products ofthe basisvectors
and
i,j,

are

perpendicular.

\320\272

produce

i-i=j-j=k-k

=l

i-j=j-k=k-i

=0

the

The various

following:

(\320\220.16)

i-k-j-Uk-j-O

The

scalar

product written

is

tensornotation

in

(A.17)

p-q=p>q%

where

is

\316\264,*

the

delta, and

Kwnecker

if

j~k

if

j*k

r\\

=
\316\264,1

The angle \316\270


between

two

vectors

and

\317\201

(A.18)

q satisfies

\342\226\240
q=
\317\201

Ipllql cosB

so

the following

equation:
(A.19)

that

-cos-'-P-^lpllql

(A.20)

Vectors ,423

The scalar

of

product

in

which

of the coordinatesystem

is independent

vectors

two

are expressed.

they

Vector Product

The

vector

vectors

of two

product

and

\317\201

q is

vector r:

another

(A.21)

pxq-r

where
\320\263

[iP,4z-

Itis

\317\207\317\201\317\201

that

show

to

easy

parallel.

{p*qt- PA')]
if

0. Furthermore,

of the

The expansion

(P,q* - p*qz)

P-Sh)

\317\201 q

also

determinant

following

\317\207=

0, then

produces

(A.22)
q are

and

\317\201

the

vector

product:
q-

px

The

angle

q is

and

\316\270
between

\317\201

Ip

so

xql

'

Px

p.

\317\201,

4x

4i

\320\247\320\263

\320\272

a by-product
sin

-Ipllql

(\316\221.23)

of the vectorproduct:
\316\270

that

- Sin

(A.24)

Ipllql

The right-hand rule gives


resulting

from

right hand in
hand

pxq.
this

will point

angular
in

the

direction of the vector \320\263


the fingers of your
q, curling
Then the extended thumb of your
right
r (sec Figure A.4).

intuitive

sense

of rotating

into
\317\201

an

Think

direction.

direction

of

pxq

Figure

A.4

Vector

of the

product.

424

\342\226\240
Appendix

Vector

products

of the

i,j.k basisvectorsproduce
ixj^k

jxk-i

(A.25)

kxUj

ixi = jxj
vector

The

A.5).The

area

product
of the

is useful

in

ABC

triangle

=k xk^O
area

the

finding

ol a

triangle (see Figure

is

\320\220\320\263\320\265\320\260\320\224\320\233\320\222\320\241^-1\320\260\321\205\320\253

Triple

(A.26)

Product

The triple

\342\226\240
scalar product \317\201
r given
qx

of

terms

in

a determinant

is

\320\257, \320\252
\316\241\317\207

pqxr
it is

and
An

easy to

alternative

Pr

\320\257.

ry

P;

4z

\320\223;

(A.27)

show that p-qxr-pxq-r.


form

tensor

is
(A.28)

\317\201\302\2679\316\247\316\223^\316\276,^

where

even
~
Si*

if

Figure

i,(,k is an

A.5 Area

o\"f

odd

of

permutation

other

a triangle

in vector

form.

1,2,3.

Vectors
The

vector product

triple

yields

= (p-r)q-(p-q)r

px(qxr)
the

where

of

result

\342\226\240
425

the plane of

lies in

\317\201
x(qxr)

(A.29)

q and r.

VectorProjection
scalar

The

s of

projection

q is

onto

\317\201

s ~P
The

vector

of
\316\275

projection

\"

TT
\\\\q\\

onto

\317\201

A.6)

(see Figure
'

q is

Ipl cos

(A.30)

\316\270

(see Figure

A.7)

(A.31)

Vector

of

Equation

The vector
Figure

(see

a Line

equation of a line p(u) through

in component

-Xi,

z(u)=z0

if

(see

Figure

is

\320\270
e

[0,1].

(A.32)

+ Utx

(A.33)

utt

then

(A\302\26734)
p(\=pa") + \"(pi-po)
Equation
(A.34) defines a line segmentfrom p0 to p,

A.9).

If q(iv) = qt,

+ ut

form is

alternative

where

to vector

form,
X(l<)

An

parallel

A.8)

p(u)=p0
or,

and
p\302\273

point

+ ws

and

- kt, then the linesthrough

\302\273q

Figure

A.6

Scalar

projection.

p0

and

are

q\302\273

parallel.

426

\342\226\240
Appendix

*-q

Vector projection.

Figure A.7

Figure

A.B

Vector

equation

of a

line.

Pi

^IP,-Pol

,P|u|

Figure

A.9 Vector

equation of a line segment.

Vectors \342\226\240
427
Vector

of a

Equation

Plane

The vector equation of a plane\317\201(\316\220\316\257,\316\271\316\275)


through
p0 and
s
t
\316\221.
vectors
and
is
\316\231
independent
(see Figure
0)
=

p(f/,w)

with the

condition s \317\210
kt.

In

+ lis

p\342\200\236

ya +

\321\203

unit

normal

\316\256
to

the

plane

is the

is

(A.36)

+ wtz

vector product

ft-Sxi
Thrcenoncollincar

plane(see

Figure

A.

unit

normal

for

are also

(A.37)

sufficient to uniquely definea

11). Thus,

p(u,w)

The

p0,p,.p2

points

to two

(A.35)

\320\270,\321\207\321\203
wt,

+ Us,
\316\266-\316\226\316\261

The

+ wt

form this

component

parallel

this

= p0 +

ff(pi

formulation

po) +

w(p2

- pi)

(A.38)

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

Figure

A.10

Vector

equation

of a plane.

428

\342\226\240
Appendix

Figure

Vector Equation of a
One

way

point

such

on the
\317\201

a plane is
d is

plane

points.

Form

Normal

that

noncolljnear

three

containing

plane

Plane:

to define

point on it
any

A.11

by

to the

perpendicular
must satisfy

d from

a vector

specifying

the origin to a

Then
plane (see FigureA.12).

(A.40)

(p-d)-<U0

Expanding

this

produces

equation

(x

ds)ds +iy-

dy)dy

(z-

d7)dz =

or
dtx

Figure

A.12

dyy +

Vector

dzz

- (d\\ + d] +

equation

of a

d\\)

\320\236

plane: normalform.

(\320\220.41)

Vectors

\342\226\240
42 9

d1

Because

d\\

dj

A,4l reduces

Equation

cos

cos a,

cos
\316\262,

\316\261

cos

djd,

and

\316\262 djd,

cos

then

\316\263 djd,

to

\317\207
cos

where

+ d2?,cos

\316\261
+ \321\203
cos

are
\316\263

+
cos
\316\262\316\266

(A

42)

of d.

cosines

direction

the

-0

- d

Solution of VectorEquations
The

vector

equations

lib + wc

a +

equation
in

unknowns:

three

- d+

fe

of three linear
form
these
component
equations

it,

a system

represents

w, and t. In

are

as

+ wcx =

+ ubs

\320\260
+ ub
\321\203

az +

lib; + wc7

their vectorformto solve


(b
example, to isolate i, we apply
We use

(b x

Because

this

equation

\317\207 \342\226\240
a =

for

method

(b

c)

+p

+ r)

+
\317\201 (q

3. *(/p)

kip

- (p +

q)

\317\207 \342\226\240
e

c)

+ r

c)

and
expressions for \320\270
d

e)

\317\207

\317\207 \342\226\240
d

c)

\342\226\240

\317\207

(c

\317\207 \342\226\240
a

e)

\317\207 \342\226\240
b

e)

\342\226\240

e)

and
Given vectors p, q, r and scalars\320\272

2.

(b

(b

\317\207 \342\226\240
a

e)

\317\207 \342\226\240
\321\201

e)

Properties

+ q^q

each

\317\207 \342\226\240
e

(b

1. p

(fb

\317\207 \342\226\240
a

(c

of Vector

isolating

c, then

and

yields similar
(c

Summary

by

\342\226\240
(b \317\207
c)
(d + te)

c)

(b

this

produces

(b

Continuing

+ Iez

\317\207 \342\226\240
d +

(b

c)

+ tey

follows:

wc) -

ub +

(a

dy

and

u, w,

c) is perpendicularto both
(b

Solving

for

+ tex

-dz

\317\207 as
\321\201)

\342\226\240
+

(bxc)

y + wcy

dx

/, then

w:

in turn.

For

430

\342\226\240
Appendix

4.

+ Op

(\320\272

5. k(p + q)
6. pp-lplz

kp +

kp +

/p
kq

7. p-rrr-p

8.
9.

10.

\317\204\317\201

cos

Ipllrl

\342\226\240
+ q)
(\320\263
\317\201

(kp)-r^p-(kr)=k(p-r)

11. If

\342\226\240
r-0,
\317\201

12. If \317\201 q

\317\207 =

they

r, then

'
13.

\316\270

\342\226\240
\342\226\240
\320\263
+ \317\201
q
\317\201

are perpendicular.
\320\263
is

perpendicular

\320\272

x \320\263 \321\200\321\205
\317\201, \317\201\316\266

\317\201

\320\247\321\205
\320\257\320\263.
\320\247\321\203

14.
15.

\321\200\321\205\320\263^-(\320\263\321\205\321\200)

px(q

+ r)=pxq

16.

(\320\272\321\200)

17.

If

18.

\317\207^\320\263
0
\317\201\317\201

+ pxr

\317\207
\320\263

\317\207
\317\207
\320\263)
\317\201 (\320\272\320\263)
\320\272(\321\200

=
\320\263
\321\200\321\2050,

they

are parallel.

to both

and
\317\201

q.

APPENDIX

\320\222

MATRICES

is a

matrix

in m

arranged

rectangular array of numbersor other


For example:
rows and \316\267
columns,

a21

\"21

\320\26431 a31

where

aif

is

element

matrix

the

The number of rows


m rows

of

matrix

[1: n].

value

nonzero

is the

means

that

\320\222
if

/th

the

in

is of

largest

\"23

\"21

a33

aiA

row

and /th column.


the order

determines

columns

\316\267
columns

the

order

\317\207
\320\277.
Then

square submatrix

/ e

of a matrix. A
[1 : m] and / e

whose determinanthas

rank of the matrix.

A and

matrices

Two

and
of

order

The

and

alA

an

an
\302\253\320\270

A^

elements

mathematical

\320\222
are

if corresponding

equal

\320\260\321\206
b,j for all

i,

elements are

equal. This

/.

square matrix if m = n, a row matrixtfm= 1,and a column


= 1.
if \316\267
called
vectors.
matrix
Single row or column matrices are often
Matrices
have a unique algebra that
on
them, and it
governs
operations
was
the
mathematician
Arthur Cayley (1821-1895) who developed
English
A matrix

and

refined

is a

the

algebra

of matrices.

431

432
Special

\342\226\240
Appendix

\320\222

Matrices
A

(he

on

except

\"\320\237

= 0 if /

matrix.

or

identity

has

that

\321\217\321\202\320\260

the \320\264\320\263\320\263
are
equal,

matrix

diagonal

matrix

unit

*/. If all

0
\320\2607\320\263

Thus,flfj

has zero elementseverywhere

square matrix that


main diagonal. For example,
is a

matrix

diagonal

fljj

the diagonal

then
elements

unit

the

on

matrix is a scalar
is a

main diagonal

matrix:

0
1

\"1

0 =%
0 1

delta.
where, again,6,y is the Kronecker
A square matrix whoseelementsare symmetrical
is a symmetricmatrix, so thai atj - ey/. For example,
A=

\"5

\316\212

about

the main

diagonal

4 -2_
or skew symmetricif \321\211
-a)V For example,
1

matrix

square

is antisymmetric

0 -9

A= 9

-1

where

implies
\321\211 ~\316\261\316\274

A null matrix,

0_

ati = 0.

(hat

denoted

-3\"

by

0,

is one

whose elements

are all zero.

MatrixTranspose
(he

Interchanging

For example,

rows

and

of a

columns

3
A^

3
then

matrix A

if

-1 -2

produces

its iranspose

A'.

Matrices

0-3

3
A'-

-1

2-2

The productof any

matrix

and

(AAT)r=AAT.

have a transpose,

matrices

All

\342\226\240
433

is a

its transpose

symmetric matrix,that

not just square ones.Thus,

if

is.

\320\222

[\317\207\321\203\316\266],

then

/\342\226\240_
\320\222

Matrix

Addition

lwo matrices A

Adding

or
of

A and

\316\261,, \316\260,\317\212c,r

\320\222
must

as the

order

same

the

The differenceof two


are

elements

Thus

equal

the same

of

\320\241
whose

ate

elements

+ B= C,

B. Thus, A

A and

order, and the resultingmatrixis

original matrices.
matrices

and

\320\222
is

matrix

another

D whose

difference

Multiplication

a matrix A by a scalar constant\320\272


a new matrix
produces
as A. Thus. k\\ = B,or.in terms
of the matrix elements,

Multiplying

order

same
Matrix

produces

be of

matrix

a third

\320\222

of corresponding elements of A and B.


=
or \320\273\320\263;
be of the same order,
must
b,
d,r Again, A and \320\222
matrix
is of the same order as the originalmatricesto the

= D,
\320\222

and the resulting


Scalar

and

sum of the corresponding


elements

equal to the

\320\222
of

=
ka,t

the
b,r

Multiplication

= C. il'and
if the
to the number of rows of B, in
only
x
A and \320\222
\316\267
\320\222
is \317\200
case
are
If A is of order m \317\207
and
which
\317\201,
conformable:
A.
\320\241
and
\320\222
then
is m xp.
In this example. A premultiplies \320\222
postmultiplies
S =
Given
and
matrices \316\241
M, with R - MP (where \316\234
premultiplies
P). and
PM (where \316\234postmultiplies
R \316\250
for the
S, except
P), then in general
Multiplying

identity

matrix,

two matrices A and \320\222


produces
number of columns of A is equal

a third

matrix

C. AB

where
= \316\231\316\221
\316\221\316\231

The

product

of two

matrices defined

in

terms

(\316\222.1)

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

where

of A and thenumberof rows

of columns

number

\320\273
is cqualtothe

possible to construct matricesA


A zero
\317\213.
or null matrix is one for which
II is

(\320\222.2)

and

\320\222
such

all

elements

that

\316\221
\316\222
\317\210
\317\210
\316\237,
0, but

of

B.

AB =

are zero.

Matrices

Partitioned

It is often computationallyconvenient

and to treat it

a matrix into submatrices


are themselves these submatrices.

to

partition

elements

whose

a matrix

as

Thus

\320\274\342\200\236
\320\2741\320\263

\316\234
22

M71

M/f and M(Z must necessarily


for
M2, and M22), and Mn and

where
similarly
number

of

columns

similarly

(and

A =
+

M21

must

\320\234]2and

matrices must

Al; and
an

be

(and

the same
if

\316\2122
\"13

\320\222
B27
12\"23

Bnl

B,then

A2I

the

example,

b,,b12b

A22 A23

+ \320\222\321\206
+
\320\220\321\206
Ai2

Hereis

For

M22).

It

\321\201-

where

have

necessarily

\320\220\321\206
\320\220\320\277
\320\22013

A2i

and C=A

for

have the same numberof rows

B,; are

conformable

\320\222
23

conformable.
matrices.The
before and after partitioning.

of partitioned

for multiplication
flu

au
a\342\200\236
=

+ Bi3

A22 + B22 \316\221^+

of the multiplication

example

+ B2I

Bl2 Au

\302\2532i \302\25322 \"2j

nlA

\321\21715

\321\2172\320\220
\320\2602\321\212
\320\220\321\206
\316\22112 \316\221\316\267

\320\224\320\2674
\321\2173| \320\260\321\2121
\320\260\321\212\321\212
\320\260\321\212\321\212
'21

'22

\320\247\320\267

\"\316\256 \"\316\2125
\"\342\226\24011
\"\316\2122^\320\220\321\202,

\316\222

bu

\320\254\320\277
\320\254\320\270

b2i

\320\254-22\321\21423

bu

\320\254\320\277
\320\254\321\205\320\222?| \320\23022

\320\222,,

\320\222]2

\320\252* \321\214#
\320\254\320\220\\

LB3i

B,2J

\320\254\321\212\320\263
\321\214\321\217
\320\254\320\273

AB

\342\226\240+
+ \316\22112\316\22221
+ Al2B22
\316\221,\316\271\316\222,\316\271
\320\220\321\206\320\222\320\273
\320\220\320\237\320\22212

+ \\ZZR2,
.\316\221\316\226(\316\222((

+ AaB3J

\316\221\316\267\316\22232\"

+ \320\220\320\260\320\222\320\267\320\263
A;,B,2 + \320\220\320\263\320\267\320\222\320\260

.435

Matrices

the products

Determining

Matrix

Ai2B2i,.
\320\220\320\274\320\222\321\206,

the indicatedsumscompletesthis

and

.,

so forth,

and performing

computation.

Inversion

of a square matrix A

The inverse

is

and its

matrix

A\"1. A

inverse satisfy

the

conditions

AA\"1 =

The elementsof

are

A\"1

A-'A = I

(B.3)

where

<?ry,

\316\227\316\223'\316\212\316\221,'\316\231

(B.4)

\321\211-=\316\231\316\221
I

the determinant of

IA;;i denotes

where

from A by deleting row / and


If A\"1

A;).

Scalar

and

exists, then

IAI

the (n - 1) x (n
A (note

i from

column

derived

1) matrix

the subscript order on

*0.

Vector Products
and
If row matrices\316\241
=
Q
q2
[q,
p3],and

the vectors

represent

scalar

the

<?3],then

and

\317\201

product

of the

q where

=
\316\241

[pi

pi

vectors is

p-q = PQr

(B.5)

where

PQT

Using

the

= \316\241\316\2714\316\273+\316\241\316\2714\316\271+\316\241\316\2574\316\271
(B.6)

[PiP2P3]

of

components

then a matrix

the following antisymmetric


and
the vector
product of \317\201

form

to
\317\201
represents

multiplication

Pj

-p3

Pi

-p,

~Pi Pi

matrix,
q:

\302\260

and

0
pxq

Pi

\320\247\\
-\320\240\321\212
\321\200\320\263
\320\270 -\316\241\\

'\320\240\320\263
\316\241,

\320\270

\320\247\320\263
\320\257\320\272

(\320\222.7)

436

\342\226\240

\320\222

Appendix

and

Eigenvalues

Eigenvectors

p' = Ap

The expression
where

transformed
point
it is possible to

is the

p'

conditions

certain

(he

represents

transformation

general

of a

point p,

and A is the transformationmatrix.Under


=
find a scalar X such that \317\201'
or
\316\273\317\201
Ap

(\316\222.
8)

\316\273\317\201

of A, and \316\273
is true is an eigenvector
is the
to
A
an
Matrix
sends
eigenvector into a
corresponding
p.
and
is
collinearvector,
the corresponding
eigenvalue
equal to the ratio of the
of the two collinear vectors.
magnitudes
Every

vector

eigenvalue

of

for which this

Equation (B.8)is equivalent

to

(\316\221-\316\273\316\231)\317\201=0

This

solutions if \317\201
*0

has non trivial

equation

(\316\222.9)

and

\316\231\316\221-\316\273\316\231\316\231=0

of Matrix

Summary

1.

of

A.

B+A

2. A + (B +

(A +

jfcA

+ kB

C)

3.

jfc(A +

4.

(A +/)A = AA

5.

its solutionsare eigenvalues

Properties

B =

equation? and

characteristic

is the

This

(\316\222.10)

B)

= (kl)A

k(!A)

+ \320\241

\320\222)

+/A

= l(kA)

6. (AB)C=A(BC)

7. A(B+ C)

8.
9.
IB.
11.

(A

BC

=
\316\221(\316\273\316\222)=\316\273\316\221\316\222
(*\316\221)\316\222

+ \320\222)\320\223=\320\220\320\223
+ \320\222\320\223

(\320\220

= kAT

(kA)T

12. (AB)T
13.

AB+AC

+ B)C = AC

If AA\"1

= B7A7'
= I and

14. If IA| = 0, then


15. If AAr= I, then

A_1A

I, then

A is

singular.

is orthogonal.

A is

nonsingular.

Determinants

A determinant
following

isa squarearray

a well-defined

of

procedure.

elements

that

Determinants

reduces

to a single value by

facilitate many vector and

Matrices

\342\226\240
437

matrix

a matrix must be squareto have


matrix
is associatedwith a determinant.
every square

not

and

a determinant,

However,

operations.

If

\302\25311 \302\25312

A^

<721

\302\25322

then

|A|

flu

\302\25312

<7ll<722-\302\253l2ib

fl22
If

\302\25311 Ol2

A =

fl2l

<722

<73l

\320\25732

then

IA1 =

The

\321\201\320\276

factor

\302\25312
\302\253\320\270
\302\253:: \302\253\320\270
\302\253\316\220\316\220
\302\253\320\270
+ \320\260\320\277
\316\262\316\271,
~\302\253I2
\302\25331 \320\247\321\212\321\212
a-si
\302\25333
\302\25331 \302\25332

of element

aif

of

cr/

where 1A,JI

the

denotes

(-i)'\"+'iA,;i

- 1) \317\207
(n

of Ihe (n

determinant

from A by deleting row i and column/


Determinant

IAI is

determinant

from

derived

1) matrix

A.

Properties

determinant of a squarematrix

1. The

transpose:

IAI

2. Interchanging
If we obtain
3.

any two
\320\222
by

then |BI = clAI,


4.

If two

is

to the

equal

determinant

of its

= 1A71.

rows (or

rows (or columns)

multiplying

columns) of A

one

are

of

row (or

the sign

A changes

column) of A

identical,

then

IAI =

by

of

IAI.

a constant

c,

0.

of A
A by adding
a multiple of one row (or column)
from
5. If we derive \320\222
=
of
then
IAI.
to another
row (or column)
IBI
A,
\317\207
of their product
both
\316\267
\316\267
then
6. If A and \320\222
are
the determinant
matrices,

islABI=

7.

If every
determinant

IAHBI.

element
is

zero.

of a

row (or column)

is zero,

then

the value

of the

This

page

intentionally

left

blank

APPENDIX

\320\241

TRANSFORMATIONS

define

we

Once

are

transformations

Geometric

a curve,

surface, or solid, we

reshape it to either becomepart


simply

meet

to

us to changethe

position,

Linear

and projective

translations

equations

of

a more

it. duplicate
it. and
model construction or

move

can

complex

design requirements. A transformation


or shape of a model in ways
that
orientation,

allows
would

impossible,to achieve.

are

transformations

of

refined

be tedious, if not

otherwise

homogeneous

more

part of the modelingprocess.

an integral

the

focus of this

chapter.

transformations, they

are

With

given

the

of

exception

by linear

the form

x' = a, ,x +

+<*\\?,Z
\320\260\320\2632\321\203

y'

\342\226\240= \320\273\320\273\316\261->\316\273\317\207
\316\261-\317\207\316\266
\320\260-\321\217\321\203

z'

= ayix

+ a^y

+ al2Z

A translation spoils the homogeneous


of these
character
by
equations
The
a^A, respectively
alA, and
requiring the addition of the constant terms\320\224\321\206,
of the three expressions on
each
projective ties require a rationalform,where
the right is divided
a
fourth
linear
by
expression aA,x + aA2y + aA^z +aAA (with
or
the
without
constant terms). Introducing homogeneous coordinates

restores

the

homogeneous

character

of these

determine a hierarchyof linear


of certain geometric properties.An invariant
We can

equations.

transformations

property

by the

is one

that

invariancc
does

not

439

440

\342\226\240
Appendix

\320\241

that

one

change,

transformation.

translations

and

transformations.

parallellines.
angle,area,

For

when we subject the geometricmodel


to
a
transformations. or isometries,consistingof
are
of the so-calledaffine
the most restrictive
rotations,
are the linear transformations that preserve, at least,
These
the
are invariant (distance,
metric
isometries,all
properties

is preserved
The rigid-body

or

An isotropic

so on).

and

volume,

dilation

uniform

(scaling)

transformation, preserves angles but


or

Nonuniform,

properties.

as shear transformations, preserve


but
not
and
distance.
angles
Projective transformations, the
linear
transformations,
straight lines but not
preserve
us to nonlinear topological transformations, where bending,
are allowed and only the topologyof the modelis
twisting

lines

restrictive

brings
and

stretching,

linear

another

preserved.

in part

these

addressed

We

as well

dilation,

anisotropic

parallel
least
parallels. This

not

transformation,
the
other
metric

in

10.

Chapter

scaling

we consider here are translation,rotation,reflection,


and shear. We also discuss how to find
the
of
product
transformations.
For a more complete discussion of these

other

geometric

'Die transformations
symmetry,

sequential

multiple
and

many

Mortenson

see

theory,

transformations,

and group

including symmetry

(1995).

of Hermitc representations is somewhatdifferent


from
Transformation
The Hermitebasis curves and
of the Bezier and B-Splinerepresentations.
surfaces
are
defined
by a mix of boundary conditiontypes:namely,
endpoints
vectors.

tangent

defined by a

The Bezier

and B-Splinecurves

set of controlpoints.We

know

already

and

surfaces

that

Bezier

are

that

and

simply

and B-Spline

is not true of the Hermiteform.For


and
curve
air
given
arbitrary
example,
point
p(ur) on it, we can
air
affine
on
perform
transformation
the control points and then,fromthe results,
we can
the same transformation to \321\200(\320\272\320\263),
compute\320\260
\321\200'(\320\270;),\320\276\320\263apply
producing
that
the
Bezier
form
as
finding
p(iir).and
\317\201'(\317\211,)
=\317\201(\",). Using
representative of
the modelingelementsdefined
control
we
can
by
points,
compare it to the

forms are affinely

this

while

invariant,

a Bezier

Hermite
We

form, depending upon the


will interpret
transformations

transformthe model
think of transformationsas
really just mappingsof
within

fixed

when

we use

space to produce a

then it is
Each
Cartesian

use

act on

and

system. Although we might


of movement,
some
sort
they are
no path or transformation

There

is

a transformation
explicitly

is, we

to sweep air
is

the

incorporate

idea
it

into

element

of a
the

through

its

path necessary, and


model.

transformation is presentedfirst in terms of linear


From
these
we develop their vector and matrix
coordinates
to compute the product of multiple
homogeneous

specie of

equations.

representations.
We

we

imposed.

That

sense.

active

coordinate

higher-order element

and

obvious

transformation

in an

accomplishing

functions.

trajectory. Only

particular

441
\342\226\240

Translation

in

coordinates

homogeneous

by a

space

that include translations and projections.Recall


in /i-dimensional
we represent a point \317\201

transformations

sequential
that

+ 1
vector of \316\267

represent a point

the

by

coordinates

homogeneous

three-component

by

the

four-component

[x

\321\203z]T,

vector

[x

coordinates are related by

and homogeneous

Cartesian

coordinates, we

Cartesian

In ordinary
vector

components.

in

and

The

\321\203\316\266h\\r.

hx

hy

hz

These

equations, of

course, should be familiar

rational curves and surfaces.To si


represent

C.I

the

[x

point

from

we use

things

mplify

the

earlier

[x

discussion

\321\203\316\2661J'

of

to

\321\203z\\r.

TRANSLATION

of a point is given by

The translation

y'

= y +

z' =
where

and
t\342\200\236
ty,

preserves

the

size

z + tz
of the

components

f; represent

and

shape of an

(CI)

ty

translation. Translation

object and is,

therefore,

one

of the

rigid-body

transformations.
that
Tlie rigid-body translationof a geometric
every
objectrequires
point
a
distance
in
a
direction
(see Figure CI).
equally given
given
This meansthat we may specify a translation by a vector I so that

on it moves

p'
The

prime

mark

form we write

denotes a

p+

transformed vector or matrix.

these

In

purely

matrix

this as

P' = P+T
Expanding

(C.2)

matrices

produces

(C3)

442

\342\226\240
Appendix

\320\241

of a

Translation

Figured

x'

\317\207

tx

\320\243

+
\320\243

\316\266'

\316\266

h
tz

curve.

x +

h
y + 1,
z

If we
vectors

are careful with

and

convention

matrices

as we

of treating

(C4)

+ tz

and its interpretation,


we can mix
have
and
surfaces.
curves
the
for
already
Adopting
column
we
write
as
matrices, may
points
Equation
notation

our

(C.3) as

p' = p +

(C.5)

A succession of translations is another translation


sum. The order of the succession
is not important.
p'
is

equivalent

p + li

+ l2+

=p

its vector

Thus,

+l\342\200\236

+ 2>
i

Vector

to

to

p'

transformations.
For

equivalent

geometry
example,

and matrices certainly expeditetranslation


vector equation of a line is p(u) = p0 +

if the

(C.6)

= I

then
\320\275\320\260,

its

Translation

translation

bylisp'(ti)
=
+ wb.
is \321\200(\320\270,\320\270\320\236
pu + \302\253a
+

(p(l + l)

I. Similarly,if a plane
=
is p'(ii)
(p0 + I) + \"a + wb, or
=

or p'(u)

ua,

its translation

then

\342\226\240
443

p(u) +

1.

\321\200'(\321\213,\320\270>)=\321\200(\320\270,\320\270>)

not necessary

It is

the

translate

to

sufficient

or surface. To

curve

matrix of

or
to translate every point on a curve
control points, from which we can then

translate a cubic Hermitecurve,

=
\316\244

For

a new

generate

must

its

transform

geometric coefficients.

Thus,

B'

where

we

It is

surface.

[I

a bicubic

\320\222
+ \316\244

(C.7)

0]r.

Hermite patch we

ha-ve,

the

again,

general

form

= \316\222
\316\222'
+ \316\244,

now

but

T =

110

1(00
0 0 0

The four corner points are translated,

the

and

(C.8)

tangent

and twist

vectors are

unaffected.

For

for

curves

Bezier

curve

or surface

we translate

all the controlpointsby

(.Thus,

we have

\317\201'(\302\253)=\316\243(\316\241'+\316\277^(\
/ = o

(C.9)

Xp;bju)
i

and

= ()

for surfaces

Vr(u,w)

=\316\243
i (l

\316\243(\316\241*
/\"= (1

')

B\302\253M

Mw)

(CIO)
/

= o

/=o

B-Spline curvesand surfacesin


control points.
We translate

the

same

way,by

translating

the

444
C.2

\342\226\240
Appendix

\320\241

IN THE

ROTATION

PLANE

The geometry describingthe


angle

about
\317\206

the

rotationof

circumference of a circlecenteredat
in

preserved

find

a rigid-body

(or

point

vector)

and
Figure C.2. Because\317\201

is shown in

origin

the

and

origin

Ipl

p'

lie on

the

Ip'l (distance is

from elementary

transformation),

an

through
\317\201

trigonometry

we

that

Furthermore,

cos

= cos

cos

+ \317\206)
(\317\211

sin

+ \317\206)
(\317\211

= sin

o = je/lpl

and

sin

\317\211
cos

+ cos
\317\206

\317\211
cos

ro =

- sin

\317\206

\317\211
sin

\317\206

\317\211
sin

\317\206

j'/lpl,so that

substitution yields

\317\207

cos

\317\204'
\316\275
= ^\342\200\224
= \342\200\224-\321\201\320\276\321\217

+ \317\206)
(\317\211

-rrsin

\317\206

Ipl

sin

-*--

simplifies

Ipl

\317\206

Ipl

=-2\342\200\224=\342\200\224-sin +
+ \317\206)
(\317\211
\317\206

Ipl

which

Ipl

cos

\317\206

Ipl

to

x' =jc cos \321\204-\321\203


sin

\317\206
(\320\241\320\237)

=x
\321\203'

Figure

C.2

sin

Rotating

\321\204
+ycos

about the

a point
\316\266
axis.

\317\206

or vector

form this

matrix

In

the rotation

R is

cos
sin

the convention of

will use

\317\206

(C.13)

cos

\317\206

\317\206

premultiplying the point matrixby


a property of all isometries.

the

the Origin

about

Rotations

Successive

\317\206 -sin

IRI = 1 is

that

Notice

matrix.

transformation

(C.12)

Rp

transformation matrix, and

R
We

445
\342\226\240

equation becomes

p' =
where

plane

in the

Rotation

The product of two

rotations

successive

and
of
\317\206\316\271
\317\2062

about

a point

the origin

is given by

p'

We interpret this as a rotation by


yields
product \316\227\317\206,\316\227\317\206\316\271
cos

R e,R
(ij:

cos

cos
\317\206\316\271
\317\206,- sin
sin
\317\206]

R^R^!
which

us that for

tells

followed
\317\206\316\271

sin
\317\206^

\317\2062

R (*1+\320\2442
+ The

order

example.
in

the

plane

in space,
results.

-sin

+ cos \317\206\316\271
cos
sin \321\204\320\267
\317\2062
\317\206\316\271

the

in

plane
in the

sum

resulting

this

to the

\317\2062

the origin
matrix
rotation

about

product of

we
of

\316\267
successive

or
\342\226\240\342\226\240\342\226\240
+
+
+ \317\206\342\200\236)
-sin
(\317\206, \317\2062

cos

+
+ \317\2062
(\317\206,

sin

-t- \342\226\240\342\226\240
+ \317\206\342\200\236)
+ \317\2062
cos
(\317\206!

'
+\320\244;\320\263)

sin
\317\206]

cos
\317\2062
\317\206\316\271

(C.15)

successive rotations

the origin,

- cos

-sin

(\317\206,+\321\204\320\263)COS^+\321\204\320\263)

We

about

matrix

order.The

that

-Sin^+\317\206;,)

COS^+\321\204\320\263)

Sin

in
\317\2062.

wc find

identities

simply add the anglesand use the


easily
generalize
Equation (C.13).
rotations

by

+ sin \317\206\316\220|
cos
\321\2042
\321\204\320\263

trigonometric

elementary

Using

(CM)

RA,p

- +

\317\206\342\200\236)

(C.16)
+ \342\226\240\342\226\240\342\226\240
+ \317\2062
+ \317\206\342\200\236)
(\317\206\316\271

we perform the product is not important,so that,


for
=
of
a
We
conclude
thai
rotations
sequence
R^R*., R^ + \302\2732the origin is commutative.This is not the case for rotations

in which

R^R0l
about

where order is importantand

different

orders

produce

different

446
Rotation

\342\226\240

\320\241

Appendix

an

about

Arbitrary

A rotation R

about an arbitrary

combination
as

cumbersome

the plane

requires first a

origin.Next,

=-prthat
and
then

p'
The

p(. in

point

the point pc to the


brings
the translation i2 = pc>
reverse

translation li
rotation

Point

we

obtaining

R(p-pf)

the

execute

(C.17)

pL

of matrix multiplication and addition quickly


we add more rotations and translations.We

coordinates reduces this problem to a


using homogeneous
of matrix multiplications only.
sequence

becomes

see

will

that

workable

more

Rotation of Curves and Surfaces


the

Given

vector

equations

and plane, we

of aline

them

about

+ iiRa

Line:

\321\200'(\320\275)
Rp0

p'(u,w) = Rp0

Plane:

+ iiRa

the

as

transforms

attention

to how

we

let

Pi

X,

\320\243\\

pa

x'6

\320\243\320\247

\320\253
\316\241\316\252-

a rotation

some

(C.19)

*o

pn

coefficients

(C.18)

+ wRb

Rotating a planar cubicHermitecurve


requires
set up its \320\222
matrix.
is one way to do this.We
Here

Then

rotate

follows:

origin as

the curve

(C20)
yU

by operatingon its matrixofgeometric

follows:

B' =

RB

(C.21)

or, more completely

p'(u)

For a

Bezier curve, we

rotate

UMRB

the

set of

= UMB'

conlrol points,

p; = rp(

(C.22)

so that
(C.23)

and

p'(\=Zp^m(\")")

= 0
\320\263

(C24)

Rotation in SpaceaboutthePrlnclpal Axes -

Coordinate

447

Rotation

5ystem

of a point or the components


of a vector in a
with
the
initial
rotated
to
\321\204\321\201
by
system and with a
system
respect
=
we
use
that a
common
with
This
asserts
origin,
\317\206-\317\206,..
Equation (C. 13)
coordinate
but
rotation
results identical to that
of an equivalent
system
produces
directed
a
the
rotation
of
in
initial
or
vector
fixed
oppositely
point
To

the coordinates

compute

coordinate

coordinate

R*

so

to

leads

and

system,

cos

-sin
(-\321\204\321\201)

sin

cos
(-\321\204\321\201)

cos

(-\317\206,.)
(-\321\204\321\201)

sin
\321\204\321\201

-sin

\321\204\302\243

(C.25)

\321\204\321\201
\321\201\320\276\321\214\321\204\321\201

that

(C.26)

Rd

We

see

also

that

= R^

R, = R[

C.3

ABOUT THE

IN SPACE

ROTATION

in

Rotations

plane. We let
respectively,

of

space

a fixed

view, where

global

PRINCIPALAXES

challenging and complexthan

are more

and
\316\270,
\317\210,

(C.27)

about

rotations

denote
\317\206

points and other

objects

geometric

the x,

we are taking

frame. Remember,

are

the

\317\207
sin

sin
\317\206\321\203
+ \321\203
cos
\317\206

the

\316\266
axes,

active

repositioned

coordinate frame. We begin with a rotation about the \316\266


axis,
much like a rotation about the origin
in
and
the x, \321\203
plane,
that
coordinate,so
Equation (Gil) to account for the \320\263
= \317\207
\317\207'
cos

in

rotations

and
\321\203

point of
in a fixed

because

simply

it looks

expand

\317\206

\317\206

(C28)

\316\266'=\316\266

and

make

appropriate

changes

to the

cos
R*=l

rotation matrix,so that

\317\206 -sin

sin
sind> \317\206

The

rotation

matrices

for the

\317\207
and

\317\206 \317\213

cosd>\317\2060Ol
cos

axes
\321\203

are

(G29)

simple

extensions,namely

448

\320\241

\342\226\240
Appendix

10
\317\210 -sin

\317\213cos

R,

sin

(C30)

\317\210

cos

\317\210

\317\210

and
\316\2700

-sin

it is

Obviously,

still the case that

SuccessiveRotationsaboutthe

\316\270

(C31)

\316\270 \317\213cos

IRJ

IRVI

\316\270

= IRJ

= 1.

Axes

Principal

rotations about each of the

use successive

can

We

sin

cos

Rf

three

to

axes

principal

it is
However,
place a geometric object into any orientation.
important
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

that
we

will use:

1. First,
2.

3.

if

Next,

axis.
about the \316\266
by R0 about they axis.

by Ra

rotate

\317\206
*0,

if

rotate

\316\270
*0.

if \317\210*0, rotate

Finally,

this

Using

by Ry

about

to rotate

convention

the

\317\207
axis.

a point we have
(C32)

The expanded

of

product

cos\316\270
cos
+ sin
cos \317\210
sin \317\206
R, .|\316\220\316\262\317\210:
sin

sin
\317\210

\317\206

cos

A different
We

that

three
-cos

\317\206

rotation

matrices is

\316\270
sin \317\206

\317\206sin

sine
sin \316\271-sin
\316\270

sin
\317\210

\316\270
cos

\316\271cos

co-s
\317\210

sin
\317\210

\316\270
cos

\316\271sin

sin \316\271
cos
sin \316\270
\317\210
\321\201\320\276\320\267\321\204+
\317\210

sin
\317\210

cos

an entirely
different
yields
we can use
IRJ = |RVI = IRel = l,and
=
raises the following comment
1. This
\316\231\316\232\316\275\316\270\317\206\316\231
kn0w

order, say, ReR^R^,

of rotations

sequence

will

IRI = 1

\302\261
e. The

the

errors,

and,

sine
of

it

no

deviation
and
course,

is

cos

\316\270

cos
\317\210

\316\270

\317\210

(C33)

product matrix.

matrixalgebrato
and caution:

that

rotation matrix
computing

these

unavoidable

that

the determinant

After

show

of the resultant

one. That is, it will happen


that
accuracy of the algorithm
cosine functions, computational precision, round-off
the number
of individual rotation matricescontributprecisely
will depend

longer

equal

on the

in

Rolalion

will produce
equivalent

Rotation

product. In
non-rigid-body

to the final

ing

Coordinate

Axes

the absenceofcorrective
this
measures,
transformations and incorrectvalues

\342\226\240
449

deviation
for

System

There are situationsin

or

components

to

the initial

of

the coordinates of a point


must determine
coordinate system that is rotated with respect
common
rotating
origin or pivot point. When

we

which

in a

a vector

system, but with a


or vector, the principal axes are fixed,

a point

rotation a succession of
rotated

by
the

Rotating

coordinate

point or vectorby
Rotating
the

by

system

and

order,

has
the
\321\204\321\201

a coordinate

axes leads

system

to their

final

coordinate axes when they


when none of them is zero.
effect as rotating the
same

\317\206-\321\204\321\201.

about
\321\204\321\201

z' axis

what happens to the

and
in that
\321\204\321\201,
\316\230\316\225,
\317\210\316\225,

under

but

transformed

and

original

C.3 shows

Figure

position.

while

Ihe Principal

aboul

rotations.

of the

are

Space

the

remains

\316\266
axis

the

displaces

coincident

the

with

\317\207
and

axes
\321\203

initial

to the

axis.The
\316\266

x' and
next

/ axes,

rotation,

the y\"
the y' axis,displaces
leaves
the
x' and z' axes to x\"and z\" and
with the y' axis. The final rotation,\317\210\316\225
the x\" axis,
axis
coincident
about
and
axes
and
x'\"axis
fixedand
the
z\"
to
the
/'
/\"
z\"', leaving
displaces
the
as
the x\" axis. We denote the first
as \320\232(\321\204\321\201),
coincident with
second
rotation
=
the third as \316\232(\317\210().
with
\316\230\316\225,
\317\206
Letting
\316\232(\317\206\316\223,
R(6C),and
\317\210,.) \320\235(\321\207\320\263\321\201)\320\235(\320\265\321\201)\320\2

0C about

=
=
and
we
=-\317\206,, \316\270~\320\262\342\200\236
\317\210 -\317\210,,

find

from

Equation

Figure C.3 Rolation of the

coordinate

system.

(C33)

450

\342\226\240
Appendix

\320\241

\316\262(\316\246<-\316\221,\317\210\316\223)

cos
cos
-cos
sin

sin
\317\210,

cos
\316\270,

+ cos \317\210,,
sin
\321\204\320\263

As

we

nor the

cos

\321\204\320\263

+ sin \317\210,
sin
\321\204\320\263

sin
\317\210^

might

cos
\316\270,cos
\316\270,

cos
\342\200\224sin
\317\210,
\317\206,

it turns

expect,

inverse of

this assertion.Thus,

R;1

\316\270,

algebra

Rj RJ \320\251=

suffices

[R4

Re

(C34)

cos \316\230\316\223
\317\210\316\223

the transpose

is neither
\320\255\321\201,
\320\232(\321\204\321\201,
\317\210\316\225)

matrix

R^' =

Ri'

-sin

sin \317\210\302\243
cos \316\270,
\321\204\320\263

+ cos \317\210\302\243
sin \316\230\316\223
cos
sin \317\206,,
\317\206\302\243

out that

\316\270,
(\317\206,
\317\210).
Simple

\316\270,,
\316\232(\316\246\316\277
\317\210.)

sin \317\206,
\316\230\316\223

cos
+ sin \317\210\316\223
sin
sin \316\270,
\317\206\302\243
\317\210\302\243

cos
\317\206,,

to demonstrate

R\302\245]r

and

\316\227\316\223(\317\206,\316\270,
\302\245) [R^ReR^l\"'

in general

However,

[R$ Re
Euler

Rv]

\317\210

[R,,

R9 R$]

Angle Rotations

So far, we have rotated pointsand other


with respect to a
geometric
objects
fixed globalframe,or we have roiated
the global frame. Now we will define
a local frame that is rigidly attached to an object.The
local
and global frames
with
rotations
initially coincide.We perform
subsequent
respect to this local
that
when
an
its
frame
we
rotates
with
it. The
frame,so
rotate
rotation
object
angles are the Euler angles.

The rotation

in

sequence

\321\200' \320\232(\320\263*\320\233)\320\260\320\264\320\262)\302\253(\320\263.\320\244)\321\200

Euler angle rotations, where x', y', and z' indicatethe


with
the
first rotation,
position
respect to the globalframeafter
and x\", y\", and z\" indicate its position after the second
the
in
in
The
first
the
notation:
change
argument element
parenthesison
rotation matrix
indicates
the axis of rotation, and the secondelement
indicates
the
angle of rotation.) The premultiplying conventionfor combining
the \316\266
rotations
The first rotation
is
in the global frame.
axis
applies.
R( \320\263,
\317\206) about
It leaves the \316\266
frame
but
axis
and
of the local
rotates the local\317\207
unchanged
\321\203
axes
with the
is about
an
x'axis
second
that
does
rotationR(*',
\316\230)
object.The
is

the

local

\317\207
convention

for

frame

rotation.(Notice

not now coincide with

rotate*'
through

any

into coincidence
about
-\317\210

the

global

of
with

the
one

\316\266
axis,

global
of the
or R(z,

axes. This means that we must first


global axes, so we choose to rotate
-\317\206),bringing

the

\317\207
and

x'

axes

into

Rotation
We now

coincidence.

to its

perform R(j,

proper position. This tells us

rotations

to

equivalent

R(a',

first

two

R(z,

of the

R(Z,

RU-',\316\230)

Using

\316\230)

rotations

-\317\206)R(z,

\316\246)

Principal

Axes

x'

returns

which
\316\246),

R(z,

\342\226\240
451

sequence of global frame

R(*',
\317\210)

R(z,
\316\230)

\317\207
convention

-\317\206)

produce

R(z,
\321\204)
\321\211\321\205,
\316\270)

the above
=

R(z,
\316\230)

procedure outlined above,we


R(z\",

by

is a

there

R(x,
\317\206)

to simplify

the third

wc perform

R(z,

\317\206)
=R(Zj

= I

R(x\\

When

followed
\316\230),
that

the

about

Space

\316\230):

R(*',
The

in

\317\206)

R(z,

-\316\246) R(z,

\317\206)

equation produces

R(a-,
\317\206)

rotation R(z\",\317\210)and

(C.35)

\316\230)

using (he

simplify

again

that

find

R(Zi
\316\230)

\317\206)

R(z,

\317\206)
R(.v,

\316\230)
R(z,

(C.36)

\317\210)

this we conclude that a sequence of three Eulerangle


in the
rotations
frame is equivalent to three rotationsthrough
these
in
angles
applied
reverse order and with respect
to the global frame. The details of this method
From

local

and its generalization


are

The

\317\207
convention

and Koh(1995).

Lee

by

given

used

is frequently

in

applied

other

conventions

successiverotations

should

kinematics,

mechanics,

molecular and solid-state physics. The \321\203


convention's
the
is
R(y',
(using
pre multiplying convention) R(z\",
\317\210)

rotation

Equivalent Rotationsaboutthe

sequence
Many
\317\206).

\316\230)
R(z,

are possible. The general guidelineis that


be about the same axis.

no

and

two

Axes

Principal

a sequence
of many rotations producinga net rotation
R, we often must
the
inverseproblem:Given
matrix R, find a set of
solve
rotation
any
proper
that
and
matrix. This problem is
rotationangles\317\206,
an equivalent
\316\270,
\317\210
generates
and we must choose conditionsthat
limit
the
somewhat
stated,
loosely
first select a specific sequence of angles and corresponding
axes.Using
problem. We
the
that produced
the arbitrary
sequence
R^ in Equation (C.33), we equate
After

proper

rotation matrix R to R^ea

\320\223\321\206

cos

\320\223\\3

\320\223\320\263\320\263
\320\22323
\320\223\321\206

COS

to

obtain

\316\270
cos

the following

relationship:

\317\206

+
\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
\342\200\224
Sill
\320\223\320\2672
\317\206 0\316\2375\317\2105\316\252\316\267\316\270\342\204\226\317\212\317\206
\320\223\321\2121
\320\263\321\212\321\212
\317\2105\316\23111

-cos
cos

cos

\317\210

\316\270
sin

~
\317\206sill

sin

\317\206

sin

\317\210

5\316\220\316\267\317\210\316\26005\317\206+
COS\\|!Sin0sil^

sin
\316\270

\317\206-sin

\316\270

cos
\317\210

COS\\||COS0

\316\270

(C.37)

452

\320\241

\342\226\240
Appendix

matrix

Because

apply:

ru =

cos

r2,

=cos

rM

=sin

cos
\316\270

sin

\317\210

= cos

= sin

/-,,

= 51110

= sin-1
\316\270

\\|l

\317\206

\317\206-cos

\317\210

sin

\316\270
cos

\317\206

sin
\316\270

\317\206

cos

-sin
\317\206

\317\210

sin

\316\270
sin

\317\206

+ cos
\317\206

sin
\317\210

sin
\316\270

\317\206

(C.39)
cos
\317\210

COS\\|ICOS

\316\270

\316\270

\320\223\320\2522

COS

\316\270

/
\320\237\\
-\316\271
=
\321\204\320\24105

However,

from

function

the

if

Furthermore,

undefined

or

sin

then
\317\200,

approach is to use tangent

and

premultiply both sidesof

angles
Equations

(\302\261\317\200/2)

functions.

arctangent

Sill
-\320\22321

+
Sin
\317\210 \316\2233|
+

\317\210 r31

\317\210

COS

r22 COS

Sill
\317\210 -\316\22332

\316\270
cos

sill

The
matrix

element

in row

on the right

COS \317\210
+ \316\223\302\273
Sill \317\210
COS
\317\210 T21l
Sill \317\210
+ \316\22333
COS
-/\"\320\263\320\267

+ \320\223\321\2122
COS \317\210
\317\210

-siii

2 and column
to that on the left

ambiguous.

'13

Sill
\317\210+r32

cos

\316\270

(C.42) and (C.43) are


0. A more
conservative
One way to do this is to

'12
COS
\320\2232,

\317\200

to produce

by R;1

(C.37)

Equation

(C.43)

(C.41)

using the arcsine

\316\270
and

cos

(C.42)

(C.41)

potential for serious

an angle

= 0.
\316\270

=
because
\316\270
\302\261\317\200/2,

when

(C.41)

(C.38) and

have the

(C.43)

example,
computing
the
between
distinction
= 0
\316\270

follows:

(C.39)

Equations

For

problems.

makes

to

(C.41)

Equations

as

\317\210

from Equations(C.40)and

cose

computational

(C.40)

from Equation

i-l3

= COS

\316\270
cos

and
these equations for \317\206,
\316\270,

to solve

is tempting

sin

cos
\317\210

i-23=-sin
=

\317\210

\317\210

rl3

r3}

+ sin
\317\206

sin

\320\2372

(C.38)

\317\206

\317\210

r12=-cos

II

equality, the

elemenl-by-elemeiit

implies

equality
also

following
relationships

is

\317\206

zero.

produces

\316\270
sill

cos

\317\206

\316\270
cos

\317\206-cos

sin

Equating

\317\206sin

\317\206 cos

this

\316\270
\317\213

\317\206
\316\270
sin

\317\210

\317\210

(C.44)

\316\270.

element

in

the

about an

in Space

Rotation

r2i cos

+ r.iS
\317\210

Axis

Arbitrary

\342\226\240
453

= 0

sill

\317\210

= \342\200\224\342\200\224

Ian

\317\210

\316\2522\316\273

= tan\"

\317\210

are

solutions

two

These

the angle is undefined,and we

apart.
arbitrarily

\316\270
and

compute

also possible
=
\317\210 0.

set

all the

know

we
\317\210,

we can

and

(C.44)

for

value

compute

It is

180\302\260

r23

Otherwise,

r33

= 0;

Ihen

once we

of ihe lefl side of Equation

elements

\317\206.Thus

sin

=
\316\270
\320\263,\320\267

=
\316\270
sin
+
cos
~\320\263\320\263\321\212
\320\273
\317\210 \320\263

cos

that

\317\210

that

so

\320\223\321\206

= lair
\316\270

sin

+
cos
\317\210 \320\263\321\215\320\267
\317\210;
\\~\316\257\317\2012.\316\271

the

With
For

and cosine

sine

we
\317\206

defined, we easily computea unique

value

for

\316\230-

have
=

sin

cos
\321\204\320\2633,

cos

\317\206rn

cos

\317\206
+r3l

\317\210+rn

sin

sin

\317\206

\317\210

^5\316\2311\316\2201\316\234
\317\206\316\2523\316\267-'\316\257^05\316\246
+ \320\263\320\2521
cos \317\210
sili \317\210/
\\/23

We

find

C.4

ROTATION

from

conclude
and
\316\270,
\317\206,

IN

all this

\317\210\"
problem,

SPACE

ABOUT

Rotation about an arbitrary


rotation

The

transformation.

rotationpasses

through

that ihere is no unique


solution
to the \"given R,
we make a series of clarifying assumptions.
unless

AN ARBITRARY

AXIS

is ihe most general form of a


that
follows assumes that the axis of
development
a
the
it docs not, it requires
because,if
only
origin
axis

in space

the
We
define
simple translation transformation to produce the condition.
hand
rule
a.
The
axis by a unit vector a and the angleof rotation
right
by
applies to the sign of a: If Ihe thumb of the right hand points in the direction
sense of
hand
curl around
a in the positive
of a, then the fingers of Ihe right
the angle (see FigureC.4).

454

\320\241

\342\226\240
Appendix

axis.

Here is the strategy


defining

transformation:

this

the

perform

an arbitrary

about

Rotation

C.4

Figure

will

we

use

to develop

ihe rotation

matrix R

the
the vector a into alignment wilh
\316\266
Rotate
axis,
through Ihe angle a, and Ihen return a to ilsoriginal
is expressed algebraically by the following
process

rotation
This

orientation.
equations:

p'

R=
terms

Reading

rotation

R,,,

This

places

axis

through

about
R-y

the
and

on

from right

R_,R.vRaRvR+p

(C.45)

R^R.VR\342\200\236R,R(

(C46)

to left in Equation (C.46),we

an

about
arbitrary
point \317\201
the axis a in the y, \316\266
plane.Then

the angle
\316\266
axis,

R.,,

through

rotating

which

\317\210,

the

ali gns

angle

the point

by

the

axis
\316\266

and

R^, rotates

first

through

the point

execute

the angle

a
\317\206.

about the \317\207

a with the z. Next, R\342\200\236


the point
rotates
a. Finally, we reverse the process,with
and
that
all of which
order,
-\317\206,in
-\317\210

Rotation in Space about an

R$

its initial

a to

returns

position. We

appropriately

of course,any

on

points

the matrix

that

see

an arbitrary
it invariant.

rotates

point

to

\342\226\240
455

product R^R^SaRy
p' and leaves a and,

produce

\317\201

Axis

Arbitrary

the matrix multiplicationindicatedin Equation


to
(C.46)
horrible task. Fortunately, it must
once.To
be done
only
proceed,

Performing
is a

produce

we use the

matrices:

following

R,

cos

\317\206-sin

sin

\317\206

\316\246\317\213
*

cos

(\316\223
-\316\270-

cos

-s

\317\206sin

\342\200\224
-sin

\317\206\317\213

\317\206cos

\317\2060

\320\236

\"

1
R,

cos \317\210 -

sin

sin

cos

\317\210

Ru

R-v

j
\317\210

cos

\316\261 -sin

sin

\316\261

cos

\317\213

-sin

\317\210

\"1

\317\210
\317\210

sin
cos

\317\210
\317\210

\316\261 0

cos

\316\261\317\213

where

\320\24105\321\204

Vax

SHI

cos
sin

angles
sin
\317\206,

\317\210,

ax,

and

cos

sin

cc

we

al (1 -cos
+ ax az (1 + ax az (1 -

a +

sin
\320\260\320\263
~av

Then
\317\210.

ay, and
cos

\317\210 aL

\317\210

VaJ

we have a\\

of R in

elements

+
+

\320\251

a]. +

a] =

1.

terms of sine and

cosine

functions

of the

cos
to replace the sin \317\206,
appropriately
terms
with
their equivalents
\317\210
using the unit vector
a7. Finally, we obtain

and
\316\230,
\317\206,

components

a unit vector,

the

wefind

Fivst

a is

because

and,

<h

\320\271\\

substitute

a)

cos a)
cos a)

~at

sin

\316\261
+ er

cos

ay (1

-cos
\316\261+\316\254){\\

a, sin

a + ay

az

(1

- cos a)
a)
~ cos

cc)

~ cos
a sin cc + \316\261,
\316\254\317\204
(1
a)
~ cos
-a, sin cc + \316\262,,
az (1
a)
cos a + a\\(\\ -cos a)

(C.47)

456

\342\226\240
Appendix

\320\241

the

Compare

olher

matrix
r\342\200\236

patterns

also the

and

elements,

or regularities in

correctnessof a complexexpression
= 0

\316\254\317\207
~\316\254;

= lfso
\316\254\316\266

and

and

the

of the

any

example,

principal
if a lies

coordinate

along the

\316\266

that

cos \316\261 -sm


R

often indicate

this.

If the axis represented by a coincides with


for
axes, then R simplifiesaccordingly.
Thus,
then

These

elements.

\316\267,

of terms

as

such

axis,

and

rr;

distribution

the

sm

\316\261

cos

\316\261

\316\261

as expected.

Rotation

and Quaternions

Quaternions,

invented

the

computing

product

the

extracting

subsequently

(three

components),

define

a quaternion

rotations
rotation

equivalent

(one component)and part vector


rules and interpretations. We will
special
operating
as the formal sum a + r of a real number (scalar) and
part scalar

hypernumbers,

component

prove to be usefulfor
about arbitrary axesand
are
fourangle and axis. They

in 1843,

R.Hamilton

byW.

of sequential

with

a vector.The formal derivation


the
of
following
in
accessible
texts.
many
readily
appears
- b
A = a + r and \320\222
The
sum
of two quaternions
such

+s

is another quaternion

that

A+B

and the productof two

of

the

in

both

term

(ab

+(r+s)

(a+b)
is

B = (a+r)(b
=

The result

quaternions

A +

presence

properties

quaternion

- r

cases

consists

\317\207
s in

the vector

s)

(as +

\342\226\240
+

s)

br + r

x s)

scalar part and a vectorpart.The


product indicates that the vector product

of a

commutative, that is, \316\221\316\222\317\210\316\222\316\221.


We
to the rotation transformation as follows:Let unit
quaternions
apply
a define
the axis of rotation through the origin,and
\316\261
define
the
vector
let
We
assert
this
rotation
rotation.
without
that
we
can
describe
of
angle
proof
by the quaternion
R = cos (a/2) + sin (a/2)a
(C.48)
is not

This is

the normalized form of a quaternion.


The

conjugate

of R

is

Reflection
R*-

P'
is the
\316\241

where

a, we

\316\261
about

the quaternion

perform

by

given

multiplication

sin (a/2)a

cos (a/2)-

To rolale a point \317\201


through

\342\226\240
457

- RPR '

representing

quaternion

part of

sea lar

(the
\317\201

isp)./\" is the rotatedquaternion

and

\316\241
is zero

the

p'. For a
normalized quaternion,the inverseis equal lo the conjugate; thus. R~[ -R* =
inverse
is found by simply reversing the sign of a.
cos (a/2) - sin (a/2)a.The
It is easyto prove that ihe product of two normalized quaternions is another

vector part

normalized

quaternion,

which

from

when

characteristic

necessary

we extract

dealing

with

rotations.

This

process

extends

to and

about

arbitrary

axes

rotations

greatly simplifies executinga sequenceof


the origin. For example,if R and S
through

then

describe two distinct rotations,


result to S(RPR~*)S~l. Because

rotates

to
\317\201

RPR'1

and

.S1

takes

this

quaternion multiplicationis associative,


we

have

S(RPR

l)S-l

= (SR)P(R-lS~l)

and

R-iS-l = (SR)~l
If

= SR,

let T

we

then we find

that

Clearly, the

sequence

the

through

is equivalent lo the
rotations
of
about axes
by
any sequence
an equivalent single rotation. It is easy to extract
the

quaternion

\316\244
describes

that

rotation

S. Thus,

followed

origin

'

= TPT

(SR)P(SR)l

has

\320\242.
1\320\252\320\265
quaternion
components of this equivalent rotation from the resultant
the
and
the
defines
Ihe
scalar
is
one-half
vector
of
7\"
cosineof
axis,
part
part
the

C.5

rotation

angle.

REFLECTION

Although

the size and shapeof an

transformation,its handedness

may

reason

it is

either,

reflection;

that

change,

do

not

as in

reflection
mirror reflection. For this

change
a

under a

a rigid-body transformation.Itis not a topological


the topology
a
because
of an object is not preservedunder
it
is
an
not
create
a
mirror
of
is.
object by
possible to
image

not strictly

transformation

object

458

\342\226\240
Appendix

\320\241

and stretching
without culling or piercing.Yet combinations
twisting,
or more reflections can produceall the rigid- body transformations.
Reflection
transformations play an importantpart in constructing
and

bending,

of two

analyzing

planes

ihe

symmetry

of symmetry

of models, and reflection lines and planesare


of a model and its reflectedimage.
Of course,

lines

the

and

subject

is much deeper than


this
statement
To completely
implies.
and
its
the aid
to
explore symmetry
modeling
requires
relationship geometric
of group theory, which
is beyond
the scope of this text.
some
of the ways to reflect a curve in the x, \321\203
FigureC.5illustrates
plane.
The
a cubic Hermite curve
coefficients
of
are
shown
for each of
geometric
four positions. The procedurefor constructing
a reflected
of any
image
is
the curve in the first
lo reflect
object in space simple.Forexample,
= 0
quadrant
we transform each point \317\201
the \321\203
it to its
on
through
plane,
symmetric
an
the other
distance
the
but
on
side of
from
image
equal
p'located
plane
it. The distancebetweenpoint
a and
is
the
distance
to
between
point \317\201 equal
a and p'. Point
a lies
on the straight line joining \317\201
and
p' at its intersection
with
\317\207
axis.
the vector p' - \317\201
the
is normal
to this axis.
Furthermore,
This transformation merely changesthe algebraic
of tbe \321\203
signs
components of
the curve
coefficients. In fact, when the planeof symmetry
is any
one
of the three principal planes,the reflection
is accomplished
transformation
by
of symmetry

10

-1

-11

4
It

\316\270
0

-5.\320\221 13

5.5

0
-\320\255.\320\255-12

-3.8

-13 0

12 0

Figure C.S Reflectionsof a curve

\320\276
\320\260

13 0

-12 0

\320\267.\321\215

-\316\233

-1 1
-5.5

4 0

in

the

x,

\321\203
plane.

- 459

Reflection

changing the sign of the curve


the plane of symmetry.
Although
the

same

procedures

Reflection

the

may

lhe

component
corresponding to
in Figure C.5 is a plane curve,

example
apply lo a curve that twists
take place across any of the
also

A procedure

origin.

of Ihe

coefficients

analogous

lo that

throughspace.
principal axes or

for

reflection

symmetry applies lo reflectionacross principal


Figures C.6and C.7 more elaborate
examples
The determinantof reflection
transformation

of the reflection of
Rf is equal lo-l:

are

that

us

tells

This

transformation

investigate

(for

IR,l=-l
reflection is an orientation (or handedness)
example, a right hand becomesa left hand).

pseudoreflections,

transformations

of
(he origin.

or through

axis

look

that

like

through

a plane

through

a curve.

(C.49)
reversing
We

will

a reflection

also

but

are not orientation-reversing.

Inversion

in

the

We can

Origin

consider inversions as a

place througha point.In the

special

form

\316\275
\317\207,
plane,

inversion

Figure C.6 Reflectinga curve


principalplanes.

through

of

reflection

through

the

three

they take
the origin is given
in that

460

\342\226\240
Appendix

\320\241

C.7

Figure

a curve

Reflecting

through the originand a


axis.

principal

by

x' = -x
y'

or, in

(C.50)

-y

matrix form
(C.51)

where
R,

-\316\271

\317\213

\317\213-\316\271

We

notice

that

inversion

in

\\Rf\\

the

= +1,

origin

and

this transformation

in three-dimensional
=
\317\207

preserves orientation,
space is given by

~x

\320\243 -\320\243

\320\263'=-\320\263

(\320\241.52)

and
-\316\271

R/

\317\213

\317\213-\316\271

-1

\317\213 \317\213

(\320\241.53)

Reflection

in three

that

so

\342\226\240
461

dimensions

(C54)

IR,I=-1
A

of

study

dimensions demonstrates

in higher

inversion

that

in

inversion

a point is a true reflectiononly


in odd-dimension
In even-dimension
spaces.
which
is a rotation
spaces, the transformation producesa half-turn,
through
180\302\260.Inversion
in a point is an isometry becausedistances
are
preserved.
Reflections

in the

Plane

Reflection in the

is given

\317\207
axis

by

x' = x

and,

Rf

\320\243
=-)>

in the

Reflection

is given

axis
\321\203

\317\207
axis,

cident

with

-1
R,

and

0]

\317\2131

at an ang1 \320\265
with
arbitrary line m through the origin,
\321\204\320\273\320\263
first
execute
a
makesthe
line
coinwe
rotation that
requires
=
the
\317\207
then
we execute
a reflection about the \317\207
axis
axis,
\317\206-\317\206,\342\200\236;

that

and, last, reversethe


R P\"

Thus

rotation.

initial

-sin
\320\236
\321\204\342\200\236,1\320\2231
\316\265\316\277\316\264\317\206\342\200\236,

sin
\317\206\342\200\236
\317\206\342\200\236

cos

-I
-sin
cos
\320\274\320\277\321\204\321\202
\321\201\320\276\320\261\321\204\342\200\236|_0\317\206\342\200\236\317\206\342\200\236

cos 2
2

sin

Reflection

(C.55)

\317\213-\316\271

in an

Reflection

the

\317\213

by

x' = -x
\320\243' \320\243

(C.56)

2 \317\206,
sin
\317\206,\342\200\236
-cos
\317\206,\342\200\236

\317\206

in Space

or more reflectionscan produce


It
is
in
transformations.
easy to show that two reflections
It is also true that two
parallel planes are equivalentto a translation.
reflections in
are
to
a rotation. We demonstrate
intersecting
planes
equivalent
both
of these in a later section when we discussmultiplesequential
now
we merely list some very simple reflections.
transformations.
For
Reflectionin the \317\207
0 plane is given by
Earlier we found

all of

that

a combination

of two

the rigid-body

X' = -X
=

\320\243' \320\243

z'

= z

-I
and

R,

0 1

\320\236

\317\213\317\213

(\320\241.57)

462

\342\226\240
Appendix

\320\241

in the

Reflection

\321\2030

is given by

plane

\317\207
=x

and

\320\243' -\320\243

R,=

z' = z

Reflection

is given

\316\212 \317\213

and

y'=y

Rf=

z'=-z

by
1

R f~

and

\342\200\224
~~z
\316\266

C.6

Similar

Dilation (often calledscaling)


at

where
transformations,

uniform

the

(C.60)

\317\213

0-1

0
about

half-turn

\317\213
-\316\271

really a pseudoreflection,
and
occur
\316\266
axes.
about (he \321\203
may
It is

\317\207
axis.

half-turns

SHEAR

AND

DILATION

(C.59)

-1

/ = -y

=1.

0\"

\320\276\317\213

\317\207'
-x

is the same as a
because here IRfl

(C58)

by

\317\207'
-x

A transformation given

0
\317\2131

= \317\213
\316\266
plane

the

in

\317\213\317\213

\317\213-1

least

expansion

and

general affine

are more

shear

parallel lines are


or contraction
in

preserved. Isotropicdilation,that
all

directions,

angles but not distance. Shearpreservesdistance


shape and angle.

along

preserves
parallel

is

shape and
bul nol

lines,

IsotropicDilation
dilation as follows: If the distancebetweenany
then
a uniform dilation ihe distance
between
them
after
points
the
are
The equations describing a uniform dilationfixing
origin
We

define

a uniform

is d,

pair

of

is kd.

x' = kx

y' = ky
z'

In matrix

(C.61)

= kz

form, these equationsbecome

~k

\317\213
(\320\241.62)

\317\213\320\272\317\213

\317\213\320\272

Dilation

and

Shear

\342\226\240
463

Ihe dilation is an expansion. If 0 < \320\272


= 1. il is the
< 1. Ihen
Ihe dilation is a contraction. If \320\272
identity transformation.
with
< 0, the
is a reflection or inversion
an
transformation
If \320\272
coupled
where

fc

is

the

scale

factor.

If

\320\272
> 1.

then

or contraction.

expansion

a dilation
of a Bezier or B-Splinecurve
or surface
by simply
We
scale
a cubic
the
the
dilation
transformationto
control
points.
applying
=
=
kB
Hermite curvevia its geometric
B'
coefficients.
Thus,
kpt
fcpii
[fcpj
of scaling on the tangent vectorsin
kp\"]T (see Figure C.8). We see the effect
execute

We

C.9.

Figure

The

inverse

of any

dilation is
\342\200\224
0

\320\272

D'

1
=

\317\213

(\320\241.63)

\320\272

\317\213 \317\213

We

will

consider

dilation

Figure

C.B

fixing an

Scaling

arbitrary point in the nextsection.

a curve

with respect

origin.

to the

464

\342\226\240
Appendix

\320\241

Figure

The productof

two

C.9 The

dilations

effect of scalingon tangent

vectors.

DL and

the

\316\2142
fixing

origin

is

p' = D2D,p
~ktk2

By

inspection,
dilations
is not

wc conclude

\320\236

\320\236

ktk2

ktk2_

that DZD L =

D|DZ

and

(C64)

that the

order of the

important.

Dilation

Anisotropic

In general,
or contraction.
Anisotropic dilation is a nonuniform
expansion
there may be three independentscale factors
an
arbitrary
fixing
pojnt,
referred to as the three principal
directions
in space.
For the simplest case,
a different
we Specify
the
scale factor for each of these directions,fixing
origin,

and

thus

producing

x' = kxx
/=*,\320\243

z' = kzz

(\320\241.65)

Dilation and
In

matrix

form, we

Shear

\342\226\240
465

write this as

**

\317\213

(C.66)

\317\213

*v.

\317\213 *.

with
direction.
To
situation the scale factor must
vary
in the
dilation
this, we look at the simplercaseof anisotropic
=
and
the dilation
axes correspond to
where
plane, where x' = kxx and y'
kyy
We
will
let
the
in
the
the \317\207
and
ratio
direction
axes,
k0 denote
\317\206
\321\203
(before
to the \317\207
axis
with
dilation)
respect
(see
Figure
CIO) and compare the distance
on
a line through
the origin before d and
betweena pairof pointsp, and \321\200\320\263
We compute k^asd'/d. The distancebetween
dilation.
after d\\ an anisotropic

Clearly,

in ihis

demonstrate

p,

and

before
\321\200\320\263

Following

is

dilation

an anisotropic

dilation

ratios

with

kx

and

ky, the

distance

is
between \317\201\316\212
and
\317\201\316\212

Substituting

for x'

and y', we find

d' ^kl(x2-Xiy

ytf
\320\251(\321\2032-

and
+

\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

Figure C.10

Anisotropic dilation.

(C.67)

466

\342\226\240
Appendix

\320\241

This

in this

Because

more

becomes

equation

meaningful

simple case k, and ky

are

if we

use y

= x

tan

it is

orthogonal,

so
\317\206,

that

relatively easy

to

dilation
and the effect of direction. A
interpret the maximum minimum
with
of
versus
an
and
the
and minor
kx
graph
generates
major
ellipse
axes, depending on their relative
The
of two sets of anisotropic dilationsalong
axes
product
principal
and fixing the origin is given
and

/\316\257\317\206

\317\206

ky

magnitudes.

the

by

^A-rj

\317\213
\320\272\320\2431\320\272\320\2432

Shear

in

shear

shown

an

Fixing a

Plane

the

amount

\320\276

(C.69)

\321\214*\320\232.

Principal Axis or Plane


induces

transformation
in Figure

\320\241\320\237.
Here,

proportional

lines

a deformation in a geometric modellikethat


axis
to the \320\273:
direction
parallel
slip in the \317\207

to their

In

coordinate.
\321\203

parallel planes do the slipping.The equations


in the plane fixing
the
\317\207
axis
are
x' =x

three-dimensional

describing

this

space,

transformation

+ kxy
<\320\24170>

or

Figure

\320\24111

Shear

fixing

the

\320\273
axis.

=
\316\241

Transformations

Sequential

Multiple

*,.

(C.71)

define the shear transformationthat

Similar equations

x' =

\342\226\240
467

the

fixes

axis:
\321\203

(C.72)

y'=kxx+y

or
(C73)

\316\232 \316\271

in three-dimensional

transformation

A shear

\316\241

space fixing

the

\316\266

0 plane

is given by

x' = x +

P' =

or

z' = z

Similar

fix

equations

C.7

\317\207

0 -and

the

kt

k2

0 0

\"l

k,z

= y + k2Z
y'

- 0

\321\203

(C.74)

planes.

MULTIPLE SEQUENTIALTRANSFORMATIONS

Rotation

that

requires

space

coincides
origin.

so that

an

about

arbitrary

we first

with the origin


We then perform

the point or

in the plane or an arbitrary axis in


point
translate the model so that the arbitrary
point

or so that the arbitrary axispassesthrough


the
the indicated rotations and translate

axis

to

its

the

results

We handle

initial

position.
fixing arbitrary points, lines, or planesin a
similar way:
translations and rotations before and
by executing
appropriate
the
after
Whenever translations are part of the
transformation.
primary
matrix
addition
is required
if we write the
transformations,
sequence
and
shear
in
their
Cartesian
for
rotation,
equations
and

dilations,

reflections,

returns

shears

of

reflection,dilation,

form.This approach rapidly becomesa nestedmessof

(nonhomogeneous)
matrix

algebra.

It is

in two
to express a general lineartransformation
or three
as a square matrixo\302\243
Order
two or three, respectively, if it must

not possible

dimensions

An
extra
include translationsor projections.
cases. This requires the use of homogeneous

hz

= 1,
If \316\256
\316\256]7\".

then

\317\201 [\320\273\321\203 \316\2661]'and

coordinates,
p'=

[*'

in both

is necessary

dimension

where
\316\266'

If.

\317\201 [hx

hy

4\320\261\320\222
\342\226\240
Appendix

\320\241

Translation

We

may

the Cartesian translationp' =

now write

p +

t in

matrix form

p' = Tp
and

where

p'

\317\201

are given in

(C.75)
coordinates and

homogeneous

1 0 0
T=

_o
Because
Equation

(C.75),

- 1, when

h ~

tu

we

obtain

we

\320\223\320\273
ty

(C.76)

tz

\316\277\316\277 \316\271

matrix

the

perform

V\"

multiplication

z'
1

of

+ tx

y + h

A sequence

as

(C.77)

+ tz

of translations is given by
T2T,

TE=T,

(C.78)

-T\342\200\236

or

Ty =

\"l

\320\236

Rotation in the
Rotation

is not

+ f

' + r
+ !\320\2432
+
\316\233,

!^

ooo
Order

fi:
f\342\200\236

ttl +

t.* +

\342\226\240
+

t.

(C.79)

\316\212

important, so that, for example,

T2

T, =

T, T2.

plane
in

the

plane

using a homogeneoustransformation

the origin

about

matrixisexpressed
as

cos

P'

\317\206

sin

\317\206

-sin

\317\206 \316\237

cos

\317\206\316\237

(C.80)

the
Rotation about an arbitrary point pt requiresthat
we
first translate
model so that p,.coincideswith the origin.Then
the
rotation
and
we perform
translatethe resultssothat pr returns to its initial position. This sequenceof

transformations
is

represented

by

the

matrix

product

Multiple Sequential

Carrying

out

xc

cos

,vf

sin

\317\206

sin

\317\206

-sin

\317\213-\320\263.

\317\213

~xc

cos

\317\206~-xt

sin

\317\206

cos

sin
\317\206 \316\275,-

\317\206yc cos
1

~yr

(C.81)

\316\271

\317\206xc

(C.82)

\317\206yc

Cartesian coordinates,this is
cos

*'=(.\302\243-\317\207-,)

)>'
in

\317\206

\317\206

0
0
\321\201\320\276&\321\204

Rotation

-sin

multiplication, we obtain

this matrix

cos
In terms of

\317\206

Transformations \342\226\240
469

sin

\321\204-(\321\203
-,vf)

sin
\316\246(\320\243
(\320\243-\320\243\321\201)

+ xc
\317\206

J'.) cos

(C.83)

+ \321\203,
\317\206

Space

Rotation

about the

\316\266
axis

as

is expressed

cos \317\206 -sin

Similar

Again,

rotation

\317\206

\317\206

(C.84)

apply to rotation about the


the
an arbitrary axis not through

to derive,

easy

equations,

\317\206

0
1

sin

cos

about

.rand

axes.
\316\275

origin

requires

translate the model so that some point on this axis coincides


the
with
the
axis aligns
and, second, rotate the model so that
arbitrary
origin
with one of the principal axes.Next,we execute
the primary
rotation and
finish the
of transformations
by reversing the secondary rotation and
sequence
translation
so that the arbitrary axis once again coincides
with
the
pointwise
initial
it. of course.
position, carrying the model along with
The rotation
of a point about the \316\266
followed
axis,
by a translation
ma
as
the
of
is
trices,
expressed
product homogeneous
that

we first

p'

= TRp
1

\342\226\240sin
\317\206

\316\257.\316\275]

\317\2131

tr

\317\213
\317\213

ty

sin

\316\246

cos

\317\213 \317\207

0
\317\206\320\236

\316\275

\316\266

\317\2131

\316\231

(C.85)

470

\342\226\240
Appendix

\320\241

cos

order

the

p'

t,

\317\207

\317\206 \317\213ty

\320\243

\316\226

\317\213 1

of these

transformations, we obtain

tz

\317\205_

RTp

\317\206

\317\206 \317\213\316\277]

\316\223, \317\207

\317\2130

\317\2131

\317\213

ty

\320\243

\317\2130

\317\213

\317\2130

tz
1

\316\266

cos

\317\206

cos

\317\206

sin

results

sin

sin

these

\317\206

\317\206

cos

cos

From

sin

\317\213

sin

Reversing

\317\206

\317\206

\317\206 \317\213

-sin

\317\206

cos

COS
\316\257,

\320\236

\317\213

\317\213

\317\213

is

it

that

clear

\317\206
-ty

t+

sin
\317\206 \317\213\316\257,

ty

Sin

\317\206

COS

\316\271

(C.86)

is important,

order

because we see that

TRp*RTp

Glide

Rotation

The glide

screw rotation) consistsof


the directionof
to
parallel
to the rotation angle.The
is proportional
axis:
glide rotation about the \316\266

rotation (otherwiseknown
a translationand rotation
about
translation,

where

followingequation

the

translation

describes

cos
sin

Reflection

twist or

the

as

an axis

\317\206
\317\206

-sin
cos

\317\206 0

\317\206\317\213

0
(C.87)

\317\213

\317\213

\320\243\321\201\321\204

in Space

The homogeneous

transformation matrixfor

inversion

in the

origin

is

471
Multiple Sequential Transformations \342\226\240

-10

the parity

= +l,

Because

/y\302\253

0-1
0 0
0 0-10

R;

(C.88)

0 1

is unaffected, and

computation

\\Rf\\

= -1.

of a geometric model relative to an arbitrary


point
pi requires
a
then
the primary
first translation that movesp, to the origin,
inversion,
that moves p, back to its original
followed
by a translation
position.Thus,
Inversion

(C.89)

\321\200'^\320\242\320\233/\320\242\320\223'\321\200

where

TiR/T

Dilation

-\320\273-,

-y,

0-10
0 0 1 -z,
0 0 0 1 0 0 0

2x,

2y,

0-1

2zi

0 0

Z\\

0-10

0 0

0-1

)>l

-10

-10

X,

1 0
0 1
0 0

\316\2231

(C.90)

in Space

The anisotropic
defining

geometric

transformation

matrices.

relative to the

dilation about an
object
Here

point

arbitrary

pf of

a set of

points

is expressed concisely using homogeneous


that the scale factors k\342\200\236,
and
we assume
ky,

principal axes.

kz are

have

We

(C.91)

p'=TfDT-p

where

TVDT

1 0 0 xc
\320\232
0 1 0 \320\243\321\201
0

0 0 1

0 0

Zc

1_

(1
(1

ky

k;

k(

\320\276

\320\276

0
0

1 0 0 -X
0 1 0 -y

k7

~z
1

-k\342\200\236)x,

ky)yt

{\\-K)z(
1

(C.92)

This

page

intentionally

left

blank

BIBLIOGRAPHY
This

provides

bibliography
loo

literature,

large

works

accessible
subject.

Because

and

research

points

for a comprehensive

are cited,
significant

development

inlo a much more extensive

of entry

listing here. In somecases,only

not necessarilythe earliest,on a particular


part of geometric modeling comes out
this
is
efforts of private industry
(and

most

the

of

the

still true

due to proprietary
in part
today), access to these resultsis oflen difficult,
and reporting.
considerations as well as varying
standards
of documentation
enlries
are
the
second
new
included
in
this
of
edilion,
Many
bibliography
of course,and nol all enlries of the first edition are repeatedhere.The many
for this include limilalions of Spaceand changesof emphasis.
reasons
Omission of
works is not intended but is almost predictably
inevitable
important
in a work
of this size. I apologizefor any omission
and
comments
welcome
on additions and correctionspending
of this work.
subsequent
printings

Abelson, H., and A.

Turtle

Disessa.

The Computer

Geometry:

as a Medium

Mass:MITPress,1981.
for ExploringMathematics.
Cambridge,
S.
for Scientists and Engineers\"
Abhyankar,
Geometry
\"Algebraic
and
Mathematical
35. American Mathematical Soeiely,
Surveys
Monographs
1990.

S.

Abhyankar,

S., and

\320\241
L.

\"Automatic

Bajaj.

Curves and SurfacesIV: Algebraic


Graphics 8(4):325(1989).
Acton,

F. S.

Numerical

Methods

that

Space

Work.

Parameterization
of Rational
ACM Transactions on

Curves.\"

New

York:

Harper

and Row, 1970.

473

474

\342\226\240
Bibliography

J. A. '\"Geometric Concepts for Computer


and Weapons Report no. EW-72-4.
Annapolis,

Adams,

Engineering

Graphics.\"

Naval

U. S.

Md.:

Academy,

Sept. 1972.

Affentranger,F,and
291

Geometry
6(4):

(1991).

and

S. C,

Agarwal,

Ihe Convex
Hull of Uniform
and
Discrete
Computational
d-Polytope.\"

A.Wiseacker.'On

J.

a Simple

in

Points

Random

N.

W.

Jr.

Waggenspak,

Extracting Face Topologiesfrom


123 (1992).

Method

\"Decomposition
Models.\"

Wireframe

for

Aided

Computer

Design 24(3):
G.

Agin,

and

I,

\320\242.
\320\236.
Binford.

IEEE Transactionson
\316\234.
\316\232.

Agoston,

Ahlberg,J.,E.Nilson,
S.

A.

Dekker, 1976.
Theory of Splines and Their

Press, 1967.

Academic

York:

Ahuja, D V., and

The

Objects.\"

(1976).

York: Marcel

New

J. Walsh..

and

Applications. New

C-25:439

Topology.

Algebraic

of Curved

Descriptions

''Computer

Computers

Coons.

''Interactive

and
Geometryfor Construction

Display.\"

in Data

Graphics
IBM

processing:

Journal

Systems

3(4): 188

(1968).
on a Geometric-Reasoning
of
Geometries
Based
Aldefeld, B. \"Variation
Method.\"ComputerAided
117-126
Design
20(3):
(1988).
York:
1961.
New
Alexandroff, P. Elementary Conceptsof Topology.
Dover,
L.
\"Rational
Linear
NURBS
and
the
of
Alt,
Blossoming
Reparametrization
465(1993).
Principle.\" Computer Aided Geometric Design10(5):
and B. Facidieno.\"GeometricModelingof Solid
Ansaldi,
S., L. De Floriani,
Objectsby Using a Face Adjacency Graph Representation.\" Computer

Graphics19(3):131(1985).
S.,

Aomura,
Computer

Aided

and

Design

22(7):

\316\247
\316\234.
Wozny

Curved Surface:Mapping
(1994).
\316\244.
\316\234.Calculus,

Applicationsto
Arbab,

IEEE
Armit,

Probability
\"Set

Models

Algorithms.\"

a Woven

\"Fitting

Aided

Computer

''TAG\342\200\224A

Cloth Model to a
Design

26(4): 278

2: Calculus
of Several Variables with
Vector Analysis. New York: Blaisdell,1978.

Vol.

and

and Boolean

Operations

for

Solids

76
Computer Graphics and Applications10(6):

A.

Surface.\"

Offset

417 (1990).

Aono, M., D. E. Breen,and

Apostol,

an

\"Self intersection of

T. Uehara.

high

performance

interactive

and

Assemblies.\"

(1990).

3D graphics

systems.\"

3:117-123
Computers in Industry
(1982).
and
Armit, A. P. \"Curveand SurfaceDesignUsing
Multiobject
Multtpatch
Aided
251
Design Systems.\" Computer
Design25(4): (1993).

\342\226\240
475

Bibliography

\320\241.
G.

Armstrong.

\"Another

R.
\316\241

Arner,

of

University

Utah,

for Finite-Element

Requirements

\"Modeling

Computer Aided Design26(7):573

(1994).

Intersection.\" Ph.D. thesis,

at Surface/Surface

Look

Analysis.\"

1987.

Surface
/Surface
intersection.\"
Aziz, N. M.. R. Bata, and S. Bhat.\"Bezier
IEEE Computer Graphics and Applications10(1):
M. Easlman.and
M. Henrion. \"Geometric Modeling: A Survey\"
Baer,
A.,C.

50-58(1990).

Design 11 (5): 253-272 (1979).


J. E. Hoffman,
and R. E. Lynch.\"TrackingSurfaceIntersections.\"
Geometric
Aided
5: 285-307 (1988).
Design
Aided

Computer

Bajaj,

\320\241
L.,

Computer

Bajaj,C.,andl.lhm.\"Hermitc interpolationof Rational


Real Algebraic Surfaces.\" Proceedings of the 5th Annual
on Computational Geometry. 1989.

Surface

\"Algebraic

with

Design

61
Transactions on Graphics11(1):

Hermite

Curves

Space

ACM

Using

Symposium

Interpolation.\"

ACM

(1992).

A. A.

Ball,

\"A

Specification

Simple
Design

Computer-Aided

181-82

10(3):

ing

20:197-216

. \"An
Generated

of

CurvaLure
ACM

Surfaces.\"

B-Spline

(1990).
. \"CONSURF
Design

Methods

\\n

Engineer-

Computer

of the

25(8):

over Recursively
on Graphics 9(4):
Conic Lofling

424

Tile.\"

513 (1993).

Barbie,!, and M.Spegel.\"Language


Configurations.\"

Variations
Transactions

1: Introduction

Part

Computer

Computer-Aided

for Numerical

(1984).

Investigation

Aided

(1978).

Journal

international

Design.\"

Cubic Segment.\"

Parametric

and its Applicationin

. \"Reparametrization
Geometric

of the

Graphics

for

Forum

Description

of Geometric

9(1): 9 (1990).

Rational
Surfaces.\"
Bardis, L., and N. M. Patrikalakis.
\"Blending
B-Splinc
}989.
1989.
Amsterdam:
N
orth-Holland.
of Eurographics
Proceedings
M. Vafiadou.
BBardis,
L., and
''Ship-Hull Geomelry Representation with
Surface
patches.\"
Aided
217
Spline
Computer
Design 24(4): (1992).
R. E. \"Smooth
over
Barnhill,
Triangles.\" In ComputerAided
Interpolation
R.
E.
and
R. F. Riesenfeld.
Geometric
cds.
Barnhill
New
York:
Design,

Press. 1974.
. \"Blending-Function Interpolation: A Survey
Results.\" Numerical Analysis Report No.9.Department
of Dundee, Dundee, Scotland. July
1975.
University
Academic

Coons

Patches.

Computers

in Industry

Some

and
of

Mathematics,

3: 37^3 (1982).

New

476

\342\226\240
Bibliography

. \"A

of the

Survey

Representation

and Design of Surfaces.\"IEEE

3(7); 9-16

(1983).
. \"Surfacesin Computer Aided
A Survey
Geometric
with
Design:
New Results.\" Computer Aided GeometricDesign2:1-17(1985).
in
and W. J. Gordon. \"SmoothInterpolation
Barnhill,
R.E.,G
Birkhoff,
8:114-28
Journal
Triangles.\"
of Approximation
Theory
(1973).
R.
and
J.
Function
Barnhill, E.,
\"Blending
Gregory.
Interpolation to Boundary
on
Data Triangles.\"
Mathematics
of Computation
29(131): 726-735 (1975).
R.
G
M.
and
B.
R.
Barnhill, E., Farin,
Jordan,
Piper. \"Surface/Surface
Intersection.\"
Aided
Geometric
Computer
Design 4: 3-16 (1987).
and

Graphics

Computer

Applications

Barnhill,R. E.,andR.F Riesenfeld.eds.

Geometric

Computer-Aided

Barr,

H.

A.

Design,

Press, 1974.

York: Academic

New

and

\"Superquadrics

Transformations.\"

Angle-Preserving

IEEE

Computer Graphicsand Applications1(1)(1981).

\"Global

P.

J.,

of Solid

Deformations

Local

and

Graphics18(3):21(1984).
Barry,

J.

Splines

\"Unimodal properties of BAided Design 24(12):


Computer

Goldman.

R. N.

and

\320\241
Beaity,

Functions.\"

Bernstein-Basis

and

627 (1992).

Barry.

P. J.,

Goldman.

R. N

and

Elevation.\"

Degree
B.

Barsky,

A.

and

. \"A

Beta-Spline:
Fundamental

Graphics
Study

8(2):
of

109-34

University

Report

of California,

Graphics

and

CSD

Berkeley,

.\"ADescriptionand Evaluation
Computer

of

Utah,

1981.
ACM

Beta-Splines.\"

(1983).
Uniform

Parametric

Technical

Representation.\"
Division,

the

for

Geometric Design 5(2):173-175(1988).


Local
A
Representation Based on Shape
Measures.\"
Geometric
Ph.D. dissertation,

University
Department of ComputerScience,
. \"Local Control of Bias and Tensionin
Transactionsin

B-Spline Identity

Aided

Computer

\"The

Parameters

of a

Proof

Recursive

\"A

Primitives.\" Computer

Applications

of

B-Spline Curve and Surface


Science
May 1983.
83/118. Computer
3-D

Various

4(1): 38-52

Models.\" IEEE

(1984).

New

. Computer Graphicsand GeometricModeling


York: Springer-Verlag, 1988.

IEEE

. \"RationalBeta-Splinesfor Representing
Curves
and
Surfaces.\"
24
and
Computer Graphics
Applications13(6): (1993).

Barsky,

B.

A.,R.

H.Bartels,

and J.

\320\241
Beatty

\"An

Using

Introduction

Beta-Splines.

to the

Use of

CS-83-9.
Report
Department
Splines in ComputerGraphics.\"Technical
Science, University of Waterloo, Waterloo,Ontario,1983.
Computer

of

\342\226\240
477

Bibliography

J.

\316\222.
and
\316\221.,

Barsky,

\320\241.
Beaity

Science

Computer

B.

Barsky,

A\342\200\236
and

Curve and SurfaceRepresentation.\"

Beta Spline
and
Graphics

Applications

Characterizations.\"

of the

Case

Special

IEEE

Computer

Continuity of Parametric Curves:Three


Equivalent
1. IEEE Computer Graphics and Applications
Part
of Parametric Curves:Construction
of
2.
IEEE
Part
Computer Graphics and
Splines.\"

Continuity

Continuous

Geometrically

60-68,

10(1):

Applications

R. H.,and

Spline

(1990).

J. \320\241Beatty
In

Curves.\"

for the Direct Manipulation


89. Palo Alto, Calif.: MorganKauf-

\"A Technique

Interface

Graphics

of

1989.

mann,

R. H., J. \320\241Beatty,
and
in
Use
Computer Graphics
Morgan Kaufmann, 1987.

B. A.

Bartels,

and
Graphics

A.
\316\241

Geometry

Curves.\"

Rational Bezicr

Computer

Beck,J.,R.

and

Farouki,

and

Graphics

Bedi, S.

and

Generate

that

\"Surface

J. Hinds.

Applications

Design

Using

Design 24(9):505(1992).
Interpolations

by

E. Shilat.

and

M.,

Bercovier,

'bubble

to

Introduction

An

Palo

Modeling.

Associations

\"Curve-to-Curve
and
ISOS

S.

E. Howe.

\"Boundary
IEEE

Method.\"

in Spline-

23(3): 167

Graphics

Computer

Splines
for
Calif.:

Alto,

(1989).
Evaluation

Computer

9(2): 39 (1989).
and G J.
Fitzhorn,

Applications

Beatty, P. L.,

Barsky.

and Geometric

Bartels, R. H., and R. T. Hardock.


Based Inbetweeningand Sweeping.\"
Beacon, G R., J. R. Dodsworth,
The
Using Innerand OuterSets:

Computer

2-Spline: A

60-67

(1989).
. \"Geometric

Bartels,

in Beta-Splines. Technical
of California,
University

15 (1985).

7(3):

. \"Geometric
9(6):

Division,

\"The Beta

DeRose.

T. D.

the Betas

\"Varying

Report CSD82/112.
Berkeley, Dec. 1982.

functions.'

Herron. \"Extensions in Variational


Modify
Object Edges Composed of
Aided Design 26(2): 85 (1994).
\"Surface Analysis Methods.\" IEEE
6(12): 18-36 (1986).
Functional
Blending.\"
Computer Aided

\"Enhancement
\"

Computer

Aided

of Gordon-Coons
Geometric

Design

10(3^1):

253 (1993).

Berger,D N..

and

Edge.\"

Computer

M.

Kallay.
Aided

\"Computing
Design

24(7):

the Unit Normal


395 (1992).

Aided
Bez, H. \"On Invariant Curve Forms.\"Computer

3(3):

193-204

Geometric

Design

(1986).

Bezier, P.\"Definitionnumeriquedescourbeset surfaces


625-632(1966).

on a Degenerate

I.\" Automatisme

11:

47\320\222 \342\226\240
Bibliography

\"Definition

et surfaces

courbes

des

numerique

17-21(1967).

definition

de

\"Procede

ematiquc.'M\302\253if>moi(sme

des courbes

numerique

JI.\"Automatisme 12:
et surfaces non matb-

(1968).

13(5)

Control: Mathematics and Applications, trans. A.


London: Wiley, (972.
F. Pankhurst.

. Numerical
Forrest

A.

and

. \"Mathematical and
Geometric

Aided

Computer

. \"Essay de
Ph.D.

mentales.''

eds. R.

Design,

In

UNISURF.\"

E. Barnhill and R. F. Riesent'eld.

Press, 1974.

Academic

York:

New

of
PracticalPossibilities

R.

definitionnumeriquedescourbeset des
thesis, University of Paris IV. 1977-

surfaces

. ''General

an

of

Distortion

experi-

Patches/'

of Biparametric

Ensemble

Computer Aided Design19(2):116-120


(1978).

. \"First

Steps

of CAD.\"

Mathematics

\"Style,

(1990).
Binford,T. O..

Proceedingsof

Computer Aided Design21(5):259(1989).


and
NC.\" Computer
Aided Design 22(9): 524

J. Agin.

G.

and

\"Computer

Description

of Curved Objects.\"

Conference

on Artificial

International

Third

the

1973.

Intelligence,

More Than One Way


Mathematical Monthly 82:246(1975).

Bishop,

R. L.

\"There Is

Leu,andF.

D,M.,C.

Blackmore,

Volumes.\"

Swept

Computer

Bloomenthal,J.

of

5: 341-355

Design

Bloomenthal,
Graphics

M.

Equations.\"

between

Plane

25(10):621(1993).
W.

Implicit

Surfaces.\"

\"Cubic

Design.\"

Computer

American

Deformed

Aided

Surfaces.\"

Computer

Blend Surfaces Using Partial


21(3): 165 (1989).
B. Ravani.
of Developable Surfaces Using
\"Design
and point Geometries.\" Computer Aided Design
Computer

Bodduluri, R. M. C, and

a Curve.\"

(1988).

J. Wilson.

Differential

Geometric

Frame

J., and K. Shoemake.\"Convolution


25(4): 251 (1991).

Bloor. M. 1.G, and

Duality

to

Shih. \"Analysis and Modeling of


Aided
Design 26(4): 315 (1994).

\"Polygonization

Geometric

Boehm,

CAD System. London:

UNISURF

1986.

Butterworths,

of the

Basis

Mathematical

The

B-Spline
Computing

\"Generating
Aided

Design

Curves and Surfaces


19: 29-34 (1977).

. \"Inserting New Knots


Design
12(4): 199-201 (1980).

into B-Spline

in Computer Aided

Curves.\"

Computer

Aided

479
Bibliography \342\226\240

Bezier

the

\"Generating

of B-Splines.\"

points

Design13(6)(1981).

. 'On

Cubics:

Computer

Survey/'

19:201-226(1982).
.\"Curvature
Design

(1987).
. \"On the

Graphics

and Image

Surfaces.\"

Computer

Processing
Aided

(1985).

Geometric Splines.\"ComputerAided Geometric


Design

. \"Rational
67-77

313-323

2(2):

and

Curves

Continuous

Geometric

Compute,- Aided

Definition of Geometric

Continuity.\"

to

Lelter

4:

editor.

the

Design 20(7):370-372(1988).
J. Kahmann.
and
'A Survey of Curve and Surface
Boehm,W.,G.
Farin,
Methods in CAGD.\"
Geometric
Design 1(1): 1-60 (1984).
Compute,-Aided
M. J. Jakiela,
and M. Watanabe. \"PSEUDOEDGE: NoninterBonner,D.L\342\200\236
Computer Aided

sectcd

Quilt

Parametric

Aided

Compiler

\"Deformation
Borrel, p, and D.Bechmann.

the

of

Proceedings

Applications.

Geometric

of

Symposium

Constrained
Rappoport.
\"Simple
and
Interactive
Dcsign.'MCAi

A.

Modeling

13(2);137(1994).
W.

J,

Boyse,

ACM

the

Boyse, J.

Analysis

21: 3-9

Solids

among

and Surfaces.\"

(1979).
\"GMSolid: Interactive Modeling
IEEE Computer GraphicsandApplications

Gilchrist.

J. E.

and

W.,

and

Detection

\"Interference

Communications
of

1979,

Mich.,

Warren,

Deformations
for
Transactions on Graphics

Solid Modeler.\"Researchpublication
General Motors Research
Department,

Science

Computer

Laboratories.

Objects.\"

for a

Structure

''Data

GMR-2933.

\320\273-Dimensional

on Solid Modeling Foundationsand CAD/CAM


D.C.; ACM Press, 1991.

Washington,

Borrel, P..and

Objects.\"

438 (1993).

25(7):

Design

Connected

of Multiply

Modeling

of Solids.\"

for

Design
2(2):

27-40(1982).

I.C. \"Designing with

Braid,

Volumes/'CAD

Group report. Cambridge

1973.

University
.

\"The

of

\"New

on
Workshop

of Solids

Synthesis

ACM

the

18(4):

209-16

Directions
Geometric

Braid, |. C, R. \320\241Hillyard.
hedra
University.

in

Geometric
1978.

Bounded

Communications
by Many Faces.\"

(1975).

in Geometric

CAM-I.

Modeling,
and

I. A.

Modeling.\"

Modeling.\" Proceedings
1978.

of the

Construction of PolyStroud.\"Stepwise
CAD Group report no. 100.Cambridge

4B0

\342\226\240
Bibliography

111, J.

Brewer

\316\221.,D.

Aided

''Converting Wireframes to

M. Courier.

and

Vicknair,

Solids.\"
Computer

51 (1989).

16(3):

Engineering

Brisson, E. \"Representing GeometricStructuresin d Dimensions:


Topology
and Order.\" Discrete and ComputationalGeometry9(4):387(1993).

Modeling.\"IEEE
Brown.

\320\241
\316\234.
\"PADL-2;

Representational

Pattern

on

Transactions

444-53

PAMI-3(4):

Intelligence

and

Mathematical

\316\234.
\320\241
\"Some

Brown.

(1981).
A technical

and

Analysis

summary.\"

Aspects of
Machine

Solid

CG&A 2(2): 69-84

IEEE

(1982).
A. G. Requicha,
and \316\227.\316\222.
Voelker.
\"Geometric-Modeling
for Mechanical Design and Manufacturing.\"
Proceedings

\320\241
\316\234.,A.

Brown,

Systems

Annual

1978

\320\241
\316\234.,and

Brown,

\"The

\316\227.
\316\222.
Voelker.

PADL-2

on

\"Comments

and Counting

on Computing

Trunsactions

of the
Ithaca,

Technology.

for Reporting

Algorithms

IEEE

Intersections.\"

Geometric

Research

the

1978.

Press,

Proceedings

Project.\"

Seventh NSF Conferenceon Production


N.Y.: National Science Foundation, 1979.

Brown,K. Q.

of

Washington, D.C.:ACM

of ACM.

Conference

C-30(2): 147^18

(1981).

Brunei, P,

and

1.

\"Solid

Navazo.

Extended Octrees.\"
Bu-Qing, S., and L.

on

Graphics

and Operation
9(2): 170(1990).
New

Geometry-

Computational

Ding-Yuan.

Academic

Representation

Transactions

ACM

York:

1989.

Press,

R. Schaback. \"A Parallel


Method
Multistage
Surface Intersection.\" ComputerAided Geometric
Design
H., and

Burger,

Using

of Surface10(3^1):

277

(1993).

R. \"TheComputationof All
Basis.\" Oxford, England:BritishLeyland,

Butter

field, K.

S.,and

Cameron,

\320\232.
\320\241.

Yap.

the

B-Spline

1974.

May

for Geometric

Methods

\"Refinement

ACM
Constructive Solid Geometry.\"

of a

Derivatives

on

Transactions

Bounds in
11(1): 12

Graphics

(1992).
\"A
Carlbom,l..l.Chakravarty. and D.Vanderschel.
Structure

for

Representing
and

Graphics

Computer

the

Hierarchical

Data

IEEE
of 3D Objects.\"
Decomposition
24-31
5(4):
(1985).

Spatial

Applications

Trimmed
Surface
SolidModeling
with
Patches.\"
Casale, M. S. \"Free-Form
IEEE Computer Graphics and Applications7(1):33^13
(1987).
Casale,

M.

S.,and

J. E.

Bobrow.

\"A

Solids Modeled with


Trimmed
Design 6(3): 235-248(1989).

Set

Operation

Patches,\"

Algorithm
Computer

for Sculptured
Aided
Geometric

\342\226\240
4B1

Bibliography

Underwood. \"Trimmed-PatchBoundary
Solid Modeling and Engineering
Bridging
Gap
Aided
Analysis.\"
Computer
Design
24(4): I93 (1992).
L.
\"An
M.
and
E.
Stanton.
Overview
of Analytic SolidModeling.''
Casale, S.,
IEEEComputer
and Applications
5: 45-56 (1992).
Graphics
of Curved
Surfaces.\" Proceedings of the
Catmull, \316\225.\316\225.
\"Computer
Display
IEEE Conference
on
Pattern
and Dtila
Graphics,
Recognition,
Computer
J. E.

\316\234.
S.,

Casale,

and R.

Bobrow.

Elements:

between

the

Structure. 1975.

Catmull,

J. Clark.

\316\225.
\316\225.
and

Topological

Arbitrary

Catmull,E.E.,

R.Rom.

and

Geometric

Computer-Aided
New

Academic

York:

B-Spline Surfaces on
Computer
Design 10(6) (1978).
\"A Class
of Local Interpolating Spline.\"In
eds. R. E. Barnhill and R. F. Riesenfcld.
Design,
Aided

1974.

Press.

\"Linear
G, and W. Welch.
surfaces.\"In Computer
Graphics

Constraints

Celniker,

3D

Interactive

Generated

\"Recursively

Meshes.\"

165-170

Graphics

Special

for Dcformablc

B-Spline

1992

on

Symposium

(1992).

Chang, G. \"Matrix Formulation of


Design
14(6); 345 (1982),

Chang, S.-L..M.Shantz.and

Issue:

R.

Bezicr

Rochclti.

Cubic

\"Rendering

Aided

Computer

Technique.\"

Curves and

Differencing.\" Proceedings of SIGinteger


Adaptive
GRAPH '89.
157-166
Graphics
23(3):
(1989).
and
J.
\"A
P.
Surface
Patch for Computer
Charrot.
Gregory
Pentagonal
Aided GeometricDesign.\"
Geometric
Computer
Design
1(1): 87-94
Surfaces

Forward

wilh

Computer
A.

Aided

(1984).

Chazelle.

L. Guibas.

and
\320\222.,

Geometry.\"

Forum

Graphics

Computer

and Intersection

\"Visibility

4(6):

of Finite
Chen, B-\"Onthe Euler Characteristic
crete and ComputationalGeometry
\320\256(1):
Cheng,

ACM

Chirehdast,M.,
Scheme
26(4):

Sets.\" Di.v-

(1993).

Depths for Rational Curvesand


11 (2): 140 (1992).
Graphics

\316\245.
\316\241
Papalambros.

\"Conversion

of Spatial-Enumeration

into Constructive Solid Geometry.\"


Computer

Aided

Design

302 (1994).

Chiyokura, H. \"An
Free-Form

on

Transactions
and

of Convex

Unions
7\320\243

Subdivision

F ''Estimating

Surfaces.\"

Problems in Plane

51 (1989).

Extended

Surfaces.\"

27-36(1987)
. Solid

Modeling

Rounding

IEEE

with

Computer
DesignBase,

Solids with
and
Applications 7(12);
Graphics

Operation

Reading;

for Modeling

Addison

Wesley

988.

482

\342\226\240
Bibliography

F. Kimura.

and
\316\227.,

Chiyokura,

Choi,B.K.,

Y.

S.

and

Computer

Aided

and

Choi,B.K..

Blending.\"

Lee. \"Matrix Representationfor NURB


Surfaces.\" Computer Aided Design 22(4):235(1990).
M.W.
Blake.
\"Planar
Cubics through a Point in a Direction.\"
S.

W.

and

Curves

Chou,J.J.,

and

Yoo,

Computer

Aided

Clark, J. H.

Lee.

213

(1989).
Surfaces Modeling via Coordinate
\"Sweep
Aided Design 22(2): 87 (1990).
Computer
21(4):

Design

Choi. B. K., and \320\241S.


Transformations

Surfaces.\"

Free-Form

with

17(3): 289-298 (1983).


Ju. \"Constant
Radius Blending in SurfaceModeling.\"

Graphics

Computer

of Solids

\"Design

C. S.

and

25(6):

Design

348

(1993).

of the
\"DesigningSurfacesin 3D.\"Communications

ACM

19(8):

454(1976).

Cohen,

E. \"Algorithms for

of Splines.\"

Degree-Raising

Graphics 4(3): 171(1985).

Cohen,

ACM Transactions

on

\"Discrete B-Splinesand Subdivision


and Computer
Computer-Aided
Design
Graphics.\"Computer
and
Image Processing 14(2): 87-111 (1980).
Graphics
Matrix Rcpresefl lationsfor Bezier
Cohen,E..and R. F. Riesenfeld.\"General
and B-SplineCurves.\"
3: 9-15 (1982).
Computer
Industry
of the Requirements
for a Computer-Aided Design
Coons, S.A. \"An Outline
MIT
Memo
ESL-TM-169.
Mass.: Massachusetts
System.\"
Cambridge,
and

\316\225.,\316\244.
Lyche,

R. Riesenfeld.

Techniques

Geometric

in

Institute of Technology,
Mar.1963.

\342\200\224\342\200\224\342\200\224.
\"Surfaces

for

Mass.:

Cambridge,

Technology. July

. \"Surfacesfor

Computer-Aided

Design

of Space

Forms.\" MIT
of

Institute

Massachusetts

of

Memo

Technology,

1967.

\342\200\224\342\200\224\342\200\224.
\"Rational

Bicubic

Surface

Mass.:
Cambridge,

Massachusetts

patches.\"

Project MAC
of Technology,

Institute

.\"Surface Patches and B-SplineCurves.\"


Computer
New
Design, eds. R. E. Barnhilland R. F. Riesenfeld.
Press,

Institute

Massachusetts

1965.

MAC-TR-41.Cambridge,
Mass,:
June

Figures.\"MIT

of Space

Design

Computer-Aided

MemoESL-9442-M-139.

technical report.
1968.
Aided

Geometric

York:

Academic

1974.

. Melhode Matricielle. Trans, from Englishby


val. Paris: Hermes,1987.

Coquillart,S.

\"Extended

Free-Form

Deformation:

P. Bezier

A Sculpturing

GeometricModeling.\"Proceedingsof
SlGGRAPH
Computer
Graphics 24(4): 187-196 (1990).
the

and

90

M. Moron-

Tool for
Conference.

3D

S. M., and J. A. Brewer.\"Automated


Conversion
Frame Models to Surface BoundaryModels:
A

Courier,

Numerical
Cox,M. G.
of Mathematicsand

G.

Wire-

Approach.\"

Topological

of the Institute

134-149(1972).

to Geometry. New York:Wiley,


1961.
F. Reinke.
\"Boundary Evaluation of Non-Convex

\316\221.,and

10:

Applications

H. Introduction

Crocker,

of Curvilinear

of B-Splines.'Voii/vW

Evaluation

\"The

Coxeter,

\342\226\240
483

20(4): 171 (1986).

Graphics

Computer

Bibliography

Primitivesto Produce

Surfaces.\"

Trimmed

Parametric

Graphics

Computer

21(4): 129(1987).

de Boor,C.\"On
Theory'

with

Calculating

6: 50-62

of Approximation

B-Splines.\"/o(/rno/

(1972).

. Good

by Splines with

Approximation

57-72(1973).
. A Practical

de Boor,C, Hollig,
Interpolation.\"

Springer-Verlag,1978.
\"High Accuracy Geometric Hermite

M. Sabin.

and

K.

Geometric

Aided

Computer

21:

New York:

to Splines.

Guide

ISNM

Knots.\"

Variable

4(4): 269-278

Design

de Casteljau,P.\"Outillagesmethodscalcul.\"

Technical

(1988).

Paris:

Report.

1959.

Citroen,

Report. Paris: Citroen,1963.


. Shape, Mathematics
Kegan Page, 1986.
de Floriani,L.,and B. Falcipieno.
\"A Hierarchical
Boundary Model tor Solid
on
ACM
Transactions
ObjectRepresentation.\"
Graphics 7(1): 42 (1988).
Degen, W L. F. \"High Accurate Rational Approximation of Parametric
a poles\"Technical
and
CAD. London:

surfaces

.\"Courbeset

Curves.\"Computer

Geometric

Aided

de Montaudouin, \316\245
\"Cross

Product

Design

Cones

293 (1993).

10(3-4):

of Revolution.\"

Design21(6):404(1989).

DeRose,

\"Geometric

A.

of

Measure

of

A Parametrization

Independent
Aided Geometric Design.\"Ph.D.thesis,
1985- Also published as Technical
Berkeley,

Continuity:

for Computer

Continuity

University

Computer Aided

California,

86/255.
ReportUCB/CSD
Bezier

\316\244

DeRose,

\"Composing

7(3):198-221(1988).
DeRose,\316\244
and

D.,

and

Geometric

Transactionson

Graphics

B. A.

ACM

Barsky \"Geometric

Constructions

7(1):

Simpliccs\"

Transactions

on Graphics

Continuity, Shape Parameters,

for Catmul-Rom

Splines.\" ACM

1-41 (1988).

Dimsdale, B. \"BicubicPatch Bounds\"Computing


Applications
3(2): 95-104 (1977).

and

Mathematics

with

484

\342\226\240
Bibliography

Shytt and A. M. Ytrehus.\"The


and
CAD/CAM.\"In Advanced
Modeling

Dokken,\320\242., V.

Du,

W.

Netherlands:

Applications.

Engineering

H.,

and
A

Surfaces:

M. Schmitt.

Review

with

IEEE
Technologies.\"

and

Graphics

Computer

Comparison of Drawing

A Functional

Raster:

versus

\320\234.
\320\241.
\"Vector

for

Modeling

1990.

Elsevier,

\"On the G1 Continuity of PieccwiseBczier


New Results.\" Computer Aided Design22(9):

F. J.

556-573(1990).
Eastman,

in Geometric

NURBS

of

role

Geometric

10(5): 68-80

Applications

(1990).
and
Eastman, \320\241.
\320\234.,

In

Operators.\"

of

Institute

Eck, M.
Design

CAD/CAM

Models.\"

Modeling Using the Euler


Annual Conferenceon Computer

Mass.: Massachusetts

Cambridge,

Systems.
1979.

Technology.

\"Degree Reduction of Bezier Curves.\"


237

10(3^l\302\267):

and E.

Elber,G..

of the First

Proceedings
in

Graphics

\"Geometric

K.Weiler.

Computer

Elmaraghy, W.

(1993).

Cohen. \"Tool Path Generationfor


A idea Design,
26(6): 490 (1994).
S. R.

H.,

Valzuri,

and

the

Influence

of Parametrization

Volumes

\"Intersection

\320\222.
\320\234.
Skubnik.

Areas of Cylinders for Geometrical


ing.\" Computer Aided Design 26(1):29(1994).
\"On

Surface

Free-Form

and Surface

Epstein,M.

Geometric

Aided

Computer

Modeling

and

Toleranc-

in Parametric

13: 261-268 (1976).


Eshleman.A. L. Informal notes on parametric cubic curves. Undated.
\"Animated
Eshleman,A. L.,and H. D. Meriwether.
Display of Dynamic
to the 1966 UAIDE
Characteristicsof Complex
Structures.\"
Presented
Interpolation;' SIAM

of Numerical

Journal

A nalysis

Annual Meeting.San Diego,Calif,Oct.-Nov.


1966.
.

Applications

\"Graphic

Presentedto SHARE,
Angeles, June 1967.

Fourth

Falridiena,B.

Issue:

\"Special

Annual

Design

Automation

in Compuler

Modeling

Design Problems\"

Structural

to Aerospace

Workshop,

Los

Graphics.'\" Editorial.

Computer Aided Design26(8):595(1994).


G \"Bezier
over Triangles and the Construction
ofPieceFarin,
Polynomials
\320\241
of Mathematics, Brunei
wise
TR/91.
Department
Polynomials.\"
Report
University,

England,

Uxbridge,

Jan.

1980.

. \"Designing C1 Surfaces Consisting of Triangular


Aided Design 14(5): 253-256 (1982).
Computer

. \"Piecewise
18(1): 45-47 (1986).

Triangular

\320\241Surface

Strips.\"

Computer

Cubic

Aided

Patches.\"

Design

\342\226\240
485

Bibliography

Patches.\"

Bcrnstein-Bezier

\"Triangular

\"Curvature

\"Rational

and

Continuity

Transactionson Graphics8(2):89

Aided Geometric

Computer

Design 3(2):83-128(1986).

Conies.\" ACM

for Piecewise

Offsets

(1989a).

Geometric

Aided

Computer

Surfaces.\" In Mathematical Methods in


New York: Academic Press, 1989b.
Design.
and

Curves

in

\"Trends

Surface

and

Curve

Design.\" Computer

Aided Design

21(5):293(1989).

. ''From

Graphics

and Surfaces for Computer-AidedGeometric


Design.

. Curves

New

Press, 1993a.

Academic

York:

Computer

78 (1992).

12(5):

Applications

and Survey.\" IEEE

A Tutorial

NURBS:

to

Conies

and

.''Tighter Convex HullsforRationalBezierCurves.\"


Design 10(2): 123 (1993b).

Aided

Computer

Geometric

Farin,G.,ed.
SIAM,1987.
. cd.
1991.
Farin,G., P. Barry
Geometric

NURBS

Schemes.\"

Farin, G.

IEEE

Surfaces.\"
Farouki,

R.

Graphics

Computer

J. K.

Hinds.

Computer Graphics and


Farouki,

R., and

V.

SIAM,

Design, Philadelphia,

and

and the Fairness of Curves and


and Applications 9(2): 52-57(1989).
of Geometric
Forms.\" IEEE
Hierarchy

\"Curvature

Sapidis.

and

T,

New York:

Aided

Computer
N.

and

Surface

New Trends.

between Lagrange and \320\222ezier Curve


Design 18: 525-528 (1986).

\"A Link

and

Surface

and

Curve

for

and

Algorithms

Modeling:

\"A

5(5):

Applications

Rajan.

Numerical

the

\"On

in Bernstein Form.\"Computer

51-78

Geometric

Aided

(1985).

Condition
Design

of Polynomials
191-216

4(3):

(1987).

Faux, I. D.,and
Manufacture.

J. Pratt.

M.

Chichester,

Halstcd

England:

Ferguson, D. \"Constructionof Curves


Optimization

and

Interpolating
Curves.\"

Computer

Techniques.\"

Ferguson,D.R.,

Grandine.

Method
on

Transactions

ACM

Ferguson, E.

T. A.

I.

Curves:

N.

Geometry for
Press, 1980.

Computational

and

Aided

'On

Using

Numerical

Design 18(1): 15-21 (1986).


the Construction of Surface

for Handling Nonconstant


Graphics
9(2): 212 (1990).

Graphics

\"Computer

Surfaces

Design and

Education

Parameter

Directory.\"

Computer

Graphics 23(4): 243 (1989).

Ferguson,J.C.

\"Multivariable

221-28(1964).

Curve

Interpolation.\"

Joumat

of the

ACM 11:

486

\342\226\240
Bibliography

Fcrrucci,V..and

A. Paoluzzi.

\"Extrusion and

Polyhedra.''

Computer

Multidimensional

Filip, D.J.

Subdivision

\"Adaptive

Computer

Aided

Algorithms

74-78

(1986).
ACM
Surfaces.\"

18(2):

Design

Parametric

\342\200\224\342\200\224\342\200\224.

\"Blending

Aided

Boundary Evaluationfor
Design 23(1): 40 (1991).
for a Set of Bezier Triangles.'1
on Graphics

Transactions

8(3):164(1989).

Planar Curves.\" Computer


Aided Design22(7):401(1990).
D. I, and T. W. Ball. ''Surfaces: Procedurally
Filip,
RepresentingLofted
IEEE
Surfaces.\"
and Applications 9(6): 27-33(1989).
Graphics
Computer
Computer

Approximation.\"
Fong,

and

P,

over

Surfaces

Points

\"Control

\316\227.
\316\241
Seidel.

Surface

for

711 (1993).

for Multivariate

B-Spline
Graphics Forum 10(4):

Computer

Triangulations.\"

Arbitrary

Method

a Dclaunay-Bascd
Aided Design 25(11):
of

\"Evaluation

P.-O.

Fjallstrom,

of Closed

Orientation

the

\"Determining

309(1991).

\"An

over Arbitrary

Surfaces

B-Spline

ofTriangular

Implenientation

267
Triangulations.\"ComputerAided Geometric
Design
10(3^l\302\267):
A. R. \"Curves and Surfacesfor Computer-Aided
Forrest,
Design.\"

diss.,

. \"Coons Surfacesand Multivariate


Functional
to
document
submitted
the
Journal
of the
Group
University.
.

Geometry.\"

\"Computational

LondonA(32l):187-195
(1971).
\342\200\224\342\200\224\342\200\224.

Design

\"Computer-Aided

the

Survey.\"

Proceedings

of

Symposium.

Venice,

ACM,

Italy:

. \"Interactive
\"A
\342\200\224\342\200\224\342\200\224.
New

\320\220\320\241\320\234/\320\2331\320\241\320\220
Internationa!

for Computer-Aided
June

University,

Other Methods for

Graphics

\342\200\224\342\200\224\342\200\224.

Computing

Bezier

and

Image

of

Representation

Processing 1(4):

Computer Aided GeometricDesign,eds.R.E.Barnhill


feld. New York: AcademicPress,1974.
Rendering

Design.\"CAD Group

1972.

Geometry\342\200\224Achievements

\"Computational

\342\200\224\342\200\224\342\200\224.
\"On
the

Objects: A

of Three-Dimensional

1972.

Form

Cambridge

Coons and

Computer

Royal Society of

of the

Proceedings

15:71-79(1972).

Curve

documentno.66.

(1979).

CAD

Cambridge

Interpolation and Approximationby

Polynomials.\"
CwnpMfwg.foi//7ia/

Surfaces.\"

Interpolation.\"
ACM.

1969.

Feb.

. 'On

Ph.D.

1968.

University,

Cambridge

(1993).

of Surfaces.\"

Curved

341-389(1972).

and
and

In
Problems.\"
R. F Ricsen-

Computer Graphics 13(3): 253

\342\226\240
487

Bibliography

Geometric Algorithms.\"In MathematicalMethods


ed. K. Brodlie. New York: AcademicPreys,
1480.

Work on

.\" Recent
in

Graphics,

Computer

Cuhic

Twisted

. ''The

Aided

Computer

Approach.\"

Curve: A Computer-Aided Geometric


Design
12(4): 165-172 (1980).

. \"Free-FormSurfacesand

Solid

In

Modeling.\"

Design
'84

SIGGRAPH

and
Course Notes on Free-Form
Curves
ACM, 1984.
Surfaces.
Fowler. B. \"GeometricManipulationofTensor
Product
Surfaces.\"
Issue:
1992
on
Interactive
3D
Graphics
{Special
Symposium

Computer
Graphics):

101408(1992).

Fowler,

Curve Manipulation.\"

\"Constraint-Based

Bartcls.

R.

and
\320\222.,

ComputerGraphics

and

43 (1993).

13(5):

Applications

Gans. D. Transformations and

IEEE

Geometries.

York:

New

Appleton-Centurv-

Crofts,1969.'

P. N., and D.P.Greenberg.


Georgiades,
\"Locally
Manipulating
of Curved Surfaces.\" IEEE ComputerGraphicsand
54-64

Geometry
12(1):

(1992).

Ghosh. P.. and

P. K. Jain.\"An
and

Graphics

Computer

Goldfeather, J. \"Solid
9(3):

Geometric

of

Algebra

Applications

IEEE

(1989).

. ''Illicit

in

Expressions

Vector

Computer Aided

Curves.\"
Goldman,

Hull

Property.\"

(1986).
Goldman,R..

C.

and

In
Continuity.\"

Mathematical

T.
and
Goodman.T.
Lychc

\"Recursive

Computer
Micchelli.

\"Properties

of

on

for the Implicitization.


Rational

Cubic

Aided

Subdivision without the


Geometric Design 3(4): 247-266

\"Algebraic
Aspects
Aided
in Computer

Methods

L. Schumaker.

Transactions

Geometric Design2(4):237-255
(1985).

T. DeRosc.

and

R.,

ACM

Parametric,

Non-Planar,

Computer

Triangles.\"

A Technique

Resolvents:

of

Method

Inversion,and Intersectionof

Bezier

Algebra.\"

Graphics 4(3):223-243(1985).
\"The

and

Graphics

Computer

R. \"Subdivision Algorithms for


Goldman,
Aided Geometric Design 159-166(1983).

IEEE.

Shapes.\"

13(5): 50 (1993).

Modeling.\"

20-28

Applications

Convex

the
Applications

New York:

of Geometric

Geometric Design, eds.


Academic Press. 1989.
of Approximation

Beta-Splines.\"/owmfl/

Theory

44(2): 132-153(1985).

Gordon.

W.

J. \"Free-Form

Surface

Interpolation

TechnicalReport GMR-921.

General

1969.

Motors

through Curve
Research

Networks.\"

Laboratories.

488

\342\226\240
Bibliography

and

and

Graphics

I.

W.

for

Calculus

\"An

and Volume

Surface
3(7):

Applications

and Multivariate
of Numerical

Journal

SIAM

Approximation.\"

158-177(1971).
.
Operator
Computer
Gordon,

of Bivariate

Methods

\"Blending-Function

Interpolation

Analysis 8(1):

Modeling.\"IEEE

18-22 (1983).

R. F. Riesenfeld.\"Bernstcin-Bezier Methods for the


Curves and Surfaces.\" Journal of
of Freeform
Design

and

Computer-Aided

293-310
(1974a).
21(2):
. \"B-Splinc Curves and Surfaces.\"
Aided
Geometric
Computer
eds. R.E. Barnhill and R. F Riesenfeld.
New
York:
Academic
Press,

the

ACM

Design,

1974b.

P.K.Jain.\"An Algebra
Shapes.\" IEEE Computer
50 (1993).
Graphics and Applications
13(5):
D. C. R. P. Zuffante, and H. Sakurai.
Gossard,
Dimensions,
\"Representing
Tolerances,
and Features in MCAE Systems.\"IEEE Computer
Graphics
Gosh. P.. and

and

of Geometric

8(2):

Applications,

69-84

Gossing, T. \"Bulge,Shearand

(1988).
Squash:

Representation

for the

General

81-84
Conic Arc.\"ComputerAided
Design
13(2):
(1981).
and
Matrix
Formula
of Nonuniform
Grubowski, H., and X, Li. \"Coefficient
Aided
637
Design24(12): (1992).
B-Spline Functions.\" Computer
J.
A.
Twist Constraints.\"in Com''Smooth
without
Gregory,
Interpolation
R.
E.
Barnhill
eds.
and R. F Riesenfeld.
Geometric
Design,
pitter Aided

in

Press. 1974.

Academic

York:

New

. \"C Rectangularand Non-Reclangular


Surface
Patches.\"
and
Computer Aided Geometric Design, eds.R. E. Barnhill
. \"JV-SidedSurface Patches.^'lnMathematics
of Surfaces,
Clarendon

W.

Surfaces
Boehm.

\\983a.

Amsterdam;North-Holland,
J.A.Gregory Oxford:

In

Press,

ed.

1983b.

The Mathematicsof Surfaces.


Oxford:
Claredon
Press,
Greiner.
G., and H. Seidel.\"Modelingwith
Triangular
B-Splincs.\"
and
Computer
Applications 14(2):56-59(1994).
Graphics
, ed.

Griessmair.J.,andW.

Purgathofer^\"Deformation

of

Solids

Splines.\" Proceedings of Eurographics '89.Amsterdam:

1986.

withTrivariare

IEEE

B-

North-Holland,

1989.

Guenler,

and
\320\222.,

IEEE

Curves.\"
Gunther,

O.,

Representation
Schemes.\"

(1993).

and

Length of Parametric
Applications 10(3):72-78 (1990).
Computer
'\"The Performance of Curve
S. Dominguez.
and Applications 13(3): 55
IEEE
Computer
Graphics
R.

Parent.

\"Computing
and
Graphics

the Arc

\342\226\240
489

Bibliography

\316\225.
L.,

Gursoz,
Manifold

F. B.

and

\316\245.
Choi,

Objects.\"

Representation

Boundary

Set Operationson Non


Computer Aided Design 23(1):

prinz. \"Boolean

33(1991).

Hagen,H.

\"Geometric

Curves.\"

Spline

Geometric

16(3):

3: 179-184

Design

Hahn, J. \"GeometricContinuous
Geometric

Geometric

Design

Continuity.\" Rocky

(1986).

Constraints.\"Computer

(1986).

Patch

11-22

6(1):

Design

629-638

Surface Patches without Twist

. \"Geometric
Aided

Torsion

and

Curvature

with

Curves

\"Bezier

Mountain Journal of Mathematics

Aided

Computer

2(1-3): 223-228(1985).

Aided

Computer

Complexes.\"

(1989).

Hall, M.. and J. Warren.


\"Adaptive
Polygonalization
Surfaces.\" IEEE Computer Graphicsand

Defined

of Implicitly

33^42

10(6):

Applications

(1990).

Hanna, S. L.. J.F.Abel,and


Surfaces

39-48

3(7):

of Parametric

\"Intersection

\316\241
Grcenberg.

Tables.\" IEEE

of Look-up

Means

by

Applications

D.

Computer Graphicsand

(1983).

J. \"Reparametrization of RationalSurfaces.\"
In The
ed.
R.
1987.
Martin.
Oxford
II,
Surfaces
University.

Hands,

Aided

Computer

12(5): 235-238

Design

. \"Parametrization
ofBezier-Type
Design 10(2): 130-135(1978).
Aided
Heisserman,
and

W.,

37^5

14(2):

Graphics.\"

Higashi. M.
Surfaces.\"

Graphics

Computer

Aided

Computer

Design

Hinds,J. K.

of

\"Methods

Parametric

Informal

Hoffmann,

Cubic
notes,

in

with

Free-Form

25(3): 172 (1993).


and

Conic

Representing

Equations.\"

Conies

8(4): 301 (1989).


System

Solid-Modeling

\"High-Quality

of

Representation

Forum

Hubert, D.and S.Cohn-Vossen.


Geometry
1952.
Chelsea,

III.

Aided

Computer

(1994).

I. \"Onthe ProjectiveInvariant

Herman,

Rational

Curves.\"

M. Newman,

Applications

Computer

(1980).
B-Spline

and M. A. Sabin.\"World
of ComputerSurvey
Aided
776
Design25(12): (1993).
Design\" Computer
J. \"Generative
Geometric Design.\" IEEE ComputerGraphics

J.,

Hatvany,

of

\"Parametrization and Shapeof B-Spline


Curves.\"

C. Judd.

P., and

Hartley,

Mathematics

Northern

the

Imagination.

New York:

by Means of
Illinois University. De

Segments

Kalb.

undated.
and

\320\241.
\320\234.Geometric

Mateo, Calif: Morgan

Kaufman.

Solid
1989.

Modeling:

An

Introduction.

San

490

\342\226\240

Bibliography

\"Implicit

79

13(1):

Applications

in CAGD.\"

Surfaces

and

Curves

\342\226\240.

and

(1993).

\"The
and J. E. Hopcroft.
Surfaces.\" In Geometric Modeling:Algorithms
Farm. Philadelphia: SIAM.1987.

G M.

Hoffmann.

J. E.
\320\241\320\234..

Hoffmann,

on

IEEE

Polyhedral

50-59(1989).
Hoffmann.

Four-Dimensional
Hohmeyer, M. E..and B.
Transactionson

Surfaced

Barsky.

Cont inuity
325
(1989).
8(4):

Graphics

Hojnicki, J. S.and

\"Rational

Frame

Frenet

and

p R.

White.

of

Trends,

Blending
ed. G.

Parametric,
Continuity:
ACM
Curves.\"

Rational

CAD

''Converting

Wireframe

in Mechanical

Computers

Representations.\"

New

for Visualizing Surfacesin


Design
23(1): 83 (1991).

Aided

Computer

A.

and

\"Some Techniques

Space.\"

Geometric,

Computer

J. Zhou.

\320\241
\316\234.,and

for

Method

Potential

Karasick. \"Robust Set Operations


and Applications 9(6):
Graphics

and M.S.

Hopcroft,

Solids.'\"

IEEE Computer Graphics

to

Data

Engineering Mar./Apr.:

19-25 (1988).

Holmstrom.L.
Surfaces.\"

Computer
F

and

Points.\"

Hoschek.J.

Kimura.

Computer

Plane.\" Computer

the

in

Curves

\"Offset

Blending

Geometric

Aided

Hosaka,M.,
Control

of Implicitly
Defined
4:
171
Design
(1987).
\"Non Four-Sided
Patch Expressions with
Aided
Geometric
Design 1(1): 75-88 (1984).
Quadric

\"Piecewise

Aided Design 17(2):77

(1985).

\342\200\224.\"Circular

Curves

\342\200\224\342\200\224\342\200\224.
\"Free-Form
Geometric

Aided Design 24(H): 611(1992).


Computer
and Free-Form
Surfaces.\" Computer Aided

Splines.\"

Design

173 (1993).

10(3^1):

Conversion
for
Hoschek, J., and F. Schneider.
\"Spline
Bezier and B-Spline Surfaces.\"
Aided
Computer
Design
\316\225.
R.
and
L.
\316\225..
Sabharwal.
Factor,
Emmetl,
Houghton,

a Divide-and-Conquer
Computer

Joe, B.

\"Discrete

and

\"Multiple-Knot

Graphics

\342\226\240.
''Rational

8(2):

Report

Transactions

on

Graphics

Cubic
and

Curves
no.

of Alberta,

\342\200\224\342\200\224\342\200\224.
\"Knot
Insertion

of Parametric

2(1-3): 173-184 (1985).


Graphics
21(4): 137 (1987).

Rational

Beta-Spline

University

\"Implementationof

Beta Splines.\" ACM

100 (1989).

Technical
Splines.\"
Science,

Intersection

22(9):

580 (1993).

Design

Computer

Beta-Splines.\"

\342\200\224\342\200\224\342\200\224.
Transactionson

Geometric

Aided

the

for

Method

Surfaces.\"

Rational

Trimmed

TR

Edmonton,

for Beta-Spline
9(1): 41

87-04.

(1990).

Surfaces
Department

and Discrete Betaof Computing

April 1987.
Curves and Surfaces.\"ACM

Bibliography
.

\"Quartic

ACM

Beta-Splines.\"

9(3): 301

on Graphics

Transactions

\342\226\240
491

(1990).

Joe,

NURBS Representations

''Reduced-Knot

F. Cheng.

and

\320\222..W.Wang,

Rational G1 CompositeBczicr

Curves.\"

Aided

Computer

of

26(5):

Design

393 (1994).

\"Bias and Tension,Two Shape


Parameters
for
of
the
Parametric
Cubic
Specification
Segment.\"Computer
M. Laborie.

and

C.

Julie\302\273,

Convenient
Aided

485 (1989).

21(8):

Design

Data
Structure
for Vertically
Kalay.Y. E. \"The Hybrid Edge:A Topological
130
Integrated Geometric Modeling.*'ComputerAided
Design
21(3):

(1989).

\"Generation of \320\270-Sided Surfaces


AidedDesign 23(10):676(1991).

Kato, K.

Kela,
Kela,

In

Computer

and P.M. Finnigan. \"Wire


of the ASM \316\225
Computers

Proceedings

Holes.\"

Computer

for Boundary
Aided Design 21(6):

Approximations

Models.\"

Geometric

E. Davis,

J.
\316\221.,

Survey.\"

Octree

\"Hierarchical

A.

Representation-Based

with

Patches

to Solid

frame

in

355 (1989).
A

Models:

Engineering

Conference.

Transformation

for

ASME,1989.

R.E.Parent.
Kent, J. R.,W E.Carlson,and
Polyhedral

Trajectory.\"

of

\"Modification

M.

Bezier

ElevationTechnique.\"
Computer
J.
J.
Solid
Koenderink,
Shape.

Aided

Design
MIT

Cambridge,

Koparkar.

Correspondence.\"

Visual

The

Kouh, J. S..and S.W

Generation

Chau.
Hull

for

Computer

Kramer, G. A. Solving
Kinematics.

1991.

Computer

Mass.:

Cambridge.

and

\316\235.
\316\234.
\316\221.,
Patrikalakis,

for

Differential-Equation

F.-E.

Surface

Design 24(1):41 (1992).


Kuriyama,
Sweeping

S.

\"Surface

and

Blending.\"

Modeling
Computer

1990.

and Geometric

Design and Panel


Cubic Bezier Curves.\"

537 (1993).
System: A Case Study in
of Technology
Institute

Massachusetts

Kriezis,G.

Methods

Rational

on

Constraint

a Geometric

Press,

by Degree-

692 (1991).

Surface Models
7(1): 39 (1991).

10(6):

Design

23(10):

Geometric

\"Computer-Aided
Forms
Based

Geometric

Aided

Blends:

Parametric

\316\241
\"Designing

along a 3D

Design 3: 217 (1986).


Curves
and Surfaces

Geometric

Aided

Computer

Kocic, L.

Frames

Coordinate

Moving

26(2): 47 (1992).
for Sweeping

Graphics

Computer

Objects.

Klok. F \"Two

\"Shape

with

Wolter. \"Topological and


Intersections.\"
Computer

Press,
Aided

an Irregular Network of Curves


Design 26(8): 597 (1994).

Aided

492

\342\226\240

Bibliography

D. H..W.

Laidlaw,
for
Geometry

J. F. Hughes.\"Construclive
Solid
161
Objects.\"
(1986).
Computer
Graphics 20(4):
skas. Curve and Surface Fitting. New York;
Salkau

H.Trumbore,and

Polyhedral

Lancaster.P.,

K.

and

Academic

1986.

Press,

E. P. Metric

Lane,

Differential Geometryof Curves


Press, Chicago, 1940.

of Chicago

Lane,J.M.,

and

Intelligence PAMI-2:35^16(1980).

and Machine

Analysis

Lang-Lendorff.G..

Development for Computer


Polynomial Surfaces.\" IEEE

of Piecewisc

Display

Pattern

Transactionson

J.

and

University

Surfaces,

\"A Theoretical

F. Riesenfeld.

R.

and

Generation

and

in

\"Changes

Unterburg.

of

Understanding

CAD/CAM: A Database-Oriented Approach.-'Computer


Aided

Design

309 (1989),

21(5):

\"Bernstein-BezierRepresentationof Volumes.\"
Design 2(1-3): 145-1 50 (1985).

Lasser, D
Geometric

.\"Intersection
of
Representation.\"

Aided

Computer

Design

Bernstein-Bezier

18(4): 186-192(1986).

ofNURBS
Mekhilef. \"Optimization

Laurent-Gengoux,P,andM.
Representation.\"

in the

Surfaces

Parametric

Aided

Computer

Aided

Computer

25(11):

Design

699 (1993).

An Intuitive
and
Jancene.
\"Axial
Deformations:
\316\241
Lazarus, F, S.Coquillarl,
Deformation Technique.\"ComputerAided
607
Design
26(8):
(1994).
and
D Fredericks.
of Parametric Surface Patchesand a
Lee. \320\222.,
\"Intersection
IEEE
Plane.\"
Computer
Graphics and Applications 4(8):48-51(1984).

Lee.D.T,

F. P.

and

Modeling:
1987.

Algorithms

Lee.

Y.

and
\320\242.,

and
\316\245
\320\242.,

and

Performing Enler angle rotationsin


Design 27(1): 75-78, Jan 95.

A. G.

A.

Rochester,

the

Solids.
AC\316\234

Computing

the

systems.

Volume

Production

N.Y,

Rochester,

. \"Algorithms
Propertiesof

for

CAD

Automation
Properties of SolidObjects.\"
Memo no. 35. Production AutomationProject.

Technical

Universityof

of

\"Algorithms

Requicha.

Other Integral

Project

IEEE

Survey\"

\320\25672-1101

S. Koh.

A.

Computer-Aided

Lee.

Geometry\342\200\224A

C-l3(12):
(1984).
Bezier Representation for Conies\"In Geometric
and
ed. G. Farin. Philadelphia: SIAM,
New
Trends,

Rational

E. \"The

Lee,

\"Computational

Preparata.

on Computers

Transactions

Part
25(9):

. \"Algorithms

lies of Solids.

Part

for

Computing

1: Known
635-641

for
2;

1980.

the Volume
and Other Integral
Methods and Open Issues.\"
Communications

(1982a).
Volume

the
\320\241\320\276\321\202\321\200\320\270
ting
A

Family

of Algorithms

and Other

Integral ProperBased on Representalion

\342\226\240
493

Bibliography

642-650

25(9):

Cellular

and

Conversion

the

ACM

(1982b).

Lccsley, M. ''PC CAD is Closingin


Aided

Computer

Communications of

Approximation.''

25(12):

Design

CAD.\"

Mainframe

on

Comment.

739 (1993).

Conslruclion
of Curvilinear
Solids from Wireframe
Lequelte.R.
Views.'\"Computer Aided Design29(4):171(1988).
J. S. Jr. \"Lofting
and Fabrication of Compound-Curved Plates.\"./.
Letcher,
\"Automatic

Res.

Ship

Letcher,

in

Synthesis
Sailing

166-175

37(2):

(1993).

S. Private communicalion.Aug. 28.1995.


J. S. Jr., and D. M. Shook. \"Applications

Letcher,!

Yacht

Sailing

Symposium.

Letcher. Jr., J.S.and

M.

D.

Shook.''parametric

Design

RelationalGeometry.\"
In Proceedings
of

the

Relational

Surface

Geometric

Chesapeake

and Gridding
Modeling,

Row Dynamics

in Computational

Research

Lewis

NASA

Solutions.

issues

Related

and

Generation

of

In Proceedings, Ilth
Design.\"
Md.:
SNAME, 1993.
Annapolis.

Yacht

through

Grid

(CFD)

May 1995a.

Center,

. \"NURBSConsideredHarmful for Gridding


Offered).\"
(Alternative
the
at
Fourth
Annual
Inlernational
Roundpresented
Meshing
Paper
Sandia
National
table,
Laboralories, Albuquerque.N.M.,
sponsored
by

Ocl.1995b.
J. S.,

Jr..

Letcher,

Part

Synthesis.

D M. Shook, and S. G. Shepherd.


\"Relational
Geometric
1: Framework.\" Computer Aided Design27(11)(1\320\24395).
Modelsfor

J.\"Malhemalical

Levin,

Surfaces.\"
Computer
Liu.
\"Local
S.-Q.
Li, H.,

andlmage

Graphics

and

Surfaces.\"

Lien, S..M.

and

Shantz,

Graphics
Comparison

Forward
\"Adaptive
S1GGRAPH
'87

111-118

2\\(4):

Lienhardt,

(1992).

V. Pratt.

Surfaces.\"

and

Curves

Rendering

Intcrpolalion
24(9): 491

Design

Aided

Computer

Differencing for
Proceedings. Computer

(1987).

P. \"Topological

Models for

Boundary

Generalized

ri-Dimcnsional

with

the Inlersection of Quadric


11: 73-87 (1979).
Processing
of Curvaturc-Coniinuous

Delermining

Representation:

Maps.\" Computer

Aided Dcsigit

23(1):59(1991).
Variational
and

W.

T. Hewitt.

Computer

Aided

Liu.

D. \"A
Surface

Computer

Geomelry\"

Lin,F.,

Geometric
Patches.\"

Aided

\"Expressing

Design

26(2):

145

(19\320\2434).

for Smoothness betweenAdjacent Bezier


Mathematfca
SirUca 9: 432 (1986).
Applications

Condition
Acta

Models throu gh
209-214
Design 14(4):
(1982).
Coons-Gordon
Surfaces as NURBS.\"
of Geometric

D. Gossard.'\"Modification

R.,and

Light,

494

>

Bibliography

and \320\241Continuity
Conditions
and Triangular Bezier SurfacePatches.\"

J. Hoschek.\"C

and

Liu.D.

Rectangular
Design

Adjacent
Aided

Computer

2\\{4):\\94(\\9S9).

\320\241
Liu, Q. and \320\242.
Sun.

\"G1

Curves.\" Computer Aided

of Mesh

Interpolation

Design26(4):259(1994).

Computer Aided Design21(5):297

of CAD/CAM.\"

I. \"Review

A.

Llewelyn,

between

(1989).

'\"Bezier Representation for


Design 22(9): 574(1990).

S., and J. Warren.


Patches.\"
Computer Aided

Lodha.

Loop.

T. D.

\320\241
and
\320\242.,

Surfaces.\"

DeRose.

Lorentz,G.G.

Bernstein

8(3): 204 (1989).

Toronto

Polynomials.

of Bezier

Generalization

Multisided

\"A

on Graphics

Transactions

ACM

Press,

1953.

a Common
L., and A. L. Eshleman.\"Planning
and
Presented
to SHARE
Manufacturing.\"
Engineering

Lossing. D.

Lounsbery,M..S.
\320\225\320\225

Computer

\320\242.,and

Lychc,

and

Curves

(1987).
Lyche,T.,

Chicago,

XLiii,

Mann,andT. De Rose.''ParametricSurfaceinterpolation.\"
and Applications
Graphics
12(5): 45-52 (1992).
V. Morken.
''Knot
Removal
for Parametric B-Spline
Aided
Surfaces.\"
Geometric
Design 4(3): 217-230
Computer

GeometricDesign.

New

M.

N.

\320\242..
and

Intersectionsof
Design 10(5):
407

Offsets

and Surfaces.New

York:

Patrikalakis.
of

of Singularities and
Aided Geometric
Computer

''Compulation
Curves.\"

Planar

(1993).

Smooth

\"Discrete

J.-L.

Mallet,

1989.

Press,

eds. Curves

Aided

1992.

Press,

Maekawa,

Academic

York:

L. Schumaker,

L.

and
\320\242.,

Academic

Methods in Computer

Mathematical

L. Schumaker.

L.

and

Lyche,

for

Base

Data

1974.

Aug.
IE

Surface

Quadric

Interpretation.\"

Graphics8(2):121

ACM Transactionson

(1989).

Smooth

\342\200\224.
\"Discrete

Interpolation

in Geometric

Aided Design24(4):178(1992).
Manning.

J.

R.

\"Continuity

Conditions

Journal17;181-186
(1974).

Manocha,

D.

\"Solving

Graphics

and

Manocha.

of Polynomial

Systems

Applications

D.. and

J. Canny.

14(2):46-55
\"A

New

International Journal of Computational


491 (1991).

for Spline

Modeling.\" Computer

Curves.\"The Computer

Equations.\" IEEE Computer

(1994).
Approach
Geometry

for Surface
and

intersection.\"

Applications

1 (4):

495
Bibliography \342\226\240

of

13: 485

Computation

Symbolic

Mantyla. M.

Inversion

\"An

(1992).

Vision,

the

on

'\316\206Note

and

Graphics,

Models.\" Proceedings

for Geometric

Algorithm

oISIGGRAPH '82. ComputerGraphics


.

Parametric Surfaces.\"Journal

of Rational

Representations

\"Implicit

51-59

16(3):

(1982).

Modeling
Space of Euler Operators\"Computer
Image
Processing
26(1): 45-60 (1984).

. \"BooleanOperationsof 2-Manifolds
Vertex
Neighborhood
through
,4CAi Transactions on Graphics5(1):1 (1986).
. An Introduction
to Solid
Rockville, Md.: Computer
Modeling.

Classification.\"
1988.

Science,

M.Tamminen.

M., and

Mantyla,

SIGGRAPH

of

Modeling.\" Proceedings

(1983).

of

and

Research

M. A.

and

G,

Markowsky,

\"Localized Set Operationsfor Solid


'83. Computer Graphics 17(3):279-288

Wesley. \"FleshingOut Wireframes.\"IBM Journal


582 (1980).

24(5):

Development

1987.
II. Oxford:
Claredon,
Martin, R.R.,ed. The Mathematicsof Surfaces
of Three-Dimensional
Martin, R. R., and \316\241\320\241.Stephenson.
\"Sweeping
Aided
223
Objects.\" Computer
Design22(4): (1990).
H. \"Topological
and Boolean Operations for ComplexMasuda,
Operators

Based

Computer

Aided

CSG-Free

Boundaries

Models.\"

Geometric

Nonmanifold

Design 25(2):

119(1993).

Mazzetti,M.,andL.
Algebraic

Ciminiera.

\"Computing

Aided

Computer

Expressions.\"

McConnell,J.J.

Design
in

Abstracts

\"Dissertation

Graphics 23{2):191(1989).
H.

McLaughlin,

IEEE

D.J.

and

Technical
Computer.\"
.

\"Efficient

and

An

Computer
Algorithm.\"

Image

Processing

Laboratory,

Polytechnic Institute,Troy, N.Y.,Oct.1980.


Image

Synthetic

Proceedingsof
Recognition

Interpolation:

IPL-TR-80.

Report

Rensselaer

Graphics.\"

and Applications 3(3): 58-67 (1985).


A New Technique for the Representation,
Encoding:
of Arbitrary
Three-Dimensional
Objects by
Display

\"Octree

Manipulation,

(1994).

Graphics

Computer

Meagher,

Computer

Planar

Preserving

\"Shape

26(6): 417

as

Image

IEEE

the

3-D Objects.\"
on
Pattern
Society Conference

Computer

Processing.

of Arbitrary

Generation

IEEE,

1982a.

.\"GeometricModeling Using Octree Encoding.\"Computer

Graphics

processing

andlmage

19: 129-147

(1982b).

.\"The Octree EncodingMethodfor


Technical
Polytechnic

Report

IPL-TR-032.

Institute,Troy,NY.,

Image
Aug.

Efficient

Processing
1982c

Solici

Laboratory,

Modeling.\"

Rensselaer

.96

\342\226\240
Bibliography

.\"Octree

Generation.

and Manipulation.\"Technical

Analysis,

IpL-TR-027.Imageprocessing

Rensselaer

Laboratory,

Institute.

Report

Polytechnic

1982d.

Troy,N.Y.,Apr.

D. S., and D. J. Walton.


Determination
of Planar
Uniform
\"Shape
Cubic B-Spline Segments/\"
Aided
434
Computer
Design
22(7):
(1990).
for
Surfaces
Free-Form
Menon. J. p \"ConstructiveShell Representations
and Solids/'
IEEE Computer Graphics and Application.\302\267;
24-36
14(2):
Meek,

(1994).

J. Marisa, and

J., R.

Menon,

through
Applications

22-35

Personal

Graphics

Computer

Subdivision.\"

communication,

1995.

Aug.

Middleditch,A. E.,
Milenkovic,
546(1993).
V.

Modeling.\"

Polygon

in Solid

Surfaces

\"Sculptured

Approaches.\"IEEE

19(3): 161 (1985).


Computer Aided Design

Models: Issues
and

Graphics

Computer

Surfaces

Graphics

Computer

\"Robust

under

Invariant

4(4): 321-328 (1988).


for Set Theoretic

Design
\"Blend

\320\232.
\320\235.
Sears.

and

Systems.\"

Modeling

R.

Geometric

Aided

Computer

Miller,J.

Solid Modeling
and

(1994).

Surfaces
C, and H. Prautzsch.''Computing

Micchelli,

Volume

Powerful

\"More

Z-agajac.
IEEE

H. D. Informal notes.Undated.

Meriwether,

Representations.\"

Ray

14(3):

J.

25(9):

and Alternative

Applications

6(12):

37^-8

(1986).
-.\"GeometricApproachesto Nonplanar
Surface
Intersection
Quadric
Curves.\" ACM Transactions on Graphics6(4):274-307
(1987).

\"Incremental

Evaluation

Boundary

IEEE

Classifications.\"

Using

Graphics

Computer

Inference

and Applications

of Edge

13(1): 71-78

(1993).
Miller,
Models:

J. V.,
A

D. E.

R. M. O'Bara.\"Geometrically
Deformed
Closed
Geometric
Models
from Volume
Extracting

Breen,and
for

Method

Data.\"Computer

25(4):

Graphics

Morlenson,M.

E. Geometric

. Computer
Geometry. New

York:

217

(1991).

Modeling, 1stcd.

New

Iniroduction

Graphics:

An

Industrial

Press, 1989.

to the

York:

Mathematics

. Geometric Transformations.
New
York:
Industrial
Nasri, A. H. \"Polyhedral SubdivisionMethodsfor
ACM Transactions
on Graphics 6(1): 29 (1987).
Nicholl,

R.

\316\221.,and

\316\244
M.Nicholl.

\"Performing

Wiley,

Geometric

press.
Free-Form

1985.

and
1995.
Surfaces.\"

Transformations

on Graphics9(1):28(1990).
Program Transformation\" ACM Transactions

by

\342\226\240
497

Bibliography

and

Graphics

12(5):

Applications

Design.\" IEEE Computer

Geometric

M. \"Computer-Aided

G.

Nielson,

29-30

(1992).

\"An
Surface Tilers.\"
Evaluation
of Implicit
Ning, p, and J. Bloomenthal.
IEEE Computer Graphicsand Applications13(6):\320\227\320\227^\320\256
(1993).
Ohkura,
K., and Y. Kakazu. ''Generalization of the PotentialMethod for
Aided
BlendingThree Surfaces.\"
Design 24(11)'. 599 (1992).
Computer
Aided Design
CAD
Computer
Intelligent
Ohsuga, S. \"Toward
Systems.\"

21(5): 315(1989).

for
Predictions
Letcher, Jr., and N. Salvesen.\"Performance
Trans. S.N.A.M.E. 95: 239-261(|987).
Academic
Elementary
Geometry,
Press, New York,
Differential

J. S.

J. C,

Oliver.

& Stripes\"

Stars

O'Neill,B.
1966.

PalacoI.E.L.andE.

L,

Stanton.

of Numerical

Discrete
in Engineering

Plate

Parametric

\"Anisotropic

Journal

International

Elements.\"

Methods

4:

413-25(1973).

Palrikalakis,

IEEE

intersections.\"

\"Surface-lo-Surfacc

M.

N.

Computer

Graphics and Applications13(1):89-95(1993).


R.
R. \"Projective
of the Parameter of a BernTransformations
Patterson,
ACM
slein-Bdzier
Transactions
on Graphics
Curve.\"
4(4): 296 (1985).
of a Rational Bern-. \"Projective
of
the
Transformations
Parameter

stein-BezierCurve.1'

on

\320\233\320\241\320\234
Transactions

Pavlidis.T- '\"Curve Riling


/\302\2532:1-31

Transactions

ACM

(1986).
on Graph-

(1983).
Surfaces.\"
Design of Curvature ContinuousFairing
of the 8th International
Conference on OffshoreMechanics
the
ASME.
New York: ASME, 1989.
of
Engineering
F. E. Woller.
\"Geometrical
Criteria to Guarantee Curvature

Proceedings

and

Arctic

Pegna,J.

and

of

Continuity

Peng,

Splines.\"

4:276-290

Graphics

J. \"Interactive

Pegna,

of

Conic

with

the

Surfaces.\"

\316\225

Journal

of Mechanical

Lines betweenTwo

\"An

Penna,M.,

and

R.

Patterson.

Design, Transaction

(1992).

for Finding Intersection


Algorithm
Surfaces.\"
Computer Aided Design 16(4):

S.
\320\236-

Spliiie

Blend

201
\320\250(\\):

ASM

Projective

191-196(1984).

and its
Geometry
Hall. 1986.

Applications to

Computer Graphics.New York: Prentice


of the
Peters, G J. \"InteractiveComputerGraphics
Application
eds.
Bicubic Surface.\" In ComputerAided Geometric
Design,
York:
Academic
hill and R. F. Riesenfeld.New
Press, 1974.
Peters. J. \"Loeal Generalized HermiteInterpolationby Quartic
Curves.\"

\320\224\320\241\320\233*
Transactions

on

Graphics

B-

8(3): 235

(1989).

Parametric
E. Barn-

R.

C2 Space

498

\342\226\240

Bibliography

Design

Phillips.

223 (1992).
24(4):
M. \320\222.,and G. M. Odell.

\"An

Geometric

Computer

Approximation

in

2-10

20(1):

the Rational

Computers

Design_\"

in

Displaying
Graphics

Bezier Scheme

in

7:401-410

Industry

(1987).

Bezier
and Coons-likc Interpolants Using
Rational
Form with Infinite Control Points.\" ComputerAided

-. \"HermiteDesign

and
Locating
IEEE
Computer

Surfaces.\"

of

Investigation

Geometric

Aided

Survey.\"ComputerAided

for

Algorithm

the Intersection of Two Arbitrary


and Applications 4(9):48 (1984).

Pieg|,L.\"A

A Brief

Surfaces:

and

Curves

\320\222.
\"'Offset

Pham,

(1988).

-. \"Geometric Method of IntersectingNatural


Quadrics
Represented
Trimmed Surface Form.\" Computer Aided Design21(4):201

Computet'

(1989a).

Developments

\"Key

Aided

21(5):

Design

Aided

21(8):

Design

509-518

Aided

Design

2\320\2469):

NURBS:

-. \"On

538

(1989c).

A Survey.\" IEEE

Academic

York:

Pi eg], L.and W.

Press,

ComputerGraphics

and

and

\"Curve

Tiller.

Aided

Computer

of Computer-Aided Geometric
1993.
Surface

Design

A Menagerie

-. \"Circles:

and

Graphics

Applications

Constructions

Using Rational B-

(1987).

19(9):485-498

. The NURBS Book.Berlin:Springer


Computer

2: Surfaces.\"

{l989d).

(1991).
. Fundamental
Developments

Splines.\"

Part

B-Splines.

55

Applications 11(1):

Modeling.New

I: Curves.\"

Part

B-Splines.

.'\"Modifying the Shapeof Rational


Computer

Design.\"

262 (1989b).

-. \"Modifyingthe Shape of Rational


Computer

Geometric

in Computer-Aided

1995.

Verlag,

IEEE
of Rational B-SplineCircles.\"
9(5): 48 (1989).

. \"Software-Engineering
Approachto DegreeElevation
Curves.\"
Computer Aided Design 26(1): 17 (1994).

Piper.B.

\"Visually

Smooth

with

Interpolation

In GeometricModeling:
Algorithms

and

New

Triangular
Trends,

of

B-Spline

Bezier patches.\"
ed. G. Farin. SIAM,

1987.
Classes
of Geometric
Invariant
Pottman, H.
Continuity for
CAGD.\"Computer
Geometric
307-322
Design
6(4):
(1989).
. \"Locally ControllableConicSplines
Curvature
Continuity.\"
ACM Transactions
on Graphics- 10(4):366(1991).
M. J.,R.
J. Goult, and L. Lee. \"On RationalParametric
\"Protectively

Aided

with

Curve

Pratt,

Approximation.\"

Computer

Aided

Geometric

Design

10(3^.): 363 (1993),

\342\226\240
499

Bibliography

Splines.'1 Computer Graphics19(3):151

for Conic

V. \"Techniques

Pratt.

(1985).
-,

''Direct

Graphics

145

2\320\251:

Geometric

Elevation of B-Spline Curves.\"


Aided
Computer
193-198

1(2):

Design

-, \"A

Round

Trip

Graphics

\320\241
Micchelli.

via de

Transactions
Casleljau.\"\320\233\320\241\320\234

on

Computer

L.

and

K.,

Design 4(1-2): 133-140 (1987).


Computational
Geometry. New York:

Shamos.

and

\316\241
A.

\"Boolean

Subrahmanyam.

IEEE
Pimensional Objects.\"

under

Invariant

Curves

\"Computing

Geometric

Aided

M.
1.
Preparata, F P.,
1985.
Springer-Verlag,
Putnam,

(1984).

to B-Splines

9{3): 243 {\\989).

Prautzsch, H.. and


Halving.\"

(1987).

H. ''Degree

Prautzsch.

Surfaces.'' Computer

of Algebraic

Fitting

Least-Squares

Graphics

Computer

on n-

Operations
and

Applications

6(6):

43-51 (1986).

Qin. H. '\"Dynamic
Sculpting.\"ACM
Oin,K., J.Sun, and
Two.\"

on

Transactions

''Representing
Forum
11(5):

X.Wang.
Graphics

Computer

13(2): 103
Conies Using

Graphics

Ratshek. H.. and


Aided

Design

-. \"Box-Sphere

Transactions

\"Test

for Intersection

25(4):

249

J. Rokne.

Computer

Surfaces

and

Curves

ACM
and Forward Differencing.\"
(1991).

(1994).
NURBS of Degree

285 (1992).

and
as Multiaffine
Ramshaw. L. \"Beziers
B-Splines
Foundations of ComputerGraphicsand CAD,
York: Springer-Verlag,1988.

Rappoport,A. ''Rendering

to Interactive

Constraints

Geometric

with

NURBS

Maps.\"
ed.

R.

In Theoretical
New
Earnshaw.

with

Hybrid

on

Graphics

Subdivision
10(4): 323

between Plane and Box.\"

(1993).

Intersection Tests.\"Computer
Aided

Design

26(7):

57\320\243

(1994).

Redont,

Deformation

and

\316\241
\"Representation

Computer Aided Design21(1):13(1989).


Models

G.''Mathematical

Requicha.A.A.

Memo no. 28.Production


Rochester. N.Y. 1977.

Automation

. \"Representations
for

Computing Surveys
12(4):
-. \"Solid Modeling: A
Sensory

Robots,

ed.

B. Ravani.

1988

of Rigid
Project,

Solids:

Rigid

437^-64-

of Developable

Theory,

Surfaces.\"

Solid ObjccLs.\"Tcchnical
of Rochester.
University
Methods,

and Systems.\"

(l 980).

Update.\"

New York:

CAD

Based

Programming

Springer-Verlag, 1988.

500

\342\226\240
Bibliography

A. A.

Requicha.

G..and J. R. Rossignac.\"Solid

and

Modeling

Beyond.\"

IEEE

31-44(1992).
Computer Graphics and Applications12(5):
A.
A. G., and R. B. Tilove. ''MathematicalFoundationsof
Requicha,
Constructive
Solid
General
of Regular Closed Sets.\"
Geometry:
Topology
TechnicalMemo
no.
Production
Automation
27.
Project, University of
Rochester.Rochester.

1978.

N.Y.,

A.

Requicha,

Technical
Rochester,

A. G, and \316\227.\316\222.Voelker.
\"Constructive
Memo no. 25, ProductionAutomation
Rochester, N.Y., 1977.

-. \"Geometric

Geometry\"
University

Project,

and

Parts

Mechanical

of

Modeling

Solid

of

Machining

Processes.\" COMPCONTROL. Sopron,Hungary:


1979.
-. \"An Introduction
to Geometric Modeling and its Applications.\"
York:
Advances
in information
Sciences, ed. J. T. Ton.Vol.8.New
Systems
1981.

Plenum,

-. \"Solid
Assessment.\"

IEEE

\"Solid

Modeling: A Historical Summary and Contemporary


and Applications 2(2): 9-24 (1982).
Computer
Graphics
Current
Status
and Research Directions.\" IEEE
Modeling:

ComputerGraphics

and

25-37

3(27):

Applications

(1983).

Evaluation
and
Operations in Solid Modeling:Boundary
30
Proceedings
Algorithms.\"
ofJEEE 73(1): (1985).
R, F.
of B-Spline Approximation to Geometric
\"Applications

. ''Boolean
Merging
Riesenfeld,

Problemsof Computer-Aided
Syracuse, N.Y., 1972.Also publishedas

Ph.D.

Design.\"

diss..

University

Syracuse
of

Utah

University,
UTEC-

report

CSc-73-126.

-.\"Aspects of Modelingin
Proceedings

the

of

National

Geometric

Computer-Aided

Conference. AFIPS

Computer

Design.\"

Press, 1975.

. ''HomogeneousCoordinates Projective
in Computer
Planes
1:50-55
Graphics.\" IEEE Computer Graphicsand
(1981).
L.
G.
Matrix
of
Roberts,
\"Homogeneous
Representation
Manipulation
and

Applications

and

Constructs.\"

n-Dimensional
Massachusetts

Rockwood,

of Technology,

Institute
\316\221.
\"The
\316\241

Displacement

in SolidModels.\"
ACM
Rockwood, A. P, and J.

C. Owen.

Computer

Graphics

J. \"Research
and

Method
on

''Blending
and

Algorithms

L.

May 1965.

Transactions

Geometric
Modeling:
SIAM,1987.
Rosenblum,

MS-1405, Lincoln Laboratory,

Report

Issues

Applications

New

for Implicit Blending Surfaces


Graphics
8(4): 279 (1989).

Surfaces in Solid Modeling.\"In


Trends, ed. G. Farin. New York:

Visualization.\" IEEE
14(2): 61-63 (1994).
in Scientific

501
Bibliography \342\226\240

Ross,

\"The Design

D. T.

of

Programming

and Use of IheAPT

Computer

AED Approach lo GeneralizedCompuier-Aided


1967.
of the ACM National Conference.ACM

-. \"The
Proceedings

Design.\"

Computer Graphics and

Applications

70 (1989).

9(3):

In Proceedings
J. R.\"Constraints in Constructive SolidGeometry.\"
3D
Crow
and S.M.
on
eds.
F.
Interactive
Workshop
graphics,

Rossignac,

of

IEEE

\"Transformations.\"

R.

Ross,

of the

1959.

Chicago:

Symposium.

Applications

Aulomalic

Tools.\" Proceedings

Machine

Controlled

Numerically

for

Language

1986

the

Pizer.
Hill,
J.
Rossignac, R.,

Machinery press, 1986.


A.
A. G Requicha.
and
\"Offsetting Operations in Solid
Aided
Geometric
Computer
Design 3(2): 129-148(1986).
Radius
in Solid Modeling.\" ASM \316\225
Computers
Blending
(CIME) 3(1): 65-73 (1984).
Engineering

Chapel

Modeling.\"

\"Constant

in Mechanical

N.C.:

for Computing

Association

-.\"Constructive
23(1): 21

\"Specifying

The

Surfaces.\"

for Displaying
Computer Journal

\"A Method

M.

Design

(1991).

the Arc
Roulier,J.A.
Length
GeometricDesign10(1):25 (1993).
Sabin,

Aided

Computer

Geometry.\"

Non-regularized

Surface

\"Non-rectangular

of Bezier

Curves.\" ComputerAided

the Intersection Curveof Two


19: 336-338 (1976).
Patches

Surface.'\" In Proceedings of
Spline
Amsterdam:
1983.
North-Holland,

Suitable

Quadric

for Inclusion

Eurographics1983,ed.

P.

in

ten

B-

Hagen.

In
-. \"Geometric Modeling\342\200\224Fundamentals.\"
Tutorials
Eurographics
J. W. ten Hagen.
Berlin: Springer-Verlag, 1984.
'83, ed. \316\241
. \"Recursive
Subdivision.\"
In The Mathematics
of Surfaces, ed. J.
Gregory.

Oxford:

-. \"Some
Design

1986.

Clarendon,

Negative Results in iV-Sidcd Patches.\"ComputerAided


38-44

18(1):

(1986).

T, and R.

\316\244Farouki.
Rectifiable
Parametric
Sakkalis,
\"Algebraically
Curves.\" Computer Aided GeometricDesign10(6):551 (1993).
H. \"The Quadtree
and Related HierarchicalDataStruclures'VlCAi
Samet,

Surveys

Computing

Samet, H.,
Graphics

16:187-260

(1984).

CSGTrees,
and M. Tamminen.\"Bintrees.
121
(1985).
19(3)-.

Sapidis.N,

and

R.

Perucchio.

\"Solid/Solid

and

Classification

Time.\"

Computer

Operations

and
Domain
Recursive Spatial Decomposition
Triangulation
Models.\" Computer Aided Design24(10):
517(1992).

of

for
Solid

502

\342\226\240
Bibliography

R.

Sarraga,

IEEE

of Surfaces with
Shapes.\"
Arbitrary
and
6
7
Graphics
Applications 10(2): (1990).
for Intersection
between a Plane and a Connected
Aided
Computer
Design 26(7): 585 (1994).

F- \"Computer

Computer
\320\241.
\320\232.
\"Test

Schene,

Polyhedron;7

Compact

Schichtel,M.

and

Graphics

Computer

Applications

Schmitt,F.J.M.,B.A.

and

Barsky,

(1986).
I.
Schoenberg,

to

\"Contribution

Analytic

by

Variation

Quarterly

In On

Methods.\"

Wis.: University

Langer. Madison,

of

1953.

Press,

York:
New
Spline Functions: BasicTheory.
Wiley, 1981.
CAGD.\" [EEE ComputerGraphicsand

L. L.

Schumaker,

R. E.

ed.

of

of Applied Mathematics4:

Approximation

Diminishing

NumericalApproximation,
Wisconsin

Method

Subdivision

of Approximation

Problem

the

Functions.\"

45-99,121-141
(1946).
.\"On

IEEE

Holes\"

Fitting from Sampled Data.\"ComputerGraphics20(4):179

for Surface

Equidistant Data

Filling of \316\267-Sided
13(5): 68 (1993).
W-H Du. \"An Adaptive
and

Surfaces

Blend

\"G2

Modeling

. \"Triangulationsin
47

Applications 13(1):

(1993).

In Geometric
Bezier Curves and Surfaces.\"
New Trends, ed. G. Farm. Philadelphia:S1AM,

A. \"Subdividing

Schwartz,

and

Modeling:Algorithms

1987.
Sederberg,T.W.\"Implicitparametric
Aided GeometricDesign.\"Ph.D.

Purdue

thesis,

Surface Patches.\"IEEE

-. \"Steiner
23-36

Applications

5(5):

Parametrized
67-75

1 (3):

Design

Rational Curves.\"ComputerAided

(1986).

Intersection.\"

T,
Sederberg,

Cubic AlgebraicSurfaces.\"
Part 1.IEEEComputer
10(4): 14-25

Applications

W.,

Aided

Computer

(1990).
. \"Techniquesfor CubicAlgebraicSurfaces.\"
Graphics and Applications 10(5):12(1990).
Graphics

and

Graphics

(1989).

21(9):547

. \"Techniques for
and

1983.

University,

Computer

for Algebraic Curve

-. \"Algorithm
Design

for Computer

Surfaces

(1985).

.\"Improperly
Geometric

and

Curves

and

and

2. IEEE

Surface

\"Steiner

\320\241
Anderson.

Part

Computer

Patches.\"

IEEE

Computer Graphics and Applications5(5):23(1985).

Sederberg,

\316\244
W.,

Loopsin
(1989).

Surface

H.

Christiansen,
Intersections.\"

and

S. Katz.

Computer

\"Improved Test for Closed

Aided

Design

21(8): 505-508

\342\226\240
503

Bibliography

SurfacePatch

J. Meyers. \"Loop Detection and


Geometric
Design 5(2): 161-171

Sederberg,T.W..andR.
Intersections.\"

Computer

Sederberg,T.

Are Proven and Their Usefulness


Design 21(8): 505 (1989).

Aided

Computer

Sederberg,T.

Concerned

Theorems

\"Two

Intersection

Surface

with

and S. Katz.

N. Christiansen,

H.

W.,

(1988).

Aided

R.

and

W.,

\316\244
Farouki.

by

\"Approximation

Outlined.\"

Interval

Bezier

Curves.\" IEEE ComputerGraphics Applications


87 (1992).
12(5):
\316\244
and
R.
N.
Goldman.
for
W.,
Sederberg,
\"Algebraic Geometry
Computerand Applications
Aided GeometricDesign.\"
IEEE
Graphics
Computer
and

6(6): 52-59 (1986).


W.,

Sederberg,\316\244
Intersections.\"

and

R. J.

Sederberg,

and

\316\244
W.,

S.

Computer

Algorithms,-

Meyers. \"Loop Detection and SurfacePatch


Geometric
Design 5(2): 161-171 (1988).
Parry. \"Comparison of Three Curve Intersection
Aided
Design
18(1): 58-64 (1986).

Aided

Computer

-. \"Free-FormDeformationof SolidGeometric
20(4): 151

Graphics

Aided

Design

Computer

(1986).

Seidel, H.-P \"Computing


Computer

Models.\"

Points

Control

B-Spline

Using

Polar Forms.\"

634 (1991).

23(9):

A Prerequisite
to
\"Constraint
Serano, D.. and D.C.Gossard.
Management:
in Engineering:
Conceptual Design.\" In KnowledgeBasedExpert
Systems1
and Design, eds. D. Sriramand R. A. Adey. United Kingdom:
Planning
Computational Mechanics Publications,1987.
C. A. \"Dissertation
Abstracts
in Computer Graphics.\" Computer
Shaffer,

Graphics27(2):86(1993).
J. J.,

Shah,

and

York:

New

M. Manly la,
1994.
Elsevier,

eds.Advances in Feature-BasedManufacturing.

New
York:
Shamos, M. 1. ComputationalGeometry.
-. \"Geometric
Complexity.\" Proceedings
on Theory of Computing.Washington,
Symposium

1975.

Springer-Verlag,

of

the

7th
D.C.:

Annual
ACM

ACM
Press,

1975.

Shantz, M., and S.Chang.\"Rendering


Forward

Shapiro, V.,and D L.Vossler.


Representations;7

Graphics

Computer

Differencing.\"

Computer

Aided

Design

-. \"Separationfor Boundary
on Graphics 12(1):35(1993).
Sheng,

X.,and

Parametric

Space.\"

to

22(4): 189
and

\"Construction

CSG

with

NURBS

Trimmed

23(1): 4

Adaptive

(1988).

Optimization

of CSG

(1991).

Conversion.\"

/ICAi

Transactions

of Trimmed Surfaces in
Hirsch.\"Triangulalion
Aided
Computer
Design 24(8): 437 (1992).
B. E.

504

\342\226\240
Bibliography

D.

Shephard,

'\316\206Two-Dimensional

Shoemake.K.

\320\233\320\241\320\234
National

Washington,

Conference.

Curves.\"

Quaternion

with

Rotation

\"Animating

for Irregularly

Function

Interpolation

Spaced Data.\"Proceedingsof the


DC: ACM Press, 1965.

Computer

Graphics! 9(3): 245 (1985).

Shpitalni,M.,YKoren.and
Computer

Snepp, D. K., and

C.

R.

Pomeroy.

design\"

New

Press,

system for

York,

of Assemblies
J. U.Turner.\"Towards
Modeling
8
5
Aided
Design.\" Computer
Design26(2): (1994).

Computer

Systems\"

Sridhar,N..R.

and

Agrawal,

Aided

L. Kinzel.

for Product

Model for

Constraint-Based

\"Constructive

P. Brunet.

and

CAD

Parametric

CAD,

1992.

Sodhi, R-, and

Solano,
L.,

aerodynamic

Modeling for Computer Graphicsand

Generative

J. M.

Academic

\"A geometry

1987.

(AlAA-87-2902),

Snyder,

Interpolators.\"

832 (1994).

26(11):

Design

Curve

\"Realtime

\320\241.
\320\241
Lo.

Aided

Design 26(8): 614 (1994).


\"Active Occurrence-Matrix-Based

Computer
Approach to DesignDecomposition.\"

Aided

25(8):

Design

500

(1993).

notesontricubic
Stanton, E. L. Untitled,informal

interpolation

and

modeling. 1976.

M. Crain.\"PATCHES-III
User'sManual.\"
McDonnell
Company
Report no. MDC G5538,Nov. 1974.
E. L., L. M. Crain,andT F. New.
\"A Parametric
Cubic Modeling
for
of Composite Material.\" International Journal of
General
Solids

E. L., and L.
Astronautics
Douglas

Stanton,

Stanton.
System

in

Methods

Numerical

Stone, M. C,
W.,

ed.

Theory
1989.

Springer-Verlag,

I. \"Boundary

Stroud,
Aided

Design

Su, G, and D
ComputationalGeometry.\"

DeRose.

and

Practice

(1977).
Characterization

of

8(3): 147(1989).
York:
of Geometric Modeling.
on Graphics

New

Modeling with Special Representations.\"


Computer
543 (1994).

26(7):
Liu.

\"A Geometric

Transactions

ACM

Curves.\"

Parametric
Cubic
Strasser,

\316\244
D

and

11:653-670

Engineering

\"An

Affine

Scientia

-.

and its
ser. A, 24(3):

Invariant
Sinica,

Geometry\342\200\224Curve

Computational

and

Application in

259 (1983).

Surface

Modeling.

New York:

Academic Press,1989Sugihara,K.\"An

Intersection

Algorithm

Based

on DelaunayTriangulation.\"

IEEE Computer Graphicsand Applications


59-67
12(2):
(1992).
and
J.
Turner.
for
(_/.
\"Variational
Solid
Tolerance
S.,
Supta,
Modeling
Analysis.\"IEEE
Computer
Graphics and Applications 13(3):64 (1993).

\342\226\240
505

Bibliography

1.

Sutherland,

Man-Machine

\316\225.

''Sketchpad:

Communication

Graphical
(1963).

System.\" Proceedings of
M. \"Efficient Octree Conversion by
Computer
Graphics
18(3): 43 (1984).
23: 329-349

SJCC

the

Tamminen.

K. Fleishcher.
A. Barr.and
Terzopoulos,D..J.
Models.\"ComputerGraphics21(4):205
Piatt,

Labeling.\"

Connectivity

\"Elastically Deformable

(1987).

Tiller,

''Rational

W.

for Curves

B-Splines

IEEE

and

Graphics

Computer

Nonuniform

Tutorial

SlGGRAPH

Techniques.\"

3(6): 61-69

Applications

. '\"GeometricModelingUsing
Mathematical

and Surface Representation.\"


Rational

(1983).
B-Splines:

Notes, ACM.

Washington,

D.C.:ACM Press,1986.

\"Knot-Removal

for

Algorithms

NURBS

and Surfaces/'

Curves

Computer Aided Design24(8):445 (1992).


R. B.\"A Study of Geometric Set-Membership
Tilove,
30.

no.

Memo
Classification.\"Technical

Rochester,NY.,

Automation

Production

Project,

University of

1977.

Nov.

A Unified Approach to Geometric


on Computers C-29 (1980).
A
of
. \"Line/Polygon
of the Complexity
Classification:
Study
Geometric
and
IEEE
Applications 1(2):
Computer
Graphics
Computation.\"
Classification:

-. \"Set-Membership

Intersection

Transactions

IEEE

Problems.\"

75-78,80-82,84(1981).

.\"Exploiting

and

Spatial

Structural

Technical Memo no. 38.Production


Rochester, Rochester, NY., 1981.

Tilove,R.

A.

and
\320\222.,

A. G.

Geometric

Entities.\"

Requieha.
Aided

Computer

Locality
Automation

Aircraft

Company

Technical

Project.

Modeling.\"
of

University

\"Closure of Boolean Operations on


Design
12(5): 219-220 (1980).

Timmer,H.G \"Spline-Blended
Interpolationofa
Douglas

in Geometric

Memorandum

Network

of Curves.\"

Cl-250-CAT-76-044.Aug.

1976.

-. \"Analytical
for Computation
of Surface Intersections.\"
Background
M
emorandum
Aircraft
Technical
C1-250-CAT-77-036.
Douglas
Company
1977.

Apr.

notes.

-. Informal

Undated.

Timmer, H. G, C.L.Arne.T
for

Aerodynamics

Timmer,H. G.
Propertiesof

Solid

R.

Reentry

\316\227.
\"Ablation
Jr., and \316\227.
Tang.
March
Bodies.\" AFFDL-TR-70-27.1,

Stokes

of Global Geometric
\"Computation
Aided
Objects.\"
Computer
Design 12(6) (1980).
an
Extended
Cell Enumeration
\"3D
Modeling
Using
13
Computer
Graphics
(1990).
24(5):

K.D
Toennies,
Representation.\"

Slender
and

J. M.

Stern.

1970.

506

\342\226\240
Bibliography

Toennies,

\320\232.
D.,J.K.

Herman.

G.T.

Udupa,and
IEEE

Surfaces.\"

and

Graphics

Computer

\"Registration of 3D Objects
and Applications 10(3):52-62

(1990).

Tokomasu,S.,I.Harashima,and
N.

L. \"On

D.

Toth,

G.

Ray Tracing

J.

and

Aided

van Overveld,

Design

\320\241
W.

Bezier

Cubic
T.

\"Survey

Mathematics

\"Special
402
26(6):

Rossignac.

Computer

Varady,

R.

R. Martin. OxfordUniversity
1987.
Press,
of Curves and Surfaces.\"Computer
Continuities

II, ed.

Graphics
Verroust,

F.
\316\221.,

Parameterized

of

\320\241
\"Survey

Forum

(1994).

Recursively Defined Curves,Relatedto


Aided Design 22(9): 591(1990).
in rc-SidedPatch Generation.\"
In The

\"Family of
Curve.\" Computer
and New Results
A. M.

of Surfaces

Veltkamp,

Computer Graphics 26(2): 55 (1992).


Issue: Solid Modeling '93.\"Editorial.

Surfaces.\"

Polygonal

\"Re-tiling

Turner,J.,

the

over

\320\241
\320\260
Surface

Graphics Forum 12(4):211(1993).


Parametric Surfaces.\"ComputerGraphics19(3):

171(1985).
Turk,

\"Spanning

Nakajima.

Wireframe.\" Computer

Given

93 (1992).

11(2):

and

Schonek,

\"Rule-Oriented Method for


Aided Design 24(10): 531
Computer

D. Roller.
Design.\"

Computer-Aided

(1992).

Vesprille,K.J.

Aided

\"Computer

Applications

Design

PhD.
SplineApproximationForm.\"

Syracuse

thesis,

of the

Rational B-

University,

Syracuse,

N.Y., 1975.

Vida. J., R. R. Martin,

and

Varady.

Use ParametricSurfaces.\"
Voelcker, H. \320\222.,and A. A.
the

of

University

\"A

\316\244

Aided

Computer

\"Geometric Modeling Researchat


at the First Annual Conferenceof
MIT, Cambridge, Mass.,Apr.
Systems,

CAD/CAM

in

Graphics

1979.

of Rochester,

University

Project,

von Herzen, B. \"Accurate


Surfaces.\"

Graphics

Computer

Wang, \320\241
\"Shape
B-Spline
J.

Warren,

Classification
Cuhic

Parametric

\"Blending

Curve.\"

8(4):263(1989).

ACM

\"Creating

Transactions

lions

Triangula

Algebraic

Multisided

on

Objects

Defined

via

no. 26. Production


Rochester, NY., 1980.
Memo

Technical

Geometry.\"

Automation

for

Procedures

\"Boundary-Evaluation

Solid

of Blending Methods That


Design
26(5): 341 (1994).

G. Requicha.
Rochester.\"
Presented

Computer
Constructive

Survey

of

Deformed,

Intersecting

103 (1987).

21(4):

Parametric Cubic Curve and


Computer Aided Design 13(4):199-296(1981).
Surfaces.\" ACM Transactions on Graphics
of the

Rational

Graphics

Bezier

11 (2);

Surfaces

127 (1992).

Using Base

Points.\"

\342\226\240
507

Bibliography

A.

\316\234.,and

Watkins,

Aided

Computer

Welch,

Design
A.

W.,

Worsey.

Gleicher,

20(7):
and

S1GGRAPH'92.

Graphics

Computer

G.

\316\234.
and
\316\221.,

Wesley,

Dimensional
From

Computers:

Structure\"
Witkin,

26(2):

Proceedings of

157 (1992).

Data.\"

eds. M.

of Solid

Models from Two-

In Solid

Modeling

S. Pickett and

J.

by
W.

Boyse.

Plenum Press. 1984.


Intersection Curves: Shape and
Aided
Design 25(10): 633 (1993).
and A. Barr. \"Energy Constraints on Parameterized
'87. Palo Alto, Calif.: Morgan
ofSlGGRAPH
\"Quadric-Siirface

Y. Manor.

and

1.,

Surface Modeling.\"

\"Generation

to Applications,

Theory

New York:
Wil/,

Markowsky.

Three-Dimensional

and

\"Manipulating Surfaces
'91. ACM 1991.

Graphics

\"Variational

Witkin.

A.

and

W.,

for Bezier Curves.\"

(1988).

A. Wilkin.

Computer

Differentially.\" Proceedingsof

Welch,

Reduction

''Degree
398-405

Computer

\316\232.
\316\221..
Fleischer,

Models.\"

Proceedings

1987.

Kallmann,

\320\241
D.

Woodward,

\"Cross-sectional

Graphics11(2):193

Design

o/ B-Spline

Surfaces.\" Computer

(1987).

J. R.

Woodwark,
Surfaces

II,

F.

Yamaguchi,
New

ed.

York:

\"Blends

R. R.Martin.
Curves

and

Springer-Verlag,

in Geometric Modeling.\"In Mathemaiics


of
Oxford University Press, 1989.
Surfaces in Computer Aided GeometricDesign.
1988.

This

page

intentionally

left

blank

INDEX
Bezier,83
113.126
B-Spline,

initio

Ab

design,

characteristics

Addition, vector, 421


Affine

conversion

313

matrix,

Adjacency

transformation(s),Bezier

curve invariance

under, 87

40
Algebraiccoefficients.
Algebraic

geometry,

Ancestor,

315,382

408

11

Approximation,

APT language,

Arc length, 20

Area,

triangle,

Atlas,

296,297

Auxiliary

82

85,137

between,

even-degree polynomials,45
41,42-47

Hermite,

basis transformation

Hermite

matrix, 48

odd-degree

polynomials,45

Angle excess, 287


Animation,

of,

424

between

symmetry
Basis

pairs of,45

matrix,

transformation

48

vectors,4l7,421

Beads, 376,390

Bernstein potynomiats:
Bezier

curve, 176

45

orthogonal,

curves,

83,88

partition-of-unity

Beta splinecurves:

properly, 90

Barsky,B.A.,10

bias,

\320\222

Barsky,B.A\342\200\236

Basis,

34,142

cubic, 142
10

40,421

Basis function(s):

Bernstein polynomials.83,88

tension, 34,142

Beziercurve(s):
affine

Iransforma

u'ons,

invariance

under, 87

509

Bezier ciirve(s)(Continued):
to geometric

application

modeling,

matrix, 84

Hermite,222

Bernstein polynomials,83.88

Bdzier-Hermite

matrix

rational Bezier
105

111

Binomial

constructionof.88

Boolean
Boolean

endpoints,

directed surface,342

107

higher-order, 107

intersectionof,
half-spaces,

337

112

closed set,

321

intersection,321)
null

82

set,

319

open set,

108

319

operators,319

subdivision, 102

subdividing,97,1D2

primitives,

319

model,

341

97

procedural

system.

regularized set operators,323

UNlSURF

81

332
classification,
set-membership

weights, 110

sets,319

Bezier,P..7,10,81
basis

of a

interior

points on, 81

Bezier

model, 310

half-space, 342-343

93

truncating,

319

graph-based

form,

of,

set,

empty

hyperbola,112
matrix
84

recursive

homogeneity, 323

dimensional

properties

348

320

difference,

112

rational,

set, 319

constructive solid geometry,

degree reduction,97
G2 continuity,

328

valid.

boundary,

closed

107

elevation, 95

parabola.

algebra, 321

boundary of closedset.321

cubic,84

modifying,

model(s):

Boolean

convex hull, 90

ellipse,

2.321

algebra,

82.89

control polygon. 82, 90

at

83

coefficient,

Blend surfaces,213.215

11)5

points,

316,342,346,350

tree,

Binary

conic representations.

curvature

patch, 225

tensorproduct.217

composite,

degree

on, 217

points

93

control

217,222

form,

polygon, 82

circle,\320\2462

continuity.

curve on, 219

isoparametric

83

coefficient,

characteristic

223

elevation.

degree

85

conversion,

closed,

224

convertingbetweenBezierand

83.93

transformation

binomial

224

continuity.

control points,217.220

33.81

basis functions,
basis

composite,

surface:

function

sets,

on,

sets, properties

of, 319

operations

transformations,

bicubic patch.218

characteristic

polyhedron,

218

222

subset,319
unevaluated

model,

319

341

- 511

Index

union, 319
Venn

139

320

diagram,

nonuniform

difference,320,321

points on, 114

union,319,321

basis

uniform

(b-rcps),

356,360

characteristic
228

closed,

control

358

358,363

358,363

10,33,113
functions,

basis

transformations,

factor, 141

Cardinal

conditions,

summary,

136

control points,multiple,115
between

functions,

Cell decomposition,367

Cells,

network

parametric

Circle,

114

70,141

115

115,117

Class

313
384

evaluators,

Classification

of points, 332

Closedcurved surfaces,305

knot vector, 114

Closed

matrix form,

Closed

124

82

Circular arc,71)

nonuniform,

knot spacing,uniform,

of,

equation, 435

Circuit, graph,

polynomial,114

values,

Cayley.A.,431

Characteristicpolygon,
functions, 128

degree of basis function


spacing,

196,199

splines,

Characteristic

basis

137

basis

227

deCasteljau,P.,7.88

points, 114

conversion

product.

\320\241

continuity, 134
control

232

Building-block geometiy, 348

124

closed,130

continuity

points on.227
tensor

113,126

circle, 141

shape

open,228
quadric,

basis

conic

227

235

NURBS,

application to geometricmodeling,

139

228

form,

nonperiodic,

B-Spline curve(s):

conies,

points,227

matrix

topology, 363
valid,

227

polyhedron,

358

Boundary,

126

functions,

B-Spline surface:

362

generalizedconceptof a boundary,

validity,

128

functions,

recursive definition of basis,114


weights, 139

data structure,

knot

basis

quadratic

representations

boundary

knot

121

polygon,

evaluator, 364

Boundary model(s):

cubic

139

periodic, 127

dcBoor,C.,10

Boundary

139

rational,

NURBS,

320,321

intersection,

basis functions, 113,

nonuniform

Boolean operators:

region,

113

nonperiodic,
314

set.

universal

paths,

path

282

theorem,

286

254

CNC machining, 411

Cofactors,of
Combinatorial

history, 2,348

lea/ nodes,350

363

structure,

Completeness, logical, 411


74,

solids,

252

primitives,

Requicha,A.A.G.,10
root
350
node,

Compound plate layout, 408

Computationalgeometry,

Voelker,H.B.,10

Continui

(CAD),1,

design

Computer-aided

Computer-aided geometricdesign

Hermite curves,74,77

Cone, 207

parametric,
77

Coniccurve(s):

32
characteristics,
of,

Hermite

approximations

hyperhoi

a, 69

of, 64

Bezier

B-Spline

polygon, 82,89
Conventionsand notation,16

net, 159

Convex

Coordinates,

Constructive

dependency,

375

346,350

ordered,

models, 320

Boolean operators,319

Cox,M.G.,10

Crain,L.M.,11
28

Cross

plots,

Cubic

curves, 32,39

Curvature

(b-reps),

representation

352

definition, \320\22748

homogeneous,

Curvature, 20,301

364

evaluator,

90

441

296

Constructive solid geometry(CSG):

cell decomposition,

hull,

S. \316\221.,7,10,81

Coons,

Connectivity

branches,binary

114

characteristic

number,

boundary

surface,

B-Spline

Connectivitymatrix,312

boundary

114

curve,

Connectivity, 312

Boolean

89

curve, 89

Bezier surface,217,220
of, 31

64

tree,

77,107

points;

68
parabola.

binary

399

adding,

NURBS curve,139

Conjugate

Contours,

64

traditional,

equation

order,

Control

factor. 141

shape

construction

second

Controlled deformation,275

70

surface,

77

order,

geome trie, 77
1

graphics,

implicit

74,105

curves,

(CAM),1,5,6

conic

105

B-Splinecurves,134
first

manufacturing

circle,

ty:

Bezier curves,

composite

(CAGD),2

Computer-aided
Computer

355

348, 350

procedural representation,351

\320\2565

192,224

surfaces,

model,

neighborhood

Composite:
curves,

349

operation,

gluing
437

determinants,

Curvature,

288

density,

total, 288

Curve(s):
tree,

348

349

auxiliary,

176

Beta-Spline,

Bezier, 32,81

142

108,439,

Index .513

B-Spline,32
circulararc,
conic,

Cylindricalsurface,206

64

74,77,105

implicit and

between

conversion

parametric
cubic,

Cusps, 53

31,64

conic Hermite,
continuity,

22

form,

axial. 276

cusps,53

bivariate, 277

decomposition

controlled,275

28

of,

solution,

point

shapes.284

34

explicit equation of, 22


12

method

difference

forward

for

points on, 36

geometric

ty, 77

continui

implicit equation

22

of,

intrinsic

equations of, 19

intrinsic

properties,

19

loops,53
monomialbasis.48
equation

surfaces, 159,181

NURBS,9,139

95,223

Degree

elevation,

Degree

reduction, 97

375

379

interobject,

Dependency,

Designoptimization,407
436

Difference

320

operator.

313,382

Directed

graph,

Directed

surface. 343

Direction cosines,419

Direction

159,161

419

numbers,

net, 159

orthogonal

1\320\2631\321\203\320\260\320\2631\320\2601\320\265,277

Dilation (scaling),440,462,464,471

of, 20

nets on
surfaces,

279

Digraph, 382

natural

on

of, 284

Determinants,

surface, 160

on a

isoparametric

delormable,

topology

Descendant, 315,382

33

interpolation,

surfaces,

Dependency,constructive.

32,39

Hermite,

367

cell,

Deformation(s):

curvature, 20,107

fitting.

D
Decomposition,

25,32,39

parametric,

direct

54,97

truncating,

13,74,105

composite,

20

torsion,

70

34

solution,

Direct-point

parabola, 68

Discretization, surface and volume,

parametric

continuity,77

Discretization,

parametric

equations

parameterization,
points

on,

of, 23

reversing, 37

computing,34

268

position-direction,

power basis, 40

rational Bezier,108
segment,

26

topological

405

Disk, topological,286

Durableproperties,
375

\316\225

436

Eigenvalues,

436

subdividing,

54,97

Eigenvectors,

subdivision,

quick, 59

Einstein summation

symmetriesof,

22

invariant,

Ellipse,

32

convention,40

405

514

\342\226\240
Index

Embedded

geometry, 161,376

Entity,

376,378

Entity

classes

379

ancestor,proper,315
315

branches,

circuit, 313

formula,295

connected,313

294

formula,

316

tree,

binary

Euler operators,306
Euler's

matrix, 313

ancestor, 315

Euler characteristic, 305


Euler-Poincare

\320\256

models;

adjacency

450

angles,

W. J.,

Gordon,
Graph-based

and subclasses,

Eshleman,A. E.,jci,
Euler

Gluingoperation,349

152

parametric,

Ellipsoid,

Extrinsic properties,l9

315

descendant,

313

directed graph,

in degree,313

inorder

Ferguson, J. C, 7,10,81
and

model

element

Finite

leaf

analysis,

405

Forrest,A. R.,7
Forward

difference

method,

315

traversal,

node, 315

node, 315

out degree,313
traversal,

316

traversal.

316

postorder

36

interpolation,61

Four-point

4,

312

matrix,

connectivity

Extruded sweep,265

preorder

relational geometricsynthesis,

Frames, 401

root,

Free vectors,417

spanning

tree, 313

traversal,

recursive,

traversal,

tree, 316

subgraph,313

G
Gauss-Bonnet

Gaussian

306

theorem,

quadrature,

16

General sweep surface,265,267


Geometric

coefficients,

Geometric

continuity,

41

77

Geometric modeling:

ab initio design,3

geometric

metaphor,

history,

tree. 313
wireframe

directed,

Graph,

Group

263

technology,

\316\227

schemes, 8, 9

166

Hamilton,W.R.,419,456

Handles,

representation^

Hermite,C.,33

Hermite

spheres

with,

289

basis transformation

48

Whatisit?,l

wireframe,

313

Graphs, 313,382,400

rendering,3
3

318

model,

Half-spaces,

visualization,

316

polygonal

373

315

Hermite curves:

Gibbs,J.W.,419

algebraic

Glide rotation, 470

algebraic

40,49

coefficients,

form,

40

matrix,

Index.515
to

application

geometric

modeling,

trimmed boundaries,
256

basis f unctions, 39,41


transformation

basis

twist

matrix,48

Bezier-Hcrmite

85

conversion,
74

composite,

boundaries,172,180

41

61

four-point interpolation,

geometric

41

coefficients,

geometric

continuity,77

geometric

form, 41, 49

77

46

between algebraic

geometric

and

49

forms,

54

reparameterizing,

unit

Hermite
basis

normals, 182
patch,

203

of a patch,

184

form,

solid:

interpolation,l96

subdividing,191

tangent vectors, 180

241

form,

matrix, 241

transformation

tensorproduct,169,179
191

truncating,

twist

252

unit

in, 253

and surfaces

elements, 257

higher-dimensional

isoparametric

curves

in,

Homogeneous

252

Homotopy,

Horner's

253

curves in.

parameter spaceof,

182

normal,

History,

173,180

vectors,

coordinates, 108,439,

441

241

form,

nonisoparametric

169,179

for,170

orthogonalnet,174

spline

generalizednotation scheme.257
geometric

notation

sixteen-point
53

vector,

compositesolids,252
curves

form,

matrix

ruled surface,207

cells, 254
continuity,

geometric

186
60

interpolation,

algebraic

179

net, 180

reparameterization

54

tangent

algebraic and

plane

54

tangent vectors,50-53
truncating,

192

converting

degeneratepatches,210

parametric continuity,

three-point

continuity,

cylindrical surface, 206

47

subdividing,

192

curve

parabola, 68

relationship

composite,

geometric forms,

approximation,69

form,

transformation

blend surfaces, 213

41

parametric,

directionality,

176

170

matrix,

hyperbola,

169

curve,

function

basis

cusps,53

quintic.

algebraic

basis functions, 178,179

74,77

cubic, 39,61

matrix

algebraic coefficients,169
auxiliary

endpoints,

bicubic:

surface,
form,

64

continuity,

250

vectors,

Hermite

circular arc, approximation


of,70
conic,

cells, 254

parametric

tangent vectors, 250

33,39

253

regular,

rule, 34

Hyperbola, 32,69

Hyperpatch,237

285

Linear
432

matrix.

Identity

of parametric

Implicitization

transformations,

439

411
Logicalcompleteness.
form,

curves, 53

and cusps in

Loops

22,144

382

model,

Logical

Innerproduct,422

Inorder

315

traversal,

\316\234

260-261

Instances,

dependencies, 379

Interobject

Interpolation,7,12

320
Intersection,
Intrinsic

of curves,

equation

Invariant property,

439

435

37

solution,

459

Inversion,

tude, vector,

160

curves,

419

Matrices:
addition,433
313

adjacency,

matrix, 432

application

to

modeling.

geometric

12

basis transformation,

Bezier

Isome tries,440
Isoparametric

376,391

Magni

antisymmetric

Inversematrix,
Inverse-point

19

Magnets,

Bezier

basis

B-Spline

transformation,

B-Spline curve, 124

characteristicequation,

435

Joins between

surfaces,376

Jordan,C, 291
curve

Jordan

286

theorem,

437

cofactor,

matrix, 431

column

conformable, 433
312

connectivity,

436

determinants,

eigenvalues,436

Kinematic

analysis,

436
eigenvectors,

300

Klein bottle,

Hermite

basis

Knot, 291
293

Knot

spacing, 115,117

Knot values, 114,291


114

delta, 422,432

Kronccker

432

inversion of, 435

group,

vector,

transformation,^

matrix,

identity

Knot

Knot

matrix, 432

diagonal

\320\232

Kronecker delta,432
matrix

48

algebra,

of, 433

multiplication
null

matrix,

432,434

of, 431

order

partitioned, 434

L
vector,

Length,

Letcher,

Line,

vector

433

postmultiply,

Leaf node,3L5

433

premultiply,

419

J. S.,v,xi,
equation

10.373
of, 425

properties,

rank of,
row

summary of, 436

421

matrix,

84

84

curve,

431

124

Index
scalar

432

matrix,

Model

scalar multiplication, 433

scalar product as a

matrix

relational

in

product.

378,382
412

relational,

structure,

Modularity
MultiSurf,v,378

\342\226\240
517

models,

435

matrix, 432

skew symmetric

square matrix.

43L

of, 432

transpose
unit

Nets, curve:
as a matrix

product

product,

435

Matrix

parametric. 159

Newton-Cotesquadratureformulas,

curve,

B-Spline

surface, 228

14

Hermite curve, 47

roots. 13

Node,315

241

364

algorithm,

recursive, 383,386

evaluation,

Model(s) and modeling:

transformations,

surface, 298

Norm, 419
and

Notation

(b-rep),

representation

281,356

Numerical

analysis, 13

NURBS curve:

circle.141

evaluation, 383,386

conic

representation,

finite

conic

shape factor,

4,405

graph-based,

310

equation of,

logical, 41 \316\257
parametric,

shape

139

140

modification,

NURBS form, deficiencies


of,157

377,404

procedural, 341,351
relational geometry,373

solid,4

NURBS

surface(s),235

\320\236

367

space-partitioning,

subtractive,6

unevaluated,

139

139

weights, 139

355

neighborhood,

16

conventions,

CSG, 3,281,348
element,

440

Normals,surface,182,

318,341
Boolean,
boundary

315

Nonlinear

Nonorientable

299

strip,

Node,

leaf,

Meriwether, H. D.,xi,7,176
Model

for finding

method

Newton-Raphson

Hermitesurface,170
solid,

160

orthogonal,

124

B-Spline

Tricubic

160

isoparametric,

Beziersurface,217

Mobius

conjugate,159
covariant,160

form:

Bezier curves, 84

Merging

20

curve.

model, 355

Neighborhood

432

matrix,

vector

Natural equations of a

432

matrix,

symmetric

Object,

341

wireframe, 8,318

Model space,28

Object

376,378

evaluation,

384

Octrees, 369

Op timiza

tion,

design,

407

Orientable,298

Polygons:

298

Orientation,

star, 282

Polyhedron:

298

Orientation-reversing,

convex,293

curves, 159

net of

Orthogonal

82,90

control,

Orientation-preserving,298
Outline surface,268

nOnsimple,293,295
293

regular,

293

simple,

\316\241

Position-directioncurve,268
392

default,

Parameterization,

Parameterization, effects of,


Parameterized

shapes,260,377,404

derivatives,

in

23,29

modeling,

modeling,

377,4()4

of

Quadrature:
Gaussianquadrature,16

Parametric variable,normalizing

domain of,

Partition of

301

Quadric

unity,

equation
282

Quaternions,

456

flat surface,

293

13

Radius

203,427

vector,

417

Rational forms;

Point(s):

Bezier curves,108

classification, 165,332
forward difference,36

importanceof

in

on curves,34
158

Bezier

225

surface,

24

modeling,

solution,

inverse-point
surfaces,

149

transformation,111

Piecewisepolynomials,

on

of,148
144-145

Quadtrees, 369

268

Perspective

Plane,

of,

of revolution,

surface

Path,simp]e,282
Piecewise

surface(s):

classification

90

Path, self-intersecting,
curve,

quadrature

14
formulas,

149

Patch,

PD

Newton-Cotes

25

transition,

Parity,

plane, 108,300

computation

equations, advantages

Parametric

271

curve,

Projective

of, 27

Parametric

Preorder

Profile

Parametric cubic curve, 39

Parametric

40

traversal, 316

Proceduralmodel,341,351

77

continuity,

curves,

Primitives, 261,319
54

transformations,

316

traversal,

Power basis,for

parameter space,28,153

Parameter

417

vector.

Position

Postorder

37

392

natural,

Parameterization,

Parametric

13

interpolation,

Polynomial
68

Parabola,

34

homogeneous
in

variance
transformation,

polynomial,

coordinates,
under
111

108

perspective

108

Index

logical completeness.411

|05

space,

projective

weights,110,139

457,470

geometric

parameterization,

(RGS),318,373

parameterization,

376,390

414

snakes,376,394

CNC machining,411

398
solids,

408

layout,

dependency, 375

contours,399
curves,392
dependency,constructive,375

382
descendants,

407

surface

375

Roots,

entities,376,378
finite element

Newton's

379

model and analysis,

40.5

sliding

Ross,D.T-,6

between

interobject

number,

282

sweep,265,271

Rotations;

history, 10

joins

tangent method. 13

Rotational

graphs, 400

13

method,

Rotation

401

frames,

polynomial:

finding

New ton-Rap hson method,13

embedded geometry, 376


subclasses,

439

315

node,

and

152

transformations,

Root

invariant, 405

properties,

of,

Rings,390

discretization,topological

classes

29,54,100.186

Riesenfeld,R.F.,l()

Rigid-body

durable

378,382

structure,

Revolution,
and volume,

405

entity

Relationalmodel

Requicha,A.A.G.,10
375,382

surface

discretization,

trimmed surface, 414

Representation, 3

digraph, 382
graph,

374

model,

synthesis,

Reparameterization,

surface, 408

directed

395

surfaces,

Rendering,

optimization,

developable

relational entities,379,388

rings,390

class evaluators,384
plate

389

384

structure,

program

constructive

392

three-dimensional,

points,

compound

392

natural,

planes,400

animation,408

representation.

default,

parametric modeling. 377,404

ancestors,382

boundary

384

objects, 376,378

synthesis

Relational geometry(RG):

design

412

evaluation,

object

376,378

entities,

Relational

relational,378,382

MultiSurf,v,378

323
Regularizedset operators,
Relational

383,386

evaluation,

modularity,

Regular polyhedra, 293

beads,

model

model structure,

102

subdivision,

Reflection,

376,391

magnets,

Recursive model evaluation,386


Recursive

\342\226\240
519

about an arbitrary axis,453


surfaces,

dependencies,

376

about

379

an

arbitrary

about the origin,444

point. 446

Rotations

Hermite basis transformation

(Continued):

coordinate

system, 447,449

about

equivalent

hyperpatch.

axes, 451

principal

the

isoparametric surfaces,238

matrix

444,468

plane,

axes,447

parametriccell,

254

Rubber sheet deformation,


284
Ruled

237

solid,

parametric

sweeps, 264

207

surface,

space of, 252

parameter

445, 448

successive,

260

parameterized,

456

quaternions,

241,244

form,

about principal

in space

260-261

instances,

Euler angle(s),450
in

244

matrix,

curves and surfaces,446

tangent vectors,250
Hermite

tricubic

SAGE

system, 6

twist

Scalar product,422
Scaling

Set, Open,

\316\231.,\316\231\316\237

Sphere, 151

321

Sphere
Spline

Settheory,3,3l9
Shear,440,462,466

Star

of

tic form,

quadra

147

Simple-closed-path theorem,282

Simplepolyhedra,293
6

syslem,

Sketchpad

Snakes,

Solids:

Stanton, E.

241

282

polygons,

Subdividing:

Bezier curves, 97

equal segments,58
construction,104

patch, 191

bicubic

Hermite curves,54

elements,

238,242

252

controlled

deformation,

reparameterization,54,1(H)

Subgraph, 313

252
solids,
composite
continuity,

Surface(s):

B-Spline,156

275

Bezier,

156

curves in, 253

blend,

embedded geometry,253

composite,

extrusion,265

generalized

notation,

257

form, 241

group technology, 263

59

102

recursive,

bounding faces,239

geometric

L., \316\240

quick subdivision,
form,

289

handles,

interpolation,l96,l99

Hermite

Solid mo deling,2,4,10,238

boundary

with

geometric

376,394

algebraic

enumeration,

occupancy

Spatial

Set-membershipclassification,332

Signature

model, 367

Spanning tree, 313

440,462

321

closed,

Set,

239,240

250

vectors,

Space-partitioning

(dilation),

Schoenberg,

solid,

boundaries, 256

trimmed

213,215

192

conjugate nets on,159


curve

nets

on,

159,181

curves embedded
cylindrical.

146,206

on, 161

367

Index

degenerate patches,1.54

rotational,265,271

directed,

343

translationa

L52

ellipsoid,

144
\316\244

12

fitting,

156

Hermite,

Bezier

inverse-point

length, 50

loops,53

isoparametric curves on, 160

298
nonorientable,
normal

149,182

vector,

on, 159

orthogonal nets

parametric

nets on,

50

multiple

of chord

Tensor(s):

159,174

modeling,3

165

point classification,

scalar product in
tensor

227

quadric, 145
rational B<izier,225

of
rcparametcrization

patch,

186

surfaceof revolution,parametric,

152

143,157

product,

trimmed patch, 164

angle excess,

closed
connectivity,

312

connectivity

number, 296

deformations,

Sweep shapes:

discretizations,

extruded,265

288

284

invariant, 405

286
disk,topological,
Euler

265,267

profile curve, 271

282

curvature density,

I., 6

position-direetion

287

atlas,topological,
296,297

curvature, 288,301

149,157

vectors,

Sutherland,

60

interpolation,

Three-point

path,

149

vectors,

tangent

product surface, 143,157,

Topology:

sphere, 151

tensor

notation,

Tensorproductsurface,169,217,227
a

207

ruled,

tensor

422

158

a surface,

on

convention,

40

point evaluation,158
points

summation

Einstein

293

flat,

203,427

plane,

to geometric

of,

application

patch. 149,155

piecewise

length, 53

50

of, 149

equations

parametric

magnitude,

parameterization,dependenceon,

235

NURBS,

curves, 50

Hermite

161

boundaries,

irregular

53

cusps,

158

solution,

89

curves,

notion of, 143

intuitive

shape, 50-53

on curve

affect

of, 144

equation

implicit

vector(s):

Tangent

hyperbolic paraboloid,208

general,

374

model,

Synthesis,

explicitequation of,

twist

1,265,267

161

curves on,

embedded

. 521

(PD)

curve, 268

Euler

305

characteristic,

operators,

Euler-ibincare

306
formula,

295

Topology

Euler's

(Continued):

dilation,

anisotropic.

formula, 294

dilation,

isotropic,440,462

Gauss-Bonnettheorem,306

geometric,439
gliderotation,

285

regular,

homotopy,
in

Eulcr angles, 450

289

handles,

470

modeling,

invariant

curve

invariant property,

bottle, 300

Klein

multiple sequential, 467

nonlinear,440

298

298

298

rotation (see also Rotations),444,

301

transition,

468

293

flat surfaces,

shear, 440.462,466

sweeps,265

295

topological,

polyhedron,

293

polyhedron,

nonsimple, 293,295

440

projectiveplane.300

Translational

sheet deformation

rubber

of the

plane,284
282

simple polyhedra, 293

sphere,289

topological,

structure,

363

binary,

Tree,

spanning,

313

patch,

164

Trimmed

305

surfaces,nonorientable,298

Triple scalar product,

Triplevector

torus,

Truncating:

Torsion,

20

Bezier

Transformations, geometric:
transformations,

coordinates,

coordinate

curves, 97

control point transformations,

Torus, 289

Cartesian

424
425

product,

289

affine

316

Tree,

Tricubic Hermite solid,240

closed curved,

surfaces,

Transpose

matrix, 432

Tree,313

282

paths,

paths,

265,267

sweep,

of a

Traversals,tree,316

self-intersecting
simple

parity, 301

Translation, 441,468

282

number,

441,468

translation,

Transition

regularpolyhedra.293
rotation

440,462

(dilation),

scaling

of Euler's
Poincare's generalization
formula,

457,470

reflection,

Orientation-reversing. 298
piecewise

440

projections,

Orientation-preserving,
parity,

439

linear,

Mobiusstrip.299
Orientation,

440

isometries,

knots, 291
Orientable,

439

inversion,459

286

theorem,

439,

441

isotropy, ambient.285

Jordan

coordinates,

homogeneous

284

properties,

440,464,471

cubic

Hermite

and homogeneous

curve,

441

system

repa

rotation,

ditation (scaling),440,462

curves, 97

Bezier

Hermiie bicubicpatch, 191

440

447. 449

54

54

rameterization,

shape invariance, 54
Twist

vector,

173,

ISO

97

Index

419

length,

\320\270

magnitude,419

319,321

Union,

system, 81

UNISURF

of, 425

line, equation

Unii vector,420

norm,

419

plane,

equation

of, 427

plane, normal

428

417

vector,

position

form,

projection, 425

Vecior

properties of,

423

product,

Vector(s):

addition, 421

right-hand rule, 423

applicationto geometricmodeling,

scalar

3.11
of

area

triple

basisvectors.417,421

unit

cosines,

direction

numbers,

419

419

Einstein summation convention,

form, 418,422,424

triple scalarproduct,424

424

basis, 42|
direction

422

product,

tensor

a triangle,

429

summary,

vector, 417

radius

vector

product,

425

420

vector,

vector product, 423


Venn diagram, 320

Voelker,H.B.,10

419
equations,

solution

free vectors.

of, 429

4L7

inner product,422
Kronecker

delta,

Weights,

422

Wireframe

110,

139

model, 8,318

\342\226\240
523

Das könnte Ihnen auch gefallen