Cyclic animation using partial differential equations.
ABSTRACT This work presents an efficient and fast method for achieving cyclic animation using partial differential equations (PDEs).
The boundary-value nature associated with elliptic PDEs offers a fast analytic solution technique for setting up a framework
for this type of animation. The surface of a given character is thus created from a set of pre-determined curves, which are
used as boundary conditions so that a number of PDEs can be solved. Two different approaches to cyclic animation are presented
here. The first of these approaches consists of attaching the set of curves to a skeletal system, which is responsible for
holding the animation for cyclic motions through a set mathematical expressions. The second approach exploits the spine associated
with the analytic solution of the PDE as a driving mechanism to achieve cyclic animation. The spine is also manipulated mathematically.
In the interest of illustrating both approaches, the first one has been implemented within a framework related to cyclic motions
inherent to human-like characters. Spine-based animation is illustrated by modelling the undulatory movement observed in fish
when swimming. The proposed method is fast and accurate. Additionally, the animation can be either used in the PDE-based surface
representation of the model or transferred to the original mesh model by means of a point to point map. Thus, the user is
offered with the choice of using either of these two animation representations of the same object, the selection depends on
the computing resources such as storage and memory capacity associated with each particular application.
KeywordsCyclic animation-PDE method-spine based animation
- SourceAvailable from: psu.edu[show abstract] [hide abstract]
ABSTRACT: Animating an articulated 3D character currently requires manual rigging to specify its internal skeletal structure and to define how the input motion deforms its surface. We present a method for animating characters automatically. Given a static character mesh and a generic skeleton, our method adapts the skeleton to the character and attaches it to the surface, allowing skeletal motion data to animate the character. Because a single skeleton can be used with a wide range of characters, our method, in conjunction with a library of motions for a few skeletons, enables a user-friendly animation system for novices and children. Our prototype implementation, called Pinocchio, typically takes under a minute to rig a character on a modern midrange PC.ACM Trans. Graph. 01/2007; 26:72.
- [show abstract] [hide abstract]
ABSTRACT: A method is proposed for representing surfaces as solutions to partial differential equations. It is shown, by examples from the field of blend generation, that the method can easily achieve the required degree of continuity between the blend and the surfaces to which it attaches. The surfaces also have the property of being geometrically ‘well-behaved’.Computer-Aided Design. 01/1989;
The Visual Computer manuscript No.
(will be inserted by the editor)
Cyclic animation using Partial Differential Equations
G. Gonz´ alez Castro · M. Athanasopoulos · H. Ugail
Received: October 29, 2009/ Accepted: date
Abstract This work presents an efficient and fast method
for achieving cyclic animation using Partial Differential
Equations (PDEs). The boundary-value nature associ-
ated with elliptic PDEs offers a fast analytic solution
technique for setting up a framework for this type of
animation. The surface of a given character is thus cre-
ated from a set of pre-determined curves, which are
used as boundary conditions so that a number of PDEs
can be solved. Two different approaches to cyclic ani-
mation are presented here. The first consists of using
attaching the set of curves to a skeletal system hold-
ing the animation for cyclic motions linked to a set
mathematical expressions, the second one exploits the
spine associated with the analytic solution of the PDE
as a driving mechanism to achieve cyclic animation,
which is also manipulated mathematically. The first of
these approaches is implemented within a framework
related to cyclic motions inherent to human-like char-
acters, whereas the spine-based approach is focused on
modelling the undulatory movement observed in fish
when swimming. The proposed method is fast and ac-
curate. Additionally, the animation can be either used
in the PDE-based surface representation of the model
or transferred to the original mesh model by means of
a point to point map. Thus, the user is offered with
the choice of using either of these two animation repre-
sentations of the same object, the selection depends on
the computing resources such as storage and memory
capacity associated with each particular application.
Keywords First keyword · Second keyword · More
Cyclic animation is a loopable animation of a charac-
ter repeating an action that can be used to move a
character along a path easily and realistically. In other
words, A cyclic animation involves the construction of
a sequence of frames that can be used for repetitive
motions . Thus, the animator can save time by ani-
mating a single cycle, rather than manually animating
every footstep. This technique is ideal for repetitive mo-
tions, such as a character walking, running, dancing or
swimming. For instance, a walking cycle is composed of
taking a step forward with one foot and then another
step with the other foot, creating a loop such that when
the sequence is repeated, the resulting motion is seam-
Generally, this type of animations is obtained by ad-
justing a skeleton system to a given model which will
be responsible for storing and manipulating the frame
sequence. This technique, often referred as rigging, uses
several ”bones” or joints connected to each other to con-
trol the overall movement of the skeleton. The motion
of this skeleton is generally created manually by posi-
tioning the handles controlling the joints to different
key poses. Afterwards, several interpolation techniques
can be applied to generate the in-between positions. For
further information on these techniques, the reader is
referred to  where such techniques are explained in
detail. It is worth mentioning that the movement of the
joints can also be controlled by applying a suitable set
of mathematical expressions. These mathematical ex-
pressions are chosen so that the generated animation
simulates realistic movement. The work presented here
makes use of mathematical expressions to control the
attributes of the objects.
After assigning and designing the motion over the
skeletal system, this structure is attached to a single
mesh object, which is deformed according to the motion
embedded in the skeleton. This technique is called skin-
ning and, given that this work exploits the use of PDEs
as a surface generation technique, this work uses PDE
surfaces attached to the skeletal system. In the inter-
est of illustrating technique proposed here for skeletal
cyclic animation,different movements associated with
humans are employed
Additionally, the use of PDEs for cyclic animation
can be exploited further by taking advantage of the
mathematical properties associated with PDE surfaces
rising from elliptic PDEs: cyclic animation can benefit
from the existence of an analytic expression describing
the spine of a given object. This can be carried out by
manipulating the spine as if it was the skeletal system
driving the animation. Spine based cyclic animation is
studied through the simulation of fish locomotion.
Finally, a point to point map has been developed
to transfer the animation to different objects than can
be either PDE surface representations or complex mesh
models and thus enabling the possibility to have multi-
ple human objects sharing the same animation.
1.1 Related work
Both, human motion and fish locomotion have been
areas attracting the interest of the most diverse dis-
ciplines. Efficient simulation of such movements over
virtual environments has become increasingly demand-
ing in terms of the amount of resources employed and
realism achieved. Given the familiarity we all have with
human cyclic motion, no description of such movement
is included; however, an outline of the work carried out
so far for simulating them is given below.
1.1.1 Human animation
The major problem arising from simulating human cyclic
motions is that of preserving the realism with which
such movements take place. Moreover, faster and more
accurate techniques are in constant demand due to the
advances in technology. Therefore, extensive work has
been undertaken in the area including:
– An automated method for modelling cyclic 3D mo-
tion . This work developed an algorithm enforc-
ing smooth transitions between cycles by operating
in the Fourier domain. The major contribution of
this method A key point in this method consists
of its ability to automatically deal with noise and
– A method for learning and tracking human motion
in video . This technique is capable of convert-
ing large sets of periodic human motion data auto-
matically into cycles. The learned temporal model
provides a prior probability distribution over human
motion that can potentially be used for tracking hu-
man subjects in complex monocular video sequences
and recovering their motion.
– A technique that allows content creators to easily
integrate virtual humans into Web3D virtual envi-
ronments, such as X3D and VRML . This tech-
nique allows the user to interactively integrate vir-
tual humans acting as formal instructors in virtual
environments for learning or training purposes.
– A three layer hierarchical control system for animat-
ing human avatars in 3D virtual environments .
The first layer controls the movement of the avatar’s
joints, the second defines skills or basic behaviors
and the highest layer executes a behaviour-based
script language that can be used to describe stories
to be performed by the avatars.
It is the understanding of the authors that so far,
cyclic human motion has been achieved by using mesh
models exclusively. This may potentially give rise to
modification of the mesh model in order to correct the
shape once it has been animated. Given that it is desir-
able to have control over the shape of the surface once
it has been defined. For that reason, the use of PDE
surfaces gives us the advantage to represent a surface
analytically, thus making the manipulation of that sur-
face fast and accurate.
1.1.2 Fish locomotion
The movement observed by fish when swimming has
captured the attention of different disciplines varying
from biology and fluid mechanics to areas such as robotics
and computer animation. The reasons for which these
disciplines are interested are diverse. For instance, biol-
ogists are interested in how evolutionary aspects have
determined the form of swimming among different types
of aquatic animals. Creative disciplines require to simu-
late as realistically as possible this type of natural phe-
nomena. However, a number of factors affect accuracy
of simulation in areas such as computer graphics and
computer animation. This movement can be divided
into two categories namely the periodic propulsion and
transient movements. The first category is thought to
be responsible for the displacement, whereas the second
one comprises sudden movements generally associated
with abrupt changes on speed and direction, which gen-
erally occur after the sensorial identification of an ob-
stacle and predator or prey accordingly. The full char-
acterization of the undulatory movement observed in
most aquatic animals when swimming has been out-
lined in  associating it as faithfully as possible with
the concepts related to hydromechanics. This work di-
vides the periodic motion observed in aquatic animals
into four categories as follows:
– Anguilliform. This movement is observed in long fish
such as eels and tile-fish and distinguishes from the
others since the whole body length is used through-
out. Additionally, it is considered as the most basic
form of undulatory propulsion.
– Subcarangiform. Trout and cod are examples of fish
possessing this type of movement. This type of move-
ment is considered as an intermediate mode between
the anguilliform and carangiform modes . The
undulatory effect is observed in the posterior region
with the amplitude increasing towards the tail. In
this case the moving region can consist of two thirds
of the length of the fish as maximum.
– Carangiform. Among the fish presenting this kind of
movement pattern can be found sea-bass, barracuda
and gold fish. The main feature characterizing this
movement is the fact that the undulatory nature of
the movement is visible on the posterior half of the
body which may be provoked by the fact that this
part of the body is more flexible than the rest.
– Thunniform. Some of the aquatic animals present-
ing this movement are regarded as the fastest fish.
These fish are characterized by a lunate-shape tail
fin, which is thought to be mainly responsible for
the noticeable increase in speed. The movement of
the body is basically restricted to the tail.
Mathematically, the general nature of the undula-
tory movement has been modelled using a travelling
wave advancing in the opposite direction of movement
from where the four subcategories can be modelled by
adjusting the values of a set of parameters. Addition-
ally, a number of studies have been undertaken in order
to determine how fish locomotion is affected by the hy-
drodynamic effects such as vortex and drag . Some
other disciplines rather far away from biology and fluid
mechanics, have been interested in the qualitative as-
pects of fish locomotion. For instance, the design of
robots capable of swimming so that these robots can
indistinctively merge with some other real fish. Some
of the work carried out in computer aided design and
– First attempt for achieving realistic model of a fish
in computer animation . This work includes as-
pects related to physics, movement, perception and
behaviour and adopts a spring-mass model so that
the undulatory nature of the movement is included.
– Development of virtual reality environments as in
– Development of computer animation techniques .
– The study of social behaviour (prey-predator rela-
tions) ans collision detection using fuzzy logic as
means accelerate the solution of such systems .
According to , the full simulation of the dynam-
ics of the fish model is determined by sixty-nine or-
dinary differential equations modelling the appropriate
muscle contractions responsible for deforming the mesh
model. The system is mainly governed by four springs
called motor controllers and account for the amplitude
and speed of the undulatory movement. Moreover, as
far as we are aware, most of the work carried out so
far in fish animation and virtual reality environments
involving fish locomotion are based on the spring-mass
model as described.
Generally, spring-mass models are solved using nu-
merical techniques such as the semi-implicit Euler method.
Such numerical methods present a tendency to be ei-
ther slow or prone to numerical errors, which may lead
to inaccuracies affecting the geometric model.
Thus, our motivation for this work is to develop a
simple analytic technique for simulation of fish locomo-
tion, which may prove useful in addressing some of the
shortcomings of existing techniques. Hence, a paramet-
ric surface representation of a fish and its corresponding
manipulation are natural candidates to pursue this di-
rection. Analytic solutions to particular elliptic PDEs
may be exploited as a tool for achieving fish locomotion
by taking advantage of their mathematical properties.
This work makes use of PDE based surfaces in cyclic
animation in two different manners. The first uses PDE
surfaces as the skin of a skeletal system, which is respon-
sible for driving the animation. The second one exploits
the spine as means for driving the animation. These two
approaches provide a new perspective to cyclic anima-
tion that addresses some of the problems pertaining to
already existing techniques. Moreover, given that the
analytic solution of the PDE can be use to drive the
animation itself, avoids complicationsinherent to exist-
ing spring-mass models which have to be solved numer-
ically and, as such, are prone to errors. Thus, here we
present a two different application to generate generic
motion for humans and fish locomotion. The resulting
animation can be also transferred to existing mesh mod-
els of the same topology without losing the nature of
the original animation of generated by the correspond-
ing PDE geometry. Thus, the user has the possibility
of choosing between the PDE-based animation or the
one associated with a more complex geometric model
depending on the specific end application and the com-
puting resources available for that application.
This work is organised as follows. The rest of Sec-
tion 1 provides a brief description on the theory assco-
ciated with the solution of the PDEs in use through-
out this work. Section 2 describes the methodology un-
dertaken for both skeletal based animation and spine
driven animation. Section 3 provides details of the pro-
cess of retargeting the animation to a different mesh
model with similar topology. Section 4 presents results
and examples obtained for both approaches. Finally,
Section 5 outlines the conclusions and future directions
in which this work may be continued.
The rest of this work is organized as follows: Sec-
tion 2 describes the modelling technique for producing
cyclic motions of a human body and Section 3. Section
4 presents several examples of various cyclic motions
and finally the conclusions of this work are presented
in Section 5. components, incorporating the applicable
criteria that follow.
1.3 PDEs in Geometric Design
Partial differential equations (PDEs) have been exten-
sively used in computer graphics and computer aided
design for generating and manipulating complex geom-
etry. This kind of geometry is often referred as PDE sur-
faces and is a graphical representation of the solution
to a given PDE. Among the advantages of using PDEs
to generate surfaces over interpolation techniques such
as splines are the significant reduction on the number of
parameters required to generate a complex piece of ge-
ometry. This is because PDE based techniques utilises
the notion of mathematical boundary-value problems.
PDEs enable to unify of geometric and physical aspects
Both, implicit and parametric geometry can be gen-
erated using PDEs. For instance, implicit PDE surfaces
can be utilised for free-form surface construction 
noise reduction  and image impainting . They are
usually the result from an evolution equation and are
regarded as a collection of points satisfying a given ge-
Parametric PDE geometry, on the other hand, re-
sults from the solution to an elliptic PDE in a paramet-
ric domain and represents a powerful geometry genera-
tion technique. Here the discretisation of the operator
associated with the elliptic PDE represents an averag-
ing process of the solution neighbourhood at the PDE
and thus, automatically guarantees a certain degree of
smoothness. The applications that have benefited from
this comprise, surface blending , physics based mod-
els animation ( , ) and surface sculpting .
For the sake of brevity, the reader is referred to 
for more details on the use of PDEs in geometric de-
sign. The mathematical foundations of the generalised
elliptic PDE over a parametric domain are given below.
1.3.1 Generalised elliptic PDEs
Parametric surfaces generated through the use of ellip-
tic PDEs are thought as the solution to such a PDE
in two-dimensional parametric domain which is then
mapped on to a three-dimensional space. The general
form of an 2N-order elliptic PDE is given by,
where X(u, v) represents the function giving rise to the
parametric surface, u and v are the parametric surface
coordinates (which are then mapped onto (x(u,v), y (u,v), z (u,v))
to generate the three-dimensional object), and N ≥
1 determines the order of the PDE.
The general solution to Equation (1) can be written
analytically, provided that the 2N boundary conditions
necessary to find a particular solution to this equation
are periodic. Thus, the solution through separation of
variables can be written as,
A0= a00+ a01u + a02u2+ ... + a0(2N−1)u2N−1, (3)
An= an1eanu+ an2ueanu+ an3e−anu+ an4ue−anu
+ ... + an(2N−3)uN−2eanu+ an(2N−2)uN−1eanu,
+ an(2N−1)uN−2e−anu+ an(2N)uN−1e−anu,
Bn= bn1eanu+ bn2ueanu+ bn3e−anu+ bn4ue−anu
+ ... + bn(2N−3)uN−2eanu+ bn(2N−2)uN−1eanu,
+ bn(2N−1)uN−2e−anu+ bn(2N)uN−1e−anu,
where the vector valued constants aijand bijwith i=1,...,n
and j = 1,...,2N are determined by the specified bound-
ary conditions. Given that the boundary conditions have
been assumed to be periodic, they can be expressed in
terms of a Fourier series. Let Cj(v) represent the bound-
ary conditions for which the solution to Equation gen-
eral wants to be found, its Fourier series is then given
X(u, v) = 0,
X(u, v) = A0(u) +
[Ancos(nv) + Bnsin(nv)] , (2)
Cj(v) = Cj
ncos(nv) + Sj
reducing the problem to three linear systems of alge-
braic equations, which is approximated when the series
is truncated to a finite value M, leading to,
X(u, v) = A0(u) +
[Ancos(nv) + Bnsin(nv)]
+ R(u, v),
where, R(u, v) is a function defined as,
R(u, v) = r1ewu+ r2uewu+ r3e−wu+ r4ue−wu,
+ ... + r2N−3uN−2ewu+ r2N−2uN−1ewu
+ r2N−1uN−2e−wu+ r2NuN−1e−wu,
where w has been conveniently chosen as w = a(M+1).
The vector-valued functions rj, depend on v and
guarantee that the approximate solution satisfies the
original boundary conditions. Each of the components
of these vectors corresponds to a direction in the carte-
sian three-dimensional space.
Equation (7) is then composed mainly of two parts,
one of them is composed of A0(u) fully determined in
Equation (3), which is in fact a polynomial of order
2N − 1 on u. The other part comprises the remaining
terms, which depend on both u and v.
The use of Equation (1) offers a simple yet effective
method for characterizing the spine since it is fully de-
termined in Equation (2). In crude terms, the spine of
an object can be thought as the skeleton or backbone
of the surface. Thus, the term A0in Equation (2) rep-
resents the spine of the object that is being modelled.
The remaining terms in Equation (7) can be consid-
ered as the radial component of the surface since they
determine the distance by which a given point in the
surface is driven away from the spine.
It is important to stress that the use of Equation (1)
as a surface generation technique is not restricted to
periodic boundary conditions since its solution can still
be found numerically. Additionally, a particular case
Equation (1) is that when N = 2, representing the
Biharmonic equation, which is well known in a num-
ber of disciplines such as fluid and solid mechanics and
thus its solution is fully obtained when prescribing four
boundary conditions. Therefore, the order of the PDE
responsible for generating the surface is not restricted.
For instance, the works presented in  and  make
use of a sixth order elliptic PDE to obtain a fast sur-
face generation technique whilst guaranteeing a higher
degree of continuity over the generated surface.
Figure 1 shows an example of a surface generated
using the Biharmonic equation and its corresponding
spine. This surface has been obtained using a mesh grid
21 by 21 points thus, the spine has been computed over
Fig. 1 Example of a PDE representation of a surface obtained
by using the biharmonic equation. The spine of the surface is also
Previously, the spine has been used as an efficient
method for parameterising complex surfaces as described
in . This work uses the spine of the object as an
interactive tool for changing the shape of a given ob-
ject in a fairly intuitive manner. Some other advantages
offered by the use of this particular type of PDE sur-
faces are that this is a fast and accurate method for
representing complex geometries, guarantees smooth-
ness between surface patches, and the resolution with
which the object is displayed can vary according to the
specific needs of the user. Note that the method pre-
sented above is not restricted to model tubular shapes.
Complex geometries are modelled by blending several
surface patches. These patches are blended with the
main body by extracting a suitable blending curve on
the surface describing the length of the fish then, three
additional curves are needed for each of the fins so that
a PDE-based surface can be obtained [29,30].
The procedure for achieving both skeletal based anima-
tion of human motion and spine based animation of fish
locomotion is divided into two stages: construction of
PDE geometry and the corresponding animation. The
first of these stages is carried out in a similar manner
for both procedures. The second stage is the one char-
acterizing each procedure. Moreover, spine based ani-
mation exploits the existence of analytic expression for
the spine associated with the PDE surface as an anima-
tion engine and therefore, the properties of PDE based
surfaces are exploited further. Details on both stages
are given below.
2.1 Construction of PDE geometry
The process of constructing a suitable PDE-based rep-
resentation of a model to be animated can be achieved
by either creating a number of curves denoting the con-
tour of the character within a CAD environment and
then using them as boundary curves to generate the cor-
responding PDE surfaces or by extracting curves from
an existing mesh model of the character and proceed
The PDE surfaces employed in this work were ob-
tained by extracting curves from an existing geometric
model of a human body and some different types of
fish so that they can be animated. These curves were
extracted using Maya software and then exported to a
C++ environment to calculate the corresponding PDE
geometry. These cross-sectional curves are essentially
composed of vertices of the original mesh model so
that the PDE-based surface preserves the realism of
the mesh model as accurately as possible. It is worth
mentioning that more than four curves have to be ex-
tracted from the geometric model in order to obtain a
realistic PDE representation.
Thus, the PDE based geometry representing a hu-
man body is shown in Figure 2. The curves presented
in Figure 2.a were extracted form an already existing
mesh model and then a number of PDE surface patches
were obtained. The resulting PDE based geometry is
presented in Figure 2.b. It is important to stress that
blending between the limbs and the torso has been by
extracting the corresponding blending curve on the sur-
face of the torso so that the limbs could be joined to it
Fig. 2 PDE surface representing a human body: generating
curves(a), resulting PDE surface(b).
Similarly, the PDE based geometry representing a
dolphin was obtained. Figure 3 shows the original ge-
ometric model of a dolphin from which a set of 37
boundary curves has been extracted leading to its cor-
responding PDE surface. Additionally, the spine asso-
ciated with this PDE surface representation is also out-
lined. The original geometric model is composed of 2932
vertices and the PDE configuration has been calculated
over a grid of 41 by 41 points.
Once the PDE based representation of a human
body and different types of fish (these are shown later)
Fig. 3 Original geometric model representing a dolphin, the set
of extracted curves from the original model together with the
resulting PDE surface obtained using Equation (1) with N = 2
and its corresponding spine.
has been obtained, details on how skeletal and spine
based animations were linked to the use of PDE sur-
face representations are given below.
2.2 Skeletal based animation
A skeletal system is composed of a set of bones or joints
that define and control the movement [21, 22]. These
joints are hierarchically organized so that the influence
of manipulating one of these joints has on the remaining
ones is included. For the particular case of human ani-
mation, the skeleton system represents a simplified ver-
sion of the skeleton of a human body. The skeletal sys-
tem shown in Figure 4.a contains the joints and several
controls for different parts of the body, each control can
manipulate the part of the body it is connected with.
Figure 4.b, shows the IK (inverse kinematics) joints and
handles responsible for controlling the animation.
The creation of believable character motion requires
controls based on how real bodies work . For this
purpose, the skeleton needs to be carefully bound with
the model so that the skin determined by the PDE sur-
face. This will blend with the animation as if it had a
real skeleton inside it.
Fig. 4 Components of a skeletal system: joints(a), IK handles
Skinning s the process through which the surface repre-
senting a character is bound to the skeletal system .
The skin in this case consists of the PDE surface rep-
resentation of a human body and needs to be bound to
the skeletal system. To that end the boundary curves
responsible for generating the PDE based surface repre-
sentation of the human body are attached to the skele-
tal system. By skinning an object to a skeleton, the joint
deformations are applied to the skin (surface) and thus
deforming the surface itself. This represents a means
for animating an object through the manipulation of
the skeletal system. Note that the process of fitting the
curves with the joints accurately requires further con-
sideration  since problems may occur if the curves are
not aligned properly with the joints and can result in
unwanted wrapping effects. In this work, this problem
has been addresses by carefully aligning the points rep-
resenting each curve. Figure 5 shows a schematic repre-
sentation of the skinning process. Here, the boundary
curves responsible for generating the PDE have been
bound to the skeletal system.
Once the curves have been attached to the skele-
tal system, it is necessary to create different poses so
that the animation can be produced using interpolation
technique between the poses. These poses can be found
either manually or using mathematical expressions. To
control the movement of each part of the body. This
work makes use of a set of mathematical expression to
create the poses.
2.2.2 Mathematical expressions controlling the
Mathematical expressions for defining the position of
the joints in a skeletal for the animation of cyclic hu-
man motion can be found in  and, for the sake of
brevity, the general idea behind the set of mathemati-
cal expression in the mentioned work is presented here.
Fig. 5 Skinning process. The curves are attached to the skeletal
The general motion of body parts during cyclic mo-
tion is controlled by periodic functions such as sines
and cosines. Let x be a coordinate independent to the
described movement, y the coordinate describing the
height of the human body and z the direction of the
movement itself. Thus, the translation associated with
a given cyclic motion of a given body part is given by
Tz= cos(ωt) ,
where Tyand Tz are functions representing the trans-
lation in y and z respectively, t denotes time and ω the
frequency of the movement. Note that since both direc-
tions are using the same frequency, their speed is also
the same. Some adjustments to simple periodic function
are required and each joint is identified over the system.
For instance the equations modelling the animation of
the right foot are given by
RFy= Ty(H + HR) + HRF
RFz= −Tz(L + LR) ,
where H controls the height of the step and is applied
to both feet, HR and HRF are fine tune parameters
controlling the step height of the right foot and the
initial height of the right foot respectively. Note that
these two parameters are generally set to zero by de-
fault. Similarly, L controls the length of the step and is
applied to both feet whilst LRis a fine tune parameter
adjusting the length of the step given by the right foot
(its default value is set to zero). The negative sign in
the z direction is to ensure that the feet are moving in
opposite directions. Therefore the equations responsi-
ble for modelling the movement of the left foot do not
include this negative sign.
Some of the poses composing the animation cycle
associated with walking are presented in Figure 6.
2.3 Modelling fish locomotion through the PDE spine
As far as spine based animation is concerned, once the
PDE based geometry has been defined and the the spine
of such geometry is identified, the next stage consists of
finding a suitable mathematical relation for modelling
the undulatory character of fish locomotion through the
use of the spine. The mathematical function will be ap-
plied to the spine so that it facilitates the oscillating
effect on the PDE surface. Moreover, it is desired that
the analytic expression provides a certain degree of lib-
erty to the user in the sense that adjusting the model
to a different movement mode should not represent a
burden to the user. For this purpose, different parame-
ters, which can be adjusted at the user’s discretion, are
included in the analytic expression.
The analytic expression used to manipulate the spine,
denoted by Spi(u,t), throughout an animation cycle is
Spi(u,t) = Sporiginal+Ω(u)cos(αu+φ)sin(2πωti),(11)
where Ω(u) determines the amplitude and depends upon
u, φ represents the phase, α denotes the wave number
and ω regulates the frequency of the undulatory move-
ment. The subscript i determines the frame for which
the animation cycle, and ti ∈ [0, 1] is the time asso-
ciated with each respective frame. Notice that u also
requires to be normalised so that its value varies from
0 to 2π.
Equation (11) preserves the undulatory character
inherent to the travelling wave formulation originally
used to simulate fish locomotion and when assigning
some particular values to the former set of parameters.
i.e. Equation (11) represents the travelling wave formu-
lation given in  by
where A(u) is the amplitude, λ is the wave number, ω =
2πf is the pulsation (f representing the frequency) and
t denotes time.
This new formulation can be thought as a cyclic
perturbation of the original position of the spine over a
unit of time. Moreover, this equation can represent any
of the four forms in which the movement observed in
fishes has been classified.
F(u,t) = A(u)sin
λ(u − ωt)
It is important to stress that Equation (11) is re-
sponsible for the animation of the segment of the spine
representing the length of the fish. The remaining seg-
ments of the spine, usually associated with dorsal and
pectoral fins, experiment a displacement since the core
of the surface has been modified the blending curve
has been modified and therefore, the associated surface
patches associated with these regions will require to be
re-calculated on every frame.
Figure 7 illustrates how the spine is modified over
one cycle of the undulatory movement. The horizon-
tal line represents both the initial and final position of
the spine, whereas the remaining outline its position at
different values of t.
Fig. 7 Evolution of the spine over a cycle.
Animation of the PDE surface representation is then
achieved by manipulating the spine associated with the
model to be animated and afterwards adding to each
point in the parametric domain its corresponding orig-
inal radial component accordingly at any given frame.
It is clear that in this formulation conservation of
volume is not guaranteed. However, it is not a cause
for concern since a well chosen set of parameters would
maintain the change of volume within reasonable limits
whilst not compromising the realism of the model and
thus the visual effect of this change of volume would
not be visible to the eye.
Figure 8 shows the original PDE surface represen-
tation of the fish shown in Figure 3 and two differ-
ent frames of the animation cycle. The spine associated
with each of these PDE surfaces has also been outlined
in the figure.
Once an animation cycle consisting of N frames has
been obtained over the PDE surface representation, the
animation can be transferred to either the original mesh
model from where the boundary curves associated with
the PDE surface were extracted or to another mesh
model with the same topology.
Fig. 6 Different stages of an animation cycle for walking.
Fig. 8 PDE surface representations of an eel at different times
over an animation cycle. The starting configuration of the eel and
two different frames are portrayed here. The spines associated
with these surfaces are also shown.
2.4 Motion re-targetting
Motion retargeting techniques consists of simply trans-
ferring existing motions to different target objects in
order to achieve the desired effect. Given that motion
is difficult to generate from scratch using traditional
methods for different characters, the use of existing
motions is a faster alternative to obtain the anima-
tion [9,11]. The process of transferring the animation
from a PDE surface representation to any mesh model
representing the same type of fish is carried out as fol-
– Alignment of the initial PDE surface representation
and the target mesh model in the same initial posi-
tion, that is, key features of the models have to be
positioned so that they nearly overlap. This facili-
tates the mapping correspondence between the two
– Mapping correspondence between models. This pro-
cess consists of associating each point of the mesh
model with the nearest point of the PDE surface
representation in their initial configurations. Thus,
each point in the mesh model is represented on the
PDE surface by a given point in the PDE surface
and it is assumed that this point remain as the clos-
est one to the same particular point at any frame
throughout the animation cycle.
– Animation of the mesh model is carried out by find-
ing the difference between the resulting PDE sur-
face at a given frame and the original one for each
point. Then, this difference is added to each point of
the original mesh model according to the mapping
correspondence previously found. The procedure is
repeated for each frame of the animation cycle.
The advantage of using motion re-targetting when
using PDE based surface representation is that two dif-
ferent representations of the same object can be ani-
mated simultaneously. This provides the user the op-
portunity to choose between a complex or a simplified
representation, depending on storage and memory re-
sources associated with the end application where the
animation is required. Note that the quality of the map-
ping correspondence between the PDE-based represen-
tation and the original mesh model depends on the res-
olution of the grid used to compute the PDE-based rep-
resentation. Thus, using a grid with a similar number
of points to the number of points in the original mesh
will produce an acceptable mapping correspondence.
Figure 9 shows the initial and two additional frames
of the animation cycle for both the PDE surface repre-
sentation and the mesh model from where the boundary
curves were extracted. The animation was transferred
according to the procedure described above.
3 Results and examples
In the interest of illustrating how to obtain different
types of human cyclic motion from the skeletal based
platform developed here, Different types of movement
were modelled. One of the movements that was assessed
was that of running. Figure 10 shows different stages of
a running cycle.
Additionally, the technique proposed here for motion-
retargetting was employed to transfer different anima-
tion sequences from the initial PDE based geometry to
different mesh models with similar topology. Figure 11
shows some examples on how the animation was trans-
ferred from a PDE surface representation of a human
to a mesh model of a man wearing a suit. The PDE
based representations are shown in the left hand side of
Fig. 11 Motion re-targetting from a PDE based representation
to a mesh model with similar topology.
As far as fish locomotion is concerned and given
that the undulatory movement of fish is mainly divided
into four major types, at least one fish representing
each of these categories has been chosen to be mod-
elled and animated in this work. The fish represent-
ing the anguilliform movement is an eel. Fish swim-
ming in subcarangiform are represented by a tropical
fish. The trout has been selected as an suitable exam-
ple of carangiform mode and the dolphin represents a
fish thunniform swimming mode.
Mesh models of these fish have been found in .
Then, a set of boundary curves have been extracted
from each model in order to obtain its respective PDE
surface representation. Figure 12 presents the original
mesh model, the set of extracted boundary curves and
its corresponding PDE surface. The fish selected to rep-
resent this process has been the trout.
Fig. 12 Original mesh model of a trout, extracted boundary
curves and resulting PDE surface representation for a trout.
Once the PDE surface representation of the models
has been found, the spine has been manipulated accord-
ing to Equation (11) and for the purpose of modelling
each category accurately, the parameters in this equa-
tion have been adjusted so that the model is animated
realistically. Table 3 lists the values of all the required
parameters to manipulate the spine according to each
of the fishes modelled in this work. The parameters are:
amplitude Ω(u), wave number α and phase φ.
Thus, the animation of the PDE surface representa-
tion of each fish is obtained over a cycle. The duration of
the cycle has been set equal to one second and twenty-
Fig. 9 PDE surface representation of cylinder and mesh model of the same fish at different times over an animation cycle. The initial
configuration of the fish and two different frames are portrayed here for both the PDE surface and the mesh model.
Fig. 10 Different stages of an animation cycle for runnining.
Table 1 Parameters employed to manipulate the spine of a PDE
surface representing each fish according to its corresponding type
of swimming movement.
four frames have been obtained during each cycle. The
results obtained after animating the PDE surface rep-
resentations of an eel are shown in Figure 13 the first,
sixth, twelfth, eighteenth and last frames are displayed
for these fish.
Then, the animation was transferred to the origi-
nal mesh model representing each fish from which the
boundary curves were extracted by using a mapping
correspondence between the PDE surface representa-
tion and the original mesh model as described before.
Figure 14 and Figure 15 includes frames extracted
from the animation sequence after it was transferred
to the original mesh model. The frame sequence pre-
sented in this figure is the same as the one presented
in Figure 13. However, for the sake of brevity and com-
pleteness, the mesh models representing different types
of fish are used. Thus, the animation of a mesh model
representing a shark is shown in Figure 14, whereas a
tropical fish, a trout and a dolphin are shown in Fig-
It is important to stress that the number of frames
can vary according to the specific needs of the partic-
ular application and can be computed easily thanks to
the analytic nature of the mechanism driving the ani-
A video of these animations sequences has been in-
cluded so that the reader can appreciate the full ani-
mation here for the models presented in this work us-
ing both PDE surfaces and mesh-based representations.
Figure 16 shows some screenshots of such a video show-
ing different types of fish simultaneously.
Fig. 13 Sequence of frames belonging to an animation cycle of PDE surface representation of an eel. The first, the sixth, twelfth,
eighteen and last frame are shown.
Fig. 14 Sequence of frames belonging to an animation cycle of a mesh model representing a shark. The first, the sixth, twelfth,
eighteen and last frame are shown.
Fig. 15 Sequence of frames belonging to an animation cycle of the original mesh models associated with different fishes. The first,
the sixth, twelfth, eighteen and last frame are shown for a tropical fish, a trout and a dolphin on each respective case.
Note that the characteristic undulatory movement
observed in fish when swimming has been modelled in
this work and thus, the reader may have the impression
that the fish is swimming in still water or in vacuum.
At present, the hydrodynamic effects provoked by the
surroundings, such as currents and hydrodynamic drag
have not been considered in this work; however, these
effects can be considered as future directions for con-
tinuing this work. This can be carried out by coupling
the relevant partial differential equations modelling the
surrounding hydrodynamics by either including them
directly into the PDE modeling the surface or by pre-
viously adjusting the generating curves. Moreover, The
change in the direction in which fish swim is thought to
be due to abrupt movements of the lateral fins. The
modeling of such movements is represents a natural
choice for extending this work and has been left for
This work presents a technique for animating cyclic mo-
tions using partial differential equations, since these are
powerful means for parameterizing complex surfaces in
terms of a small set of design parameters. This is stud-
ied under two frameworks: human motion and fish loco-
motion. The first of these frameworks is carried out by
Fig. 16 Sequence of frames belonging to an animation cycle of a video showing different types of fish.
using skeletal based animation whereas the second one
uses the spine of a PDE as an animation tool. The PDE
surface for both frameworks is found using the general
The boundary curves responsible for describing the
geometry were attached to a skeletal system resembling
the human skeleton and then, analytic expressions were
used to manipulate the joints in the skeletal system. By
contrast, spine based animation has been achieved by
manipulating the segment of the spine associated with
the backbone of the fish analytically. The analytic ex-
pression used to characterize the oscillatory nature of
the motion observed in fish when swimming has been
given in terms of a set of parameters that can be var-
ied according to the type of propulsion of a given fish,
leading to realistic animations. The technique proposed
here represents a more reliable alternative than the al-
ready existing spring-mass model since it is faster and
less prone to numerical errors.
The last stage of both frameworks consisted on trans-
ferring the animation from the PDE based geometry to
different mesh models with similar topologies so that
the user could have the ability to choose between the
different models available representing the same geom-
etry according to the storage and memory resources of
the end application.
Future work includes the use of the spine for hu-
man cyclic animation to control the movement without
the need of the skeletal system. Some other future di-
rections for this work comprises the implementation of
virtual environments as considered in  and the in-
troductionof optimization techniques for the purpose of
controlling the volume of the surface at each frame of
the animation sequence.
1. H. Alaskari. Cyclic animation user interface in maya, 2005.
2. G. Allard.
logic. The International Journal of Virtual reality, 6(3):23–
3. I. Baran and J. Popovi´ c. Automatic rigging and animation
of 3d characters. ACM Trans. Graph., 26(3):72, 2007.
4. M. Bertalmio, L. Cheng, S. Osher, and S. Sapiro. Variational
Problems and Partial Differential Equations on Implicit Sur-
faces. J. Comput. Phys., 174(2):759–780, 2001.
5. M. Bertalmio, G. Sapiro, V. Caselles, and C. Ballester. Im-
age Inpainting. pages 417–424, New Orleans, USA, 2000.
6. M. I. G. Bloor and M. J. Wilson. Generating Blend Sur-
faces using Partial Differential Equations. Computer Aided
Design, 21(3):165–171, 1989.
7. H. Du and H. Qin. Dynamic PDE surfaces with flexible and
general geometric constraints. pages 213–222, Hong Kong,
2000b. Pacific Graphics 2000.
8. H. Du and H. Qin. Dynamic PDE-based surface design using
geometric and physical constraints. Graphical Models, 67:43–
9. M. Gleicher. Retargetting motion to new characters. In SIG-
GRAPH ’98: Proceedings of the 25th annual conference on
Computer graphics and interactive techniques, pages 33–42,
New York, NY, USA, 1998. ACM.
10. G. Gonz´ alez Castro, H. Ugail, P. Willis, and I. J. Palmer. A
survey on partial differential equations in geometric design.
Visual Computer, 24:213–225, 2008.
11. C. Hecker, B. Raabe, R. W. Enslow, J. DeWeese, J. Maynard,
and K. van Prooijen. Real-time motion retargeting to highly
varied user-created morphologies. In SIGGRAPH ’08: ACM
SIGGRAPH 2008 papers, pages 1–11, New York, NY, USA,
12. D. L. James and C. D. Twigg. Skinning mesh animations.
In SIGGRAPH ’05: ACM SIGGRAPH 2005 Papers, pages
399–407, New York, NY, USA, 2005. ACM.
13. P. Kalra, N. Magnenat-Thalmann, L. Moccozet, G. Sannier,
A. Aubel, and D. Thalmann. Real-time animation of realistic
virtual humans. IEEE Comput. Graph. Appl., 18(5):42–56,
14. H. Lee, E. Kim, N. Joo, and G. Hur. Development of real time
virtual aquarium system. IJCSNS International Journal of
Computer Science and Network Security, 6(7):58–63, 2006.
15. L. Leronutti and L. Chittaro. Employing virtual humans for
education and training in x3d/vrml worlds. Comput. Educ.,
16. M. J. Lighthill. Hydromechanics of aquatic animal propul-
sion. Annual Review of Fluid Mechanics, 1(1):413–446, 1969.
17. Models. http://toucan.web.infoseek.co.jp, 2008.
18. F. Multon, L. France, M. P. Cani-Gascuel, and G. Debunne.
Computer animation of human walking: a survey. The Jour-
Control of a free-swimming fish using fuzzy
nal of Visualization and Computer Animation, 10(1):39–54,
19. D. Ormoneit, M. J. Black, T. Hastie, and H. Kjellstrom.
Representing cyclic human motion using functional analysis.
IVC, 23(14):1264–1276, 2005.
20. D. Ormoneit, M. J. Black, H. Sidenbladh, and T. Hastie.
Learning and tracking cyclic human motion. Technical re-
port, In A. Kent & C.M. Hall (Eds.) , Encyclopedia of Li-
brary and Information Science, 2001.
21. S. II Park and J. K. Hodgins.
skin deformation in human motion. ACM Trans. Graph.,
22. M. Pratscher, P. Coleman, J. Laszlo, and K. Singh. Outside-
in anatomy based character rigging. In SCA ’05: Proceedings
of the 2005 ACM SIGGRAPH/Eurographics symposium on
Computer animation, pages 329–338, New York, NY, USA,
23. K. Stephens, B. Pham, and A. Wardhani.
behaviour. In GRAPHITE ’03: Proceedings of the 1st inter-
national conference on Computer graphics and interactive
techniques in Australasia and South East Asia, pages 71–78,
24. D. Terzopoulos. Artificial life for computer graphics. Com-
mun. ACM, 42(8):32–42, 1999.
25. D. Terzopoulos, J. Platt, A. Barr, and K. Fleischer. Elasti-
cally Deformable Models. Computer Graphics, 21:205–214,
26. D. Tost and X.Pueyo. Human body animation: a survey. The
Visual Computer, 3(5):254–264, 1988.
27. X. Tu and D. Terzopoulos. Artificial fishes: physics, locomo-
tion, perception, behavior. In SIGGRAPH ’94: Proceedings
of the 21st annual conference on Computer graphics and in-
teractive techniques, pages 43–50. ACM, 1994.
28. H. Ugail. On the Spine of a PDE Surface. In M. J. Wilson
and R. R. Martin, editors, Mathematics of Surfaces, pages
366– 376. Springer, 2003.
29. H. Ugail, M. I. G. Bloor, and M. J. Wilson. Manipulation of
pde surfaces using an interactively defined parameterisation.
Computers & Graphics, 23(4):525–534, 1999.
30. H. Ugail, M. I. G. Bloor, and M. J. Wilson. Techniques for
Interactive Design using the PDE Method. ACM Transac-
tions on Graphics, 18(2):195–212, 1999.
31. G. Xu, Q. Pan, and C. L. Bajaj. Discrete Surface Modelling
Using Partial Differential Equations. Computer Aided Geo-
metric Design, 23:125–145, 2006.
32. X. Yang, D.C. Petriu, T.E. Whalen, and E.M. Petriu. Hier-
archical animation control of avatars in 3d virtual environ-
ments.IEEE Transaction on Instrumentations and Mea-
surements, 54(3):1333–1341, 2005.
33. L. You, P. Comninos, and J. J. Zhang.
Surfaces with C2 Continuity.
34. Q. Yu and D. Terzopoulos. Synthetic motion capture: Im-
plementing an interactive virtual marine world. The Visual
Computer, 15(7/8):377–394, 1999.
35. J. J. Zhang and L. You. Fast Surface Modelling using a
6th Order PDE. Computer Graphics Forum, 23(3):311–320,
36. Q Zhu, M. J. Wolfgang, D. K. P. Yue, and M. S. Triantafyl-
lou. Three-dimensional flow structures and vorticity control
in fish-like swimming. Journal of Fluid Mechanics, 468:1–28,
Capturing and animating
Computers and Graphics,