You are on page 1of 21

Representing Curves and

Surfaces

Introduction
We need smooth curves and surfaces in
many applications:

model real world objects


computer-aided design (CAD)
high quality fonts
data plots
artists sketches
2

Introduction
Most common representation for surfaces:
polygon mesh
parametric surfaces
quadric surfaces

Solid modeling
dont miss the next episode...

Introduction
Polygon mesh:
set of connected planar surfaces bounded by
polygons
good for boxes, cabinets, building exteriors
bad for curved surfaces
errors can be made arbitrarily small at the cost
of space and execution time
enlarged images show geometric aliasing
4

Introduction
Parametric polynomial curves:
point on 3D curve = (x(t), y(t), z(t))
x(t), y(t), and z(t) are polynomials
usually cubic: cubic curves

Introduction
Parametric bivariate (two-variable) polynomial
surface patches:
point on 3D surface = (x(u,v), y(u,v), z(u,v))
boundaries of the patches are parametric polynomial
curves
many fewer parametric patches than polynomial
patches are needed to approximate a curved surface
to a given accuracy
more complex algorithms though
6

Parametric cubic curves


Polylines and polygons:
large amounts of data to achieve good accuracy
interactive manipulation of the data is tedious

Higher-order curves:
more compact (use less storage)
easier to manipulate interactively

Possible representations of curves:


explicit, implicit, and parametric
7

Parametric cubic curves


Explicit functions:
y = f(x), z = g(x)
impossible to get multiple values for a single x
break curves like circles and ellipses into segments

not invariant with rotation


rotation might require further segment breaking

problem with curves with vertical tangents


infinite slope is difficult to represent
8

Parametric cubic curves


Implicit equations:
f(x,y,z) = 0
equation may have more solutions than we
want
circle: x + y = 1, half circle: ?

problem to join curve segments together


difficult to determine if their tangent directions
agree at their joint point
9

Parametric cubic curves


Parametric representation:
x = x(t), y = y(t), z = z(t)
overcomes problems with explicit and implicit
forms
no geometric slopes (which may be infinite)
parametric tangent vectors instead (never infinite)
a curve is approximated by a piecewise
polynomial curve
10

Parametric cubic curves


Why cubic?
lower-degree polynomials give too little
flexibility in controlling the shape of the curve
higher-degree polynomials can introduce
unwanted wiggles and require more computation
lowest degree that allows specification of
endpoints and their derivatives
lowest degree that is not planar in 3D
11

Parametric cubic curves


Kinds of continuity:
G0: two curve segments join together
G1: directions of tangents are equal at the joint
C1: directions and magnitudes of tangents are
equal at the joint
Cn: directions and magnitudes of n-th
derivative are equal at the joint
12

Parametric cubic curves


Major types of curves:
Hermit
defined by two endpoints and two tangent vectors

Bezier
defined by two endpoints and two other points that
control the endpoint tangent vectors

Splines
several kinds, each defined by four points
uniform B-splines, non-uniform B-splines, -splines

13

Parametric cubic curves


General form:
x(t ) a x t 3 bx t 2 c x t d x
y (t ) a y t 3 by t 2 c y t d y
z (t ) a z t 3 bz t 2 c z t d z

ax
b
x

cx

ay
by
cy

az
bz
cz

T [t 3

t2

t 1]

d
d
d
x
y
z
Q(t ) [ x(t ) y (t ) z (t )] T C T M G

14

Parametric cubic curves


It is not necessary to choose a single
representation, since it is possible to convert
between them.
Interactive editors provide several choices,
but internally they usually use NURBS,
which is the most general.

15

Parametric bicubic surfaces


Generalization of parametric cubic curves.

Q( s, t ) T C (t ) T M G (t )
For each value of s there is a family of
curves in t.
Major kinds of surfaces:
Hermit, Bezier, B-spline
16

Parametric bicubic surfaces


Displaying bicubic surfaces:
brute-force iterative evaluation is very
expensive (the surface is evaluated 20,000
times if step in parameters is 0.01)
forward-difference methods are better, but still
expensive
fastest is adaptive subdivision, but it might
create cracks
17

Quadric surfaces
Implicit form:
f ( x, y, z ) ax 2 by 2 cz 2 2dxy 2eyz 2 fxz 2 gx 2hy 2 jz k 0

Particularly useful for molecular modeling.


Alternative to rational surfaces if only
quadric surfaces are being represented.

18

Quadric surfaces
Reasons to use them:

easy to compute normal


easy to test point inclusion
easy to compute z given x and y
easy to compute intersections of one surface
with another

19

Summary
Polygon meshes

well suited for representing flat-faced objects


seldom satisfactory for curved-faced objects
space inefficient
simpler algorithms
hardware support

20

Summary
Piecewise cubic curves and bicubic surfaces

permit multiple values for a single x or y


represent infinite slopes
easier to manipulate interactively
can either interpolate or approximate
space efficient
more complex algorithms
little hardware support
21

You might also like