Group Title: Department of Computer and Information Science and Engineering Technical Reports
Title: Using discrete event modeling for effective computer animation control
Full Citation
Permanent Link:
 Material Information
Title: Using discrete event modeling for effective computer animation control
Alternate Title: Department of Computer and Information Science and Engineering Technical Report
Physical Description: Book
Language: English
Creator: Fishwick, Paul A.
Porr, Hanns-Oskar A.
Publisher: Department of Computer and Information Sciences, University of Florida
Place of Publication: Gainesville, Fla.
Copyright Date: 1991
 Record Information
Bibliographic ID: UF00095055
Volume ID: VID00001
Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.


This item has the following downloads:

199015 ( PDF )

Full Text


Paul A. Fishwick
Hanns-Oskar A. Porr

Dept. of Computer & Information Science
University of Florida
Bldg. CSE, Room 301
Gainesville, FL 32611


Computer animation is a discipline that has tradi-
tional roots within the computer graphics commu-
nity. Our work shows that discrete event methods
within computer simulation can play an importan-
t role in helping to organize animations. We dis-
cuss an animation of several articulated figures the
dining philosophers scenario via the control afford-
ed by discrete event modeling and simulation. We
have found that multiple models consisting of dis-
crete event and continuous components can provide
an easier to understand description of a complex sys-


With the advent of faster scientific workstations, re-
searchers may now obtain real time animation of sim-
ple systems with good graphics rendering for the ob-
jects involved. This represents a significant advance
for scientists since they now can expect excellent vi-
sualization capabilities for physical systems under s-
Within the computer animation and graphics com-
munities, there has been a great deal of interest in
physically based modeling (Badler, Barsky and Zeltzer
1991; Armstrong and Green 1 I-.) for more realistic
motion control of objects. While physically based
modeling has improved the realism associated with
dynamical system renderings at a physical level, there
remains much to be done with respect to controlling,
not only low level motion, but also the high-level in-
teractions associated with complex systems. To take
an example, consider the internal operation of a bank
teller services a line of customers. Physical methods
can be used to control the motions of the customers
and the teller; however, it is useful to have a higher
level model that reflects the dynamic global charac-
teristics of the bank system. A queuing network mod-

el or Petri net model can easily serve in this capacity.
For instance, by linking together a queuing network
model with physical object models, we may simulate
and animate the system at more than than the lowest
abstraction level. Each model level serves to describe
the system at some given level of abstraction.
Badler et al. (1 1 ., 1987) have produced a system
that integrates AI, simulation and animation concept-
s. Tasks are specified in natural language (Gangel
1984; Esakov and Badler 1991; Kalita 1990) and are
used to construct a model for simulation and ani-
mation. Our work most closely resembles Badler's
approach since we are interested in a hierarchical
methodology for computer animation -from natural
language task description down to video frames. Our
current concentration is focused on the use of mul-
tiple mathematical models to drive the animation of
complex systems. We have found that a flexible and
comprehensive multi-model (Fishwick 1988; Fishwick
1991a; Fishwick 1991b) representation is necessary to
control the animation of systems with articulated ob-
jects in a detailed environment.


Table 1 displays a wide variety of simulation model-
ing types available for experimentation. As can be
seen from table 1, discrete event models are dynam-
ical models whose state variables take on a discrete
number of values. While time is continuous in dis-
crete event models, there are also a discrete number
of time changes corresponding to the state changes.
Discrete event modeling is useful for representing a
system's dynamics at a fairly high abstraction level,
and therefore complex systems can be efficiently rep-
resented as a network or hierarchy of discrete even-
t and continuous models (Fishwick 1991a; Fishwick
Key components of systems are well defined in the
systems literature (Singh 1987) and include state,

TR91-005 Computer and Information Sciences, University of Florida

Table 1: Simulation Model Types

Discrete Space Continuous Space
Discrete Time Discrete Time Discrete Time
Difference Equations Difference Equations
(with integer states) (with real states)
Cellular Automata
Finite State Automata
Continuous Time Discrete Event Continuous
Queuing Models Differential Equations
Digital Logic Models

Procedural Graph Declarative Graph
Procedural Graph (stteorened
(object-oriented) (

N Y departure

dt 0 Event Graph
dt -10
& serer free dt =20
tart arriva--- start service-- end service


(Simulation Language)

Figure 1: Different Levels of Barbershop Modeling

event and time. The state of the system represents
the condition of the system objects and varies over
time. Events are specific points in time where the
state changes. Often, events have cognitive associa-
tions; that is, certain state/time pairs denote specific
actions that have natural language equivalents. For
instance, the familiar barbershop model contains en-
tities (people) that move through the system (shop)
using two events: "arrival" and "departure." Fig-
ure 1 displays the process of modeling and simulating
a barbershop. In fig. 1, The input to a simulation
system such as SimPack (Fishwick 1990) is the graph
model specification. Models such as the barber shop
model are constructed from queuing networks, and
queuing networks are a form of procedural, data flow
modeling where the barber (server) accepts entities
(data) that flow through the system. Declarative,
state-oriented modeling is also possible by emphasiz-
ing the current state of the barber or entities. The

top two models in fig. 1 display these two alternative
modeling strategies: data flow vs. state transition.
Given that events demarcate changes in state, we
may form an event graph (fig. 1) that displays the
event precedence in the barbershop. As people arrive
into the stop every ten time units (i.e., dt = 10), they
either (1) begin servicing immediately (if the barber is
not busy), or (2) wait in a first-come first-serve queue
until the barber is free. Servicing takes 20 time units.


A computer animation system enables a user to
change a graphical scene from one instance of time
to the next. The computer then renders (i.e., paints)
the scene and displays all changes in rapid succession
(30 frames/second for video), thereby creating the il-
lusion of motion. The problem of specifying these
"changes" to a computer is called "motion control."
There exist a number of different ways of achieving
control -all of which are capable of creating the
same complex animation. However, some method-
s require less user interaction than others and are,
therefore, more powerful.
The first animation systems were scripted (also
called Actor/Scriptor animation systems), such as
ASAS (Reynolds 1978; Reynolds 1982) or CINEMI-
RA (Thalmann and Magnenat-Thalmann 1 I'.). Al-
though different in implementation, they are all ba-
sically graphical programming languages that encap-
sulate the following format: "From tl to t2 do action
with object."
The next type of animation system to be developed
was the "keyframe" system, as described in (Burtnyk
and Wein 1971; Kochaneck 1982; Gomez 1 I'.). The
keyframe technique is an extension of how tradition-
al cell animation (White 1988) is done in 2D anima-
tion. In cell animation, the most talented artists draw
the figures at "key" positions (ie., start and finish),

TR91-005 Computer and Information Sciences, University of Florida

and other animators fill in the in-between pictures.
The same principle holds true in a 3D keyframe ani-
mation system, where the user interactively positions
the figure at key times in the system, and the com-
puter calculates all in-betweens. Usually this is done
by interpolating between the configurations with a s-
pline curve algorithm. The most popular splines in
computer animation are the Catmul-Rom (1974), the
Cardinal (Smith 1983), and the Hermite Spline (Doris
and Kochanek 1984) because, unlike other types, they
actually pass through the control points. At the
present time, keyframe systems are the most wide-
ly used type of animation system.
Since the mid-80s there has been a trend in com-
puter animation to incorporate physical based mod-
eling as it has been used in robotics and other sys-
tem based disciplines into the animation to reduce
the burden on the animator. The objects are giv-
en mass and inertia, then forces and torques are ap-
plied to achieve a certain motion, which usually looks
very realistic. While these systems certainly represen-
t the future, they are still in their experimental stages.
It is often awkward for a human to specify the ani-
mation in terms of physical parameters (Witkin and
Kass 1988; Armstrong and Green 1 '-.). In other in-
stances, a system may have been designed only for
a special case (Bruderlein 1988). Thus, there stil-
1 remains more research to be done in generating an
easy-to-use, general animation system.


Figure 2 displays the order in which we proceed in
integrating our computer simulation with the tradi-
tional keyframe animation system.

Keyframe Files

Model F SIMt LAT State &Event PRpROC
Petrn Net P-- (mlPack)- Trajectories
Tracks w/ Keyframe
JTIL.. Interpolated
J Keyframes "
Script File

Figure 2: Simulation to Animation Pipeline

4.1 Modeling

First we begin with the simulator (stage 1). We use a
set of tools called SimPack. SimPack (Fishwick 1990)
permits the following types of modeling:

Finite state automaton with timed states.

Markov chain modeling.

Queuing networks.

Differential, difference equation and delay differ-
ential equation modeling.

Pulse processes.

Stochastic Petri networks.

Bi-directional message passing networks.

Parallel network simulation with the Linda par-
allel computation model (Gelernter 1 I'-).

For our example, we chose the Petri net modeler.
Petri nets can be thought of as a hybrid between pro-
cedural and declarative modeling as depicted in fig. 1.
In our simulation studies, we have created a two level
timed Petri net to model the behavior of 5 articulated
figures which comprise the dining philosopher's (DP)
A Petri net model of DP is described by Peter-
son (1981). This model represents the concurrency
of "eating" and the resource dependencies for each
philosopher. Note that the places and transitions are
labeled counter-clockwise (using concentric passes) s-
tarting with po and to respectively. We define DP
as a 4-tuple containing places (P), transitions (T),
inputs (I) and outputs (0) as follows:

1. S=< P,T,I,0>
2. P= {P,...,P24}
3. T = {to,...,t19
4. I: T P"
5. 0:T- P"
6. p : P Z+ ,p (pi) = 1 for i E
{0,..., 9}else p(p) 0
7. I(to) {Po, Pl, P2}1,I(tl)= {P2,P3, P4}
8. I(t2)= {p4,5, P6, I(t3) = P6, P7, P
9. I(t4) = {ps,p9,po}
10. I(t5) {Pio}
11. I(t6) ={1},I(t) = 12}
12. I(ts)= {13},I(t9)= {P14
13. 1(to) = {P15}
14. I(tll) = {16}, I(t2)= {P17
15. I(tl3)= {P8},I(t4) = {P19}
16. I(t15) = {P20
17. 1(t16) ={21}, I(t7) ={P22}
18. I(ts)= {p23}, (tl9)= {P24}
19. O(to) = {po}, 0(ti) = {p}l
20. 0(t2) = {12}, (t3) = {13}
21. 0(t4) = {4}
22. 0(t5) = {p}, O(t6) = {16}

TR91-005 Computer and Information Sciences, University of Florida

0(t9) -

{p17}, (ts) ={p1}
={p20}, O(t11) ={p21
{P22}, 0(t13) = {P23}
-P2,P 3, P4, 0(t17) =
- 6, P7, PS, 0(t19) =


Two Petri nets are shown in figures 3 and 4. Fig. 3
displays the higher level net while fig. 4 displays just
the "eating" sub-net that replaces the shaded place
in fig. 3.

Figure 3: Level 1: Five Synchronized Figures







Figure 4: Level 2: The Eating Process Sub-Network

Figures 3 and 4 can be compressed into one net, al-
though it is useful to represent two levels of aggrega-
tion as shown. This model represents the well known
"dining 1plul...-I.. i- problem in operating system-
s literature, although we are using it as a basis for
modeling, and not to solve analytic problems in con-
currency. Each philosopher requires two forks to eat

(no two adjacent philosophers, therefore, may eat si-
multaneously). The tokens within the Petri net rep-
resent the fork resource and general flow of control.
Initially all tokens (or "markers") start out in the
center of of the net in fig. 3. Then, two philosophers
grab their respective fork pairs the proceed to eat at
some rate defined by the modeler.
The total action of any single philosopher is a pe-
riod of eating followed by a period of rest. The eat-
ing process is shown in the first three transitions and
places of fig. 4. If we consider the subprocess for the
first philosopher (starting with to) then the transi-
tions fired while eating for level 2 (ref. fig. 4) are: to,
t5 and t10. The eating process is described by three

1. EATING1: The right hand is half way between
the table and mouth. See figure 6. Example:
transition to.

2. EATING2: The right hand is at the mouth. See
figure 7. Example: transition ts.

3. EATING1: See fig. 6. Example: transition tlo.

The resting process (RESTING) is represented by a
single net transition (example: transition t15). The
resting configuration is shown in figure 5.

4.2 State and Event Trajectories

In fig. 2 we note that the model is input to the ap-
propriate simulator in SimPack. Our Petri net model
is simulated for some period of time; each transition
can be arbitrarily set to some AT. The output from
the simulation is a single file consisting of a sequence
of 3-tuples, as the following example illustrates:

. .
. .

tuples deleted
tuples deleted

The meaning of the individual fields in a tuple is as

1. The time when the respective event (node firing)
is to take place. An integer time is used here, as
it corresponds directly to the frame number in
the animation.

TR91-005 Computer and Information Sciences, University of Florida

2. The animation object associated with the even-
t. In this example, the object is one of the five
philosophers (manl man5).

3. The event to take place. This event correspond-
s to a keyframe as it was defined previously in
the animation program. For this particular an-
imation, we used three keyframes to represent
the eating sequence (EATING1 EATING2 -
EATING1) and one keyframe for the period of
rest (RESTING).

Note that we do not have to create keyframes for each
of the five philosophers, which would be a total of 20
keyframes. Rather, we define the sequence in the local
coordinate frame of one generic object. Then, during
the simulation we translate the keyframe to the global
world coordinate of the respective philosopher.
The output from the pre-processor is a file con-
taining the now absolute keyframe descriptions for
the whole animation as it is needed by the animation
program. In the next stage, we use the keyframe an-
imation program to produce the finished animation.

4.3 Geometric Keyframe Modeling

At some point in the modeling process we must cre-
ate geometric models for the philosophers, and a for-
mal specification for the constraints on the articulat-
ed figures. This is done in the XKEY system. XKEY
provides an easy interactive environment for specify-
ing an object's low level positions at each keyframe.
Specifically, XKEY provides:

A capability for loading, storing and creating
Figure 6: Keyframe # 2 Eating Stage 1 (EATING1)
Denavit-Hartenberg notation (1 I,,) which is
used for setting up the articulation linkage and
their associated degrees of freedom (DOF).

An interactive method for moving objects or sub-
objects with respect to their DOF.

A multi-track (Gomez 1 '-.) coordinator that in-
cludes cut, copy and paste of frames.

Cubic spline and linear interpolation of keyframe
DOF variables.

Figure 8 displays the X-window screen for XKEY.
The models used are polygon based, and were cre-
ated by using a CSG (Constructive Solid Geome-
try) approach where spheres are combined to form
the limbs. The skull is the same as used by Zeltzer
Figure 7: Keyframe 3 Eating Stage 2 (EATING2) (1982b; 1982a). The renderer supports Phong shad-
ing, texture/bump/reflection mapping, metal and
spot light effects.

TR91-005 Computer and Information Sciences, University of Florida

object has no parent
leg2 legi pelvis upperbody


.keg> XKEY
.kea> A Keyfrane Rnination Progran 41
.key> (c) Hanns Oskar Porr 1991

xkey> ERROR: ^GFile suing2.rle can not be opened north
xkey> Reading in keyfrane file swing2.key
xkey> Reading in Data File ./nisc/Lrni.dat Zoon In
xkey> Reading in Data File ../nisc/terni.dat est PHNS east
xkey> Tine Line Delta value is nou 10
xkey> MRlRNING: sone keyfranes hlRY nou not get
.key> displayed in the Lineline due Zoon Out
tkea> to tenporal illasing. Check ith south
xkea> Delta Value of 1.

LOAD Tinehne i LUn.UiUIIlkC i

LOAD Tineline 2 1

LORD Tineline 3:]-ME M NlN

Figure 8: XKEY Interface

11 111 1~ II I

3 1~1 I I I I

TR91-005 Computer and Information Sciences, University of Florida

Figure 9: Sample DP Video Frame

4.4 Dynamics and Video

Often, the animation produced by keyframing meth-
ods is not very realistic looking because it is non-
physical in nature. We are currently experimenting
with the implementation of dynamic "filters" to en-
hance the realism. The objects are assigned masses
and inertias, and the algorithm then computes accel-
erations on the spline curve. We are currently inves-
tigating the following three methods:

Constrain the dynamics to follow the spline path
exactly (Girard 1991; Wilhelms 1987).

Constrain the dynamics to follow a path to some
c tolerance. This is often achieved through
the use of spring-like forces attached to the
path(Witkin, Fleischer and Barr 1987).

Constrain dynamics to pass through or near the
keyframe points and use a method such as opti-
mal control to obtain the path achieved by min-
imizing potential energy.

Obtaining fast physical object responses within an
easy-to-use animation system is an active research
The result of our efforts is video footage on a profes-
sional 3/4" video recorder where each frame is stored
one at a time. Figure 9 displays a sample frame from
our DP video footage.


We have demonstrated a method for combining dis-
crete event modeling methods with keyframe comput-
er animation. Our focus has been to study existing
methods in computer simulation that can be used to
aid the graphics community in their search for better
mathematical modeling approaches for complicated
systems. Such systems often contain discrete as well
as continuous components and multiple models must
be used to coordinate or control the animation. With
the increased amount of physically based modeling re-
search in the graphics field, and the tendency toward
more graphical realizations of model execution in the
simulation field, we see a need to integrate method-
ologies from both fields. This research is a small step
in that direction.
One immediate extension of the system that we
are currently working on is to combine the individ-
ual keyframes into a "motion library." Thus, during
the simulation, we can refer to the process simply as
"eating" instead of having to list all the individual
For the future, we plan on building better high-
end simulation modeling tools for combined discrete
event/continuous models, and better low-end tools al-
lowing the analyst to specify kinematic and dynamic
constraints of the systems under study.


Armstrong, W. and Green, M. 1 I-. The Dynamics
of Articulated Rigid Bodies for Purposes of An-
imation. In Graphics Interface '85, pages 407
Badler, N. I., Barsky, B. A., and Zeltzer, D. 1991.
Making Them Move: Mechanics, Control and
Animation of Articulated Figures. Morgan Kauf-
mann, San Mateo, CA.
Badler, N. I., Korein, J., Korein, J., Radack, G., and
Brotman, L. 1 -". Positioning and Animating
Human Figures in a Task-Oriented Environment.
The Visual Computer, 4(1):212 -220.
Badler, N. I., Manoochehri, K., and Walters, G. 1 i.
Articulated Figure Positioning by Multiple Con-
straints. IEEE Computer Graphics and Applica-
tions, 7(6).
Bruderlein, A. 1988. Goal-Directed, Dynamic Ani-
mation of Bipedal Locomotion. Master's thesis,
Simon Fraser University.
Burtnyk, N. and Wein, W. 1971. Computer Gen-
erated Key Frame Animation. Journal of the
I I/PTE 80, pages 149 -143.

TR91-005 Computer and Information Sciences, University of Florida

Catmul, E. and Rom, R. 1974. A Class of Local Inter-
polating Spline. Academic Press, San Franciso.
Denavit, J. and Hartenberg, R. S. 1955. A Kinematic
Notation for Lower Pair Mechanisms Based on
Matrices. Journal of Applied Mechanics, 22:215
Doris, H. and Kochanek, U. 1984. Interpolating S-
plines with Local Tension, Continuity, and Bias
Control. In SIGGRAPH '84, Computer Graph-
ics, volume 18, pages 33 -41.
Esakov, J. and Badler, N. I. 1991. An Architecture for
High Level Human Task Animation Control. In
Fishwick, P. and Modjeski, R., editors, Knowl-
edge Based Simulation: Methodology and Appli-
cation, pages 162 199. Springer Verlag.
Fishwick, Paul A. and Zeigler, B. P. 1991a. A Mul-
timodel Methodology for Qualitative Model En-
gineering. AC if Transactions on Modeling and
Computer Simulation. (submitted for review).
Fishwick, P. A. 1988. The Role of Process Abstrac-
tion in Simulation. IEEE Transactions on Sys-
tems, Man and Cybernetics, 18(1):18 -39.
Fishwick, P. A. 1990. Computer Simulation Model-
ing and Analysis: Methodology and Algorithms.
unpublished simulation course notes.
Fishwick, P. A. 1991b. Heterogeneous Decomposition
and Inter-Level Coupling for Combined Model-
ing. In Winter Simulation Conference. To be
Gangel, J. 1984. A Motion Verb Interface to a Task
Animation System. Master's thesis, University
of Pennsylvania.
Gelernter, D. H. 1 '-. Generative Communication
in Linda. AC if Transactions on Programming
Languages and Systems, 7(1):80 -112.
Girard, M. 1991. Constrained Optimization of Ar-
ticulated Animal Movement in Computer Ani-
mation. In Badler, N. I., Barsky, B. A., and
Zeltzer, D., editors, Making Them Move: Me-
chanics, Control and Animation of Articulated
Figures. Morgan Kaufmann.
Gomez, J. 1 I-. TWIXT: A 3-D Animation System.
Computer & Graphics, 9(3):291 -298.
Kalita, J. 1990. Analysis of a Class of Action Verbs
and Synthesis of Underlying Tasks in an Ani-
mation Environment. PhD thesis, University of
Kochaneck, D. 1982. A Computer System for Smooth
Keyframe Animation. Master's thesis, Universi-
ty of Waterloo. Technical Report CS-82-42.

Peterson, J. L. 1981.
eling of Systems.
Cliffs, N.J.
Reynolds, C. 1978.
World of Actors

Petri Net Theory and the Mod-
Prentice-Hall, Inc., Englewood

Computer Animation in the
and Scripts. Master's thesis,

Reynolds, C. 1982. Computer Animation with Script-
s and Actors. In SIGGRAPH .', Computer
Graphics, volume 16, pages 289 -296.
Singh, M. 1 I'7. Systems and Control Encyclopedia:
Theory, Technology, and Applications. Pergam-
mon Press. (8 Volume set).
Smith, A. 1983. Spline Tutorial Notes Technical
Memo No. 77. AC'M Press.
Thalmann, D. and Magnenat-Thalmann, N. 1 I.
Computer Animation. Springer Verlag.
White, T. 1988. The Animator's Workbook. Bill-
board Publications, Inc.
Wilhelms, J. 1 'I;. Using Dynamic Analysis for Re-
alistic Animation of Articulated Bodies. IEEE
Computer Graphics and Applications, 7:12 -27.
Witkin, A., Fleischer, K., and Barr, A. 1 1 ;. Energy
Constraints on Parameterized Models. In SIG-
GRAPH '87, Computer Graphics, volume 24,
pages 225 -232.
Witkin, A. and Kass, M. 1988. Spacetime Con-
straints. In SIGGRAPH '88, Computer Graph-
ics, volume 22, pages 159 -168.
Zeltzer, D. 1982a. Motor Control Techniques for Fig-
ure Animation. IEEE Computer Graphics and
Applications, 2(9):53 -59.
Zeltzer, D. 1982b. Representation of Complex Ani-
mated Figures. In Graphics Interface .' pages
205 211.


PAUL A. FISHWICK is an associate professor in
the Department of Computer and Information Sci-
ences at the University of Florida. He received the
BS in Mathematics from the Pennsylvania State U-
niversity, MS in Applied Science from the College of
William and Mary, and PhD in Computer and Infor-
mation Science from the University of Pennsylvania in
1986. He also has six years of industrial/government
production and research experience working at New-
port News Shipbuilding and Dry Dock Co. (doing
CAD/CAM parts definition research) and at NASA
Langley Research Center (studying engineering data
base models for structural engineering). His research

TR91-005 Computer and Information Sciences, University of Florida

interests are in computer simulation modeling and
analysis methods for complex systems. He is a mem-
ber of IEEE, IEEE Society for Systems, Man and Cy-
bernetics, IEEE Computer Society, The Society for
Computer Simulation, ACMI and AAAI. Dr. Fish-
wick was chairman of the IEEE Computer Society
technical committee on simulation (TCSIM) for two
years (1988-1990) and he is on the editorial boards
of several journals including the AC if Transactions
on Modeling and Computer Simulation, The Trans-
actions of the Society for Computer Simulation, In-
ternational Journal of Computer Simulation, and the
Journal of Systems Engineering.

HANNS-OSKAR A. PORRis a graduate student
in the Department of Computer and Information Sci-
ences at the University of Florida where he is working
on his Masters Degree. He received the BS in Com-
puter Science from the University of Utah in 1989.
Prior to that he worked as a Computer Graphics Op-
erator for the Electronic Graphics Group, Munich,
West Germany. His research interests are in Com-
puter Graphics (advanced rendering and texturing
algorithms), Computer Animation (high level motion
control) and Robotics. Mr. Porr is a native of Trier,
West Germany.

University of Florida Home Page
© 2004 - 2010 University of Florida George A. Smathers Libraries.
All rights reserved.

Acceptable Use, Copyright, and Disclaimer Statement
Last updated October 10, 2010 - - mvs