0% found this document useful (0 votes)
88 views9 pages

Interpolating Splines With Local Tension, Continuity, and Bias Control

Interpolating Splines with Local Tension, Continuity, and Bias Control Doris H. U. Kochanek

Uploaded by

weiyi.theone
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views9 pages

Interpolating Splines With Local Tension, Continuity, and Bias Control

Interpolating Splines with Local Tension, Continuity, and Bias Control Doris H. U. Kochanek

Uploaded by

weiyi.theone
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Computer Graphics Volume18, Number 3 July 1984

Interpolating Splines with Local Tension, Continuity, and Bias Control


Doris H. U. Kochanek
Computer Motion Graphics Centre
National Film Board of Canada
Box 6100, Station A, P-36
Montreal, Quebec, Canada, H3C 3H5
(514) 333-3434

Richard H. Bartels
Computer Graphics Laboratory
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1
(519) 886-1351

Abstract 1. Introduction
This paper presents a new method for using cubic interpolating One of the oldest techniques used in computer animation is
splines in a key frame animation system. Three control the automatic generation of inbetweens (intermediate frames)
parameters allow the animator to change the tension, continuity, based on a set of key frames supplied by the animator [5]. This
and bias of the splines. Each of these three parameters can be same principle is frequently used in computer assisted 3-D
used for either local or global control. Our technique produces animation where camera and object positions are defined only at
a very general class of interpolating cubic splines which includes key points in the animation, leaving the calculation of
the cardinal splines as a proper subset. intermediate positions to the computer. The straightforward
linear interpolation algorithm used in many systems produces
CR Categories and Subject Descriptors: G.I.1 [Nume~'ieal some undesirable side effects which give the animation a
Analysis]: Interpolation - spline and piecewise polynomial mechanical look, often referred to as the "computer signature."
interpolation; 1 . 3 . 5 [Computer Graphics]: Computational The most objectionable characteristic of this type of animation
Geometry and Object Modeling - curve, surface, solid and is the lack of smoothness in the motion. The key frames may be
object representations; 1.3.7 [Computer Graphics]: Three- clearly visible in the animation because of sudden changes in the
Dimensional Graphics and Realism - animation. direction of motion (Figure 1).

General Terms: algorithms key 1 key 3


[] []
Additional Key Words and Phrases: key frames, inbetweening,
bias, continuity, tension
• °

[]
key 2

Figure 1. Discontinuityin directionwith linear interpolation

Discontinuities in the speed of motion may also be visible with


Permission to copy without fee all or part of this material is granted
provided that the copies are not made or distributed for direct linear interpolation, for example when the animator requests a
commercial advantage, the ACM copyright notice and the title of the different number of frames between successive keys (Figure 2).
publication and its date appear, and notice is given that copying is by
permission of the Association for Computing Machinery. To copy
otherwise, or to republish, requires a fee and/or specific permission. [] . . . . . . . . . . [] . . . . . []
key 1 key 2 key 3

© 1984 ACM 0-89791-138-5/84/007/0033 $00.75 Figure 2. Discontinuityin speedwith linear interpolation

33
@SIGGRAPH'84
i

A third common problem is distortion, which may occur on the interval between the i th and i + 1 st key frames. The
whenever the movement has a rotational component (Figure 3). positions of the inbetween frames which will correspond to the
key position in question, then, will be P(s) for
s =A,2.A, ... 1--Afor
key 1
t, = ! + l
N~

where Ni is the number of inbetweens to be generated between


the key frame containing Pi and the key frame containing PJ+I.
Polynomials are a natural choice for the smooth functions
because of their simplicity, but using a single interpolating
polynomial of high degree for the entire sequence could result in
motion which oscillates about the path we expect the animation
to follow. A more "natural" fit of the key positions can be
obtained by interpolating them with a cubic spline, a curve
[] [] key 2 consisting of a succession of different cubic polynomial segments
which are joined together with certain continuity constraints.
Figure 3. Distortionin length when rotation is simulated linearly. Each cubic polynomial extends between two key positions
and is uniquely defined by four coefficients which we can
In view of these serious drawbacks of linear interpolation, a
determine from four independent constraints. Two constraints
number of different methods which produce smoother motion
are given directly by the interpolation conditions: the spline
have been published. These techniques include P-curves [1],
segment must pass through the key positions at the start and the
skeletons [6], action overlap [11], and moving point constraints
end of the interval. This leaves two free constraints which we
[9]. All of these techniques require the animator to specify
can choose. The choice which defines the most commonly used
additional information other than just the key frames. A
form of cubic spline imposes first and second derivative
completely automatic system which uses only the key positions
continuity at the keys, but this approach is computationally
supplied by the animator was implemented by one of the authors
expensive and quite inflexible. Instead, we choose to specify
[8]. The approach used there was based on fitting a set of
tangent vectors at the two adjacent keys to define each spline
interpolating splines through the key positions, resulting in much
segment. In our notation the tangent vector to the curve we
smoother animation than can be produced with linear
wish to construct through key position Pi is given by
interpolation.
{dxdydz)
Dr =' ~s ' ds ' ds
2. Interpolating Splines
NO conditions will be imposed on second derivatives.
We assume that each of the objects in the i th key frame in
a sequence can be described by a collection of points. (As an By default, we determine appropriate tangent vectors from
example, the two designated endpoints of the line segment in the geometry of the surrounding keys. This approach can be
key 1 shown in Figure 3 completely define the segment.) We generalized to produce a very flexible class of cubic splines by
assume that to each point in one key frame there will be a the introduction of control parameters which modify the length
corresponding point in all other key frames of a motion and direction of the tangent vectors.
sequence. (For example, the same two endpoints reappear in Any cubic polynomial can be expressed as a scaled sum of
key 2 of Figure 3 to specify a later position of the Hne four basis functions. Frequently these functions are taken to be
segment.) These assumptions are not as restrictive as they may the monomials s 3, s 2, s, 1, however, for our purposes the
appear to be. Even quite complicated curved objects can be H e r m i t e interpolation basis functions shown in Figure 4 are
more useful.

11/
expressed in terms of small numbers of control points using the
techniques described in, for example, [7]. For the purposes of
the discussion, w e w i l l fix our attention on one such point, 1
designated P~ and referred to as the key position, in the i th key
frame:
Pi = (xi,Yi,Zi)
(We will carry on the discussion in terms of 3-D animation.)
Given a sequence of corresponding key positions, 1 I 1

" ,P~-I,P~,P~+1, ""


hi(s) = 2 s 3 - - 3 s 2 + l h2(s ) = -- 2s 3 + 3s 2

we want to interpolate them using a simple smooth curve. For


sufficient generality to handle the multi-valued case, all curves
will be treated parametrically as
P(s) = ( x ( s ) , y ( s ) , z ( s ) )
where s varies from 0 to 1 between each two key frames. Thus,
we want to find smooth functions x(s), y(s), and z(s) so that, for
example,
h3(s ) = s 3 - - 2 s 2 + s h4(s ) = s 3 - - s 2
P(O) = (x(O),y(O),z(O)) = ( x i , y i , z i ) = Pi
and Figure 4. Basisfunctionsfor Hermite interpolation.
P(I) = ( x ( l ) , y ( 1 ) , z ( 1 ) ) ~ (xi+|,yi+l,2i+l) = Pi+l

34
Computer Graphics Volume18, Number 3 July 1984

These functions have the following convenient properties:

hi h2 h3 h4
function value at s = 0 1 0 0 0
1 1
function value at s = 1 0 1 0 0
derivative at s = 0 0 0 1 0
derivative at s = 1 0 0 0 1 Equation 3. The Catmull-Rom spline.

Note that h l alone determines the function value of the


composite cubic at the start of the interval. Therefore, h l can
be scaled with a coefficient of Pi to obtain the desired point P~ which is simply the average of the source chord P i - Pi-l and
at s ~ 0 . Similarly, h2 can be scaled with Pt+l. The derivative the destination chord P i + l - Pi. The technique presented in this
of the composite cubic is determined by h 3 at the start and by paper uses this average of adjacent chords as the default tangent
h4 at the end of the interval, therefore Dr and D~+l, the desired vector. Thus our default spline, even though formulated
derivatives at the interval ends, can be used as scaling factors differently, is exactly the Catmull-Rom spline (Figure 5).
for h 3 and h4. These observations lead to a triplet of cubic
polynomials given by

p(s) = (x(s),y(s),z(s))

= Pi.hl(S) + Pi+l'hz(s) + Di.h3(s ) + Di+l.ha(s )


Equation l. Parametric cubic curve using the h basis.

In matrix form this expression reduces to

P(s) = s-h.C

[$3S2S1] " --3


00
221,i 3 --2 --1
l 0IDI
Pi+l 1
1
1 0 0 0 Di+l

Equation 2. Matrix format for parametric cubics using the h basis.


Figure 5. The Catmull-Rom spline.
Note that the vector s only changes from one frame in the
animation to the next. Within a given frame it applies to the x,
y, and z components of all key positions which are being
At the beginning of a motion sequence some arbitrary choice for
interpolated. The matrix h contains the coefficients of the
the source chord (e.g. (0,0,0)) must be made. Similarly, the
Hermite interpolation basis functions and is therefore constant
destination chord must be specified arbitrarily at the end of the
for all frames and all key positions. In practice, s.h is calculated
sequence. Alternatively a specification of the tangent beginning
only once per frame. By contrast, each C, which is a 4×3
and ending vectors can be made without regard to any chords.
matrix, corresponds to a single key position and is independent
Setting D = (0,0,0) was tried with some success in [8].
of the C associated with any of the other key positions being
interpolated. It does not change from one frame to another A "standard" smooth motion through a given set of keys
(except at a key frame), and the independence implies that all does not always produce the effect desired by the animator. In
key positions can be interpolated "in parallel". certain cases he may want the motion to follow a wider, more
exaggerated curve, while in other cases he may want the motion
path to be much tighter, maybe almost linear. Even continuity
in the direction and speed of motion is not necessarily desirable
3. A General Class of Interpolating Cubic Splines at all times. Animating a bouncing ball, for example, actually
Using this formulation as a framework, the remaining open requires the introduction of a discontinuity in the motion at the
question is how to find "appropriate" values for the components point of impact.
of D i and Dr+l, the tangent vectors at the key positions, needed The research described in this paper replaces the standard
to fully specify P(s). [10] describes the approach used for a interpolating spline used in [8] by a highly flexible class of cubic
class of cubic splines which are commonly called cardinal splines which interpolate the same key positions but vary in
splines. Even though cardinal splines are not usually formulated several control parameters. These three parameters, tension,
in terms of the Hermite interpolation basis functions, the continuity and bias. allow the animator to fine-tune the
tangent vectors at the key positions are used to constrain the animated sequence by changing certain characteristics of the
cubic segments. The tangent vector at P~ is calculated as "standard" interpolating spline either locally (applying only in
Dr = a'(Pi+l--Pi-O, where a is a constant which affects the the vicinity of a specific key frame), or globally (applying to the
tightness of the curve. A particular example of this class of entire motion sequence). The introduction of these three control
splines is the Catmull-Rom spline for which a = + . Thus the parameters produces a highly flexible class of interpolating
cubic splines which include the cardinal splines as a proper
tangent vector for the Catmull-Rom spline is
subset.

35
@SIGGRAPH'84

The concepts of tension and bias have been introduced Tension is implemented as a scale factor which changes the
before in connection with approximating splines in [2], [3], [4]. length of both the incoming and outgoing parts of the tangent
O u r use of the term "bias" is similar to the concept being used vector equally at a key position:
by the authors of these references. The concept of "tension"
which we are using is different, however. Their use of the word
"tension" refers to an effect produced by adjusting the m a t c h
between the second derivatives of adjoining polynomial DSi = DD i 1 ((P~+I--Pi)+(Pi--Pi-~))
= (l--t)'-~-"
segments, and we are exercising control only over first
derivatives. W e are able to produce visually similar effects,
however, and so have chosen to borrow the use of their term. Equation 4. Tension equation.
An excellent introduction to the theory of interpolating and
approximating splines for computer animation can be found in
[10].
The three control parameters tension, continuity, and bias
are introduced by the convention of separating each tangent at For the default curve t = 0 , and the tangent vector is the average
the i th key position into an incoming and an outgoing part, of the two adjacent chords (Figure 8).
respectively the source derivative DS i and the destination
derivative DD~ as indicated in Figure 6.
I
I
I
DSi+ l

DDi DDi + 1
Pi+l

I
DSi I I
I
I I
I I

q~ - TENSION
Figure 6. Incoming and oui.goingtangents of two key positions.

These replace the single derivative D of the C a t m u l l - R o m


1
spline (Equation 3). Furthermore, the average a = ~ - of
Equation 3 is relaxed in favor of a more selective average of the Figure 8. Default tension.
source and destination chord.
I n the following three sections we will treat each of these
three parameters independently of the other two. T h e n the
three will be tied together in a fourth section.

3.1. Tension Increasing the tension to t = 1 reduces the length of the tangent
The tension p a r a m e t e r t controls how sharply the curve vector to zero and thus tightens the curve (Figure 9).
bends at a key position (Figure 7).

TENSION , ~ TENSION

Figure 7. Bending of the curve under various tensions. Figure 9. The effect of increasing the tension parameter.

36
Computer Graphics Volume18, Number 3 July 1984

Reducing the tension to t = - 1 increases the tangent vector to Neither of these approaches is very satisfactory because
twice its default length and produces more slack in the curve the discontinuity cannot be controlled. While it is true that,
(Figure 10). mathematically speaking, a spline's derivative is either
continuous or discontinuous, the artist's view is quite different.
He would like to have more control over continuity than a
simple o n / o f f switch. In fact, from the animator's point of view
two curve segments which have very different tangent vectors at
their joint appear "more discontinuous" than two curve
s e g m e n t s which have fairly similar tangent vectors. This
concept is implemented in our system as a parameter which
controls the continuity/discontinuity at a key position (Figure
12).

l --TENSION

Figure 10. The effect of reducing the tension parameter.

If the same value of t is applied to all key positions in the ~9 TENSION


sequence, varying t generates the entire class of cardinal splines CONTINUITY
1-t
with a = - - 7 - (Figure 11).
Figure 12. The effect of varying the continuity parameter.

A s s u m i n g default tension and using c to denote the continuity


parameter, we allow the source and destination components of
the tangent vector to differ from each other according to:

DSi = [ - ~ - - ~ - ' ( P i - P i - 1 ) + -l' +~ c' ( P i +1 -- p i)J

Equation 5. The "incoming" continuity equation.

Equation 6. The "outgoing" continuity equation.


q) TENSION
Note that with c = 0 (which we use as a default) we obtain
DS i=DDi, which produces a spline with tangent vector
continuity at the keys (Figure 13).
Figure 11. Several tension values applied uniformly to all keys.

The default case (t = 0 ) is equivalent to the C a t m u l l - R o m spline,


1
where a = --.
2

3.2. Continuity
The principal reason for using splines in key frame
animation is to avoid discontinuities in the direction and speed
of motion which are produced by linear interpolation. However,
in animation discontinuities are sometimes necessary to create
realistic effects such as punching, bouncing, etc. A c o m m o n ~9 TENSION
technique to introduce such a discontinuity into an otherwise CONTINUITY
continuous spline is to repeat a key position or to simply
terminate the spline at a key and start an entirely independent
spline to interpolate the next sequence of key frames. Figure 13. Default continuity.

37
~SIGGRAPH'84

As I c I increases, the two tangent vectors become increasingly Looking only at the path of motion, the effects of
distinct. W h e n c = - 1 , the source tangent vector DS~ reduces to increasing the tension or reducing the continuity seem to be
the source chord, and the destination tangent vector DDi is the rather similar (Figures 17 and 18).
destination chord, producing a pronounced corner in the curve
(Figure 14).

~L

(~ TENS[0N

~9 TENSION
l CONTINUITY
(~ EONTINU/TY

Figure 14. The effect of decreasing the continuity parameter. Figure 17. Default tension and continuity.
Going in the opposite direction, at c = l , DS~ = P~+I--P~ and
DDI ~ Pi--Pi_h produces a corner pointing in the opposite
direction (Figure 15).

, ~ TENSION

-- ~ TENSION
........ ' ~ CONTINUITY
, CONTINUITY

Figure 15. The effect of increasing the continuity parameter.


Figure 18. Increasing tension, reducing continuity.

In Figure 16 some results of applying the same value of c to all


However, the motion dynamics are quite different (Figure 19).
key positions are depicted.

I.."-.L
I I~9 TENS[0N

''°" ° I
~9 TENSION
CONTINUITY
CONTINUITY

Figure 16. Several continuity values applied uniformly to all keys. Figure 19. Differences in motion: tension vs. continuity.

38
Computer Graphics Volume18, Number 3 July 1984

Increasing the tension does not introduce discontinuities in the


velocity. Instead the length of the tangent vector, and therefore
the speed, is eventually reduced to zero. By contrast, reducing
the continuity produces an abrupt change in the direction of
motion at the key position while the speed remains constant.
This effect is often necessary to create realistic animation. For
example, to make the movement of a ball careening off a tree
look convincing, the animator must introduce a sharp corner in
the path as the ball hits the tree. Increasing the tension would
produce a corner in the path, but the speed at this corner would
be zero, resulting in a d e c e l e r a t i o n before the ball actually hits.
Reducing the continuity would produce the desired abrupt
change, with the ball altering its direction of motion at the point
~P
of impact without slowing down ahead of time. P TENSION
Generating the appropriate motion dynamics is extremely CONTINUITY
important in animation. If we look only at the motion path, the qP Bins
use of maximum tension appears to generate a discontinuity.
However, this effect is simply a g e o m e t r i c discontinuity. What
Figure 21. Default bias.
is needed in the case of the bali's encounter with the tree is a
p a r a m e t r i c discontinuity, a sudden change in the magnitude
and/or direction of the velocity. This effect cannot be achieved
by changing the tension because the tangevt vector will always
remain continuous under such a change, thus guaranteeing
parametric continuity.

3.3. Bias
The bias parameter b controls the direction of the path as
it passes through a key position (Figure 20).

q? ¢ TENSION
CONTINUITY
, BIR5

Figure 22. Bias set to -1.

whereas with b ~ l it is completely determined by the source


chord (Figure 23).

i TENSION
[~ CONTINUITY
~P , , Bins

Figure 20. The behaviourof a curve under changingbias.

Both incoming and outgoing parts of the tangent are formed as


an average of the incoming and outgoing chords, but the bias
assigns different weights to the two chords when forming the
average. Assuming default tension and continuity (t =c =0), the
tangent vector is given by: P TENSION
CONTINUITY

1+ b 1 ~ 2b.(Pi+l I ~ - BIA5
D S i = DDi = --'-f'-'(Pi--P~-l) +

Equation 7. The bias equation. Figure 23. Bias set to + 1.

Note that with b = 0 the two chords are weighted equally, and The bias parameter easily simulates the traditional animation
we obtain the default spline shown in Figure 21. When b = - - l , effect of following through after an action by "overshooting" the
the tangent vector is completely determined by the destination key position ( b = l ) , or exaggerating a movement by
chord (Figure 22), "undershooting" a key position (b = - 1).

39
@SIGGRAPH'84

3.4. Composite Control 5. Current Experience and Future Developments


Combining the tension, continuity, and bias control The tension, continuity, and bias parameters were designed
parameters we obtain the following general equations for the to correspond closely to traditional animation effects. These
source and destination tangent vectors at the key position P~: ideas were tested and refined using a simple interactive spline
display package. In one test we asked the animators to
interactively modify the three control parameters until a spline
DS i = (1--t)'(1--c)'(l+b) . (pt--pi_l ) passing through a set of key positions looked "natural" to them.
2
We found that most animators left the continuity and bias at
+ (1--t).(l+c)'(l--b) . (PI+I--Pt) their defaults ( c = 0 , b = 0 ) but reduced the tension parameter.
2 The tension values which animators considered to produce a
Equation 8. The "incoming"compositeequation. "natural" looking curve for a given set of keys ranged from -0.1
to -0.4. It was interesting to note that while there was some
disagreement between animators about the "best" tension value,
DDi =
(1-t).(l+c).(l+b)
2
. (PJ-Pi-O each animator was surprisingly consistent in his choice.
These individual preferences are most likely related to
+ (l--t).(1--c).(1--b) . ( P ~ + ~ - - P D differences in personal style. For example, some animators tend
2 to animate movements more tightly (larger tension value) than
Equation 9. The "outgoing"compositeequation. others. This indicates that the tension is especially useful as a
global default parameter which the animator can define
The spline segment between P~ and P~+I can now be defined in according to his style preference. The continuity and bias
terms of Pi, P~+~, D D i, and DS~+~. All inbetween positions parameters are mostly used in a local context, i.e. to achieve a
within this interval can then be generated by using Equation 2, particular effect at a specific key position. In practice, a small
varying the interpolation parameter s from 0 to 1 over the number of parameter combinations will probably be sufficient
interval. for most sequences. Several animators noted that the system
should include but not be limited to a small set of predefined
effects (e.g. "overshoot": t=-0.3, c = 0 , b = 1). They still wanted
4. Adjustments for Parameter Step Size to have the full power and flexibility of the three independent
If we assume default continuity (c = 0) at key P;, the spline parameters available for more advanced users.
segment between Pi and Pi+l should join smoothly with the The algorithm described in this paper is currently being
segment used between Pi-1 and Pi. While this is true when implemented at the National Film Board of Canada (free-form
looking only at the path of the motion, it may not necessarily be drawn 2-D and 2 1/2-D multiplane key frames) and the
true for the speed of motion. The formulas given in Equation 8 University of Waterloo (3-D key positions with skeleton control).
and Equation 9 assume an equal time spacing of key frames, These implementations will be used to test various user interface
implying an equal number of inbetweens within each key strategies for both inexperienced and advanced users.
interval. A problem can exist if the animator requests a
different number of inbetweens for adjacent intervals. Consider
the case where 10 inbetweens are supposed to be generated in 6. Summary
the interval from P,-I to P;, but only 5 inbetweens between Pi
The introduction of tension, continuity, and bias control
and Pt+l as was shown in Figure 2. In the first interval, the step
produces a very general class of interpolating cubic splines. The
size for the interpolation parameter s will be A~ = ~ whereas flexibility which these parameters provide is especially useful in
1 key frame animation, because it allows the animator to adjust
for the second interval the step size will be A2 = ~ . If the
the movement of objects without having to adjust or redraw the
same parametric derivative is used for both splines at P~, these key frames (Figure 24).
different step sizes will cause a discontinuity in the speed of
motion. What is required, if this discontinuity is not intentional,
is a means of making a local adjustment to the interval
separating successive frames before and after the key frame so
that the speed of entry matches the speed of exit. This can be
accomplished by adjusting the specification of the tangent ----T--
vector at the key frame based on the number of inbetweens in -'-'-7---,
the adjacent intervals. In practice this turns out to be very
simple, because we have already made provisions for two
distinct tangent vectors at each key position in order to
accommodate the continuity control parameter. Once the
tangent vectors have been found for an equal number of , --T--
inbetweens in the adjacent intervals, the adjustment required for [
different numbers of inbetweens (N~_~ frames between P~_~ and
Pl followed by Nj frames between P~ and Pt+l) can be made by
weighting the tangent vectors appropriately:
2"Ni-1
adjusted D D j = DDi • - -
Ni-l + Ni
Figure 24. The effect of various parameter settingsused together.
2"Nt
adjusted D S i = DSi • - -
We have provided these control parameters by a simple
Equation 10. Adjustmentfor parameterstepsize. technique of separating the tangent vector at each key frame

40
Computer 6raphics Volume18, Number 3 July 1984

into an incoming and an outgoing part and specifying these parts [8] D. Kochanek, "A Computer System for Smooth Keyframe
as a weighted average of the chords defined by the nearest Animation", MMath Thesis, Department of Computer
neighbor key frames. Our system has the additional benefit that Science, University of Waterloo, Technical Report CS-82-
it can make adjustments to overcome speed discontinuities when 42, December, 1982.
the number of inbetweens is changed between key frames.
[9] W. Reeves, "Inbetweening for Computer Animation
Utilizing Moving Point Constraints", Computer Graphics
(SIGGRAPH "81), 15 (3), pp. 263-269, August, 1981.
7. Acknowledgements
Feedback from animators is particularly important in a [10] A. Smith, "Spline Tutorial Notes - Technical Memo No.
project such as this. We would especially like to thank Robert 77", SIGGRAPH "83 Tutorial Notes: Introduction to
Forget, Rene Jodoin, Daniel Langlois, and Marc Aubry from the Computer Animation, pp. 64-75, July, 1983.
French Animation Studio of the National Film Board of Canada
who as "test users" made many valuable suggestions which [11] M. Tuori, "Tools and Techniques for Computer-aided
helped to clarify and refine our ideas. Animation", MSc Thesis, Department of Computer
Most of the illustrations in this paper are frames from the Science, University of Toronto, 1977.
film "Interpolating Splines with Variable Tension, Continuity,
and Bias" (National Film Board of Canada, 1984). We
gratefully acknowledge the assistance of the Defence and Civil
Institute of Environmental Medicine, Toronto, in the filming of
this production.
This research was supported in part by the National Film
Board of Canada, the National Sciences and Engineering
Research Council of Canada, the Province of Ontario's BILD
program, the University of Waterloo, and the Computer
Graphics Laboratory.

8. Bibliography

[1] R. Baecker, "Interactive Computer-Mediated Animation",


PhD Thesis, MIT, Project MAC Technical Report MAC-
TR-61, 1969.

[21 B. Barsky, "The Beta-spline: A Local Representation Based


on Shape Parameters and Fundamental Geometric
Measures", P h . D . dissertation, Department of Computer
Science, University of Utah, December, 1981.

[3] B. Barsky and J. Beatty, "Local Control of Bias and


Tension in Beta-Splines", Computer Graphics (SIGGRAPH
'83), 17 (3), pp. 193-218, July, 1983.

[41 R. Bartels, J. Beatty, and B. Barsky, "An Introduction to


the Use of Splines in Computer Graphics", Department of
Computer Science, University of Waterloo, TR CS-83-09,
August 1983.

[5] N. Burtnyk and M. Wein, "Computer Generated Key


Frame Animation", Journal of the SMPTE 80, pp. 149-
153, March, 1971.

[61 N. Burtnyk and M. Wein, "Interactive Skeleton


Techniques for Enhancing Motion Dynamics in Key Frame
Animation", Communications of the ACM 19 (10) pp.
564-569, October, 1976.

[7] D. Greenberg, S. Wu, and J. Abel, "An Interactive


Computer Graphics Approach to Surface Representation",
Communications of the ACM 20 (10) pp. 703-712,
October, 1977.

41

You might also like