# 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

**0**Bookmarks

**·**

**106**Views

- [Show abstract] [Hide abstract]

**ABSTRACT:**This paper proposes the concept of blending time-dependent varying surfaces, and develops a new method to create a controllable C1 continuous blending surface between primary parametric surfaces whose position and shape change with time. We treat it as a boundary-valued problem defined by the mathematical model of a vectored dynamic fourth-order partial differential equation subjected to time-dependent C1 continuous blending boundary constraints. High performance blending surface generation is achieved through the development of an approximate analytical solution of the mathematical model. We investigate the accuracy and efficiency of the solution, study the effective shape control of the blending surfaces, and apply the obtained solution to tackle surface blending problems. The applications demonstrate that our proposed approach is very effective and efficient in dealing with controllable C1 continuous surface blending between time-dependent varying parametric surfaces.The Visual Computer 06/2012; 28(6-8). · 1.07 Impact Factor - SourceAvailable from: Hassan Ugail
##### Article: Automatic shape optimisation of pharmaceutical tablets using Partial Differential Equations

[Show abstract] [Hide abstract]

**ABSTRACT:**Pharmaceutical tablets have been the most dominant form for drug delivery and most of them are used in the oral administration of drugs. These tablets need to be strong enough so that they can tolerate external stresses. Hence, during the design process, it is important to produce tablets with maximum mechanical strength while conserving the properties of powder form components. The mechanical properties of these tablets are assessed by measuring the tensile strength, which is commonly measured using diametrical or axial compression tests. This work describes the parametric design and optimisation of solid pharmaceutical tablets in cylindrical and spherical shapes, which are obtained using a formulation based on the use of Partial Differential Equations (PDEs) for shape design. The PDE-based formulation is capable of parameterised complex shapes using the information from some boundary curves that describe the shape. It is shown that the optimal design of pharmaceutical tablets with a particular volume and maximum strength can be obtained using an automatic design optimisation which is performed by combining the PDE method and a standard method for numerical optimisation.Computers & Structures 01/2014; 130:1–9. · 2.18 Impact Factor

Page 1

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.

F. Author

first address

Tel.: +123-45-678910

Fax: +123-45-678910

E-mail: fauthor@example.com

S. Author

second address

Keywords First keyword · Second keyword · More

1 Introduction

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 [26]. 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-

less.

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 [18] 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

Page 2

2

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 [19]. 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

missing data.

– A method for learning and tracking human motion

in video [20]. 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 [15]. 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 [32].

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

Page 3

3

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 [16] 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 [23]. 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 [36]. 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

simulation include:

– First attempt for achieving realistic model of a fish

in computer animation [27]. 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

[14]

– Development of computer animation techniques [24].

– The study of social behaviour (prey-predator rela-

tions) ans collision detection using fuzzy logic as

means accelerate the solution of such systems [2].

According to [34], 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.

1.2 Contribution

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

Page 4

4

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

of modelling.

Both, implicit and parametric geometry can be gen-

erated using PDEs. For instance, implicit PDE surfaces

can be utilised for free-form surface construction [4]

noise reduction [31] and image impainting [5]. They are

usually the result from an evolution equation and are

regarded as a collection of points satisfying a given ge-

ometric flow.

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 [6], physics based mod-

els animation ( [25], [7]) and surface sculpting [8].

For the sake of brevity, the reader is referred to [10]

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,

?∂2

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,

∞

?

where,

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

by,

∞

?

∂u2+

∂2

∂v2

?N

X(u, v) = 0,

(1)

X(u, v) = A0(u) +

n=1

[Ancos(nv) + Bnsin(nv)] , (2)

(4)

(5)

Cj(v) = Cj

0+

n=1

?Cj

ncos(nv) + Sj

nsin(nv)?,

(6)

Page 5

5

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) +

M

?

n=1

[Ancos(nv) + Bnsin(nv)]

+ R(u, v),

(7)

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 [35] and [33] 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

21 points.

(8)

Fig. 1 Example of a PDE representation of a surface obtained

by using the biharmonic equation. The spine of the surface is also

outlined.

Previously, the spine has been used as an efficient

method for parameterising complex surfaces as described

in [28]. 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].

2 Methodology

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

Page 6

6

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

accordingly.

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

smoothly.

(a)(b)

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 [13]. 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.

Page 7

7

(a)(b)

Fig. 4 Components of a skeletal system: joints(a), IK handles

(b).

2.2.1 Skinning

Skinning s the process through which the surface repre-

senting a character is bound to the skeletal system [12].

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 [3] 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

movement

Mathematical expressions for defining the position of

the joints in a skeletal for the animation of cyclic hu-

man motion can be found in [1] 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

system.

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

Ty= sin(ωt)

Tz= cos(ωt) ,

(9)

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

(10)

Page 8

8

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

given by,

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 [16] by

?2π

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)

?

,

(12)

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.

Page 9

9

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-

lows:

– 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

surfaces.

– 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-

Page 10

10

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

the figure.

(a) (b)

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 [17].

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-

Page 11

11

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.

Movement FishΩ(u)

0.3u

2π

u

2π

0.1

u

2π

1.0

αφ

π

2

π

2

π

2

0.0

π

2

ω

Anguilliform

Subcarangiform

Carangiform

Thunniform

Thunniform

Eel

Trout

Tropical fish

Shark

Dolphin

1.5

0.75

1.0

0.25

0.75

1.0

2.0

2.0

1.0

1.3

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-

ure 15.

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-

mation.

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.

Page 12

12

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

the future.

4 Conclusions

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

Page 13

13

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

elliptic equation.

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 [14] and the in-

troductionof optimization techniques for the purpose of

controlling the volume of the surface at each frame of

the animation sequence.

References

1. H. Alaskari. Cyclic animation user interface in maya, 2005.

2. G. Allard.

logic. The International Journal of Virtual reality, 6(3):23–

28, 2003.

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.

SIGGRAPH 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–

71, 2005.

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,

2008. ACM.

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,

1998.

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.,

49(1):93–109, 2007.

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

Page 14

14

nal of Visualization and Computer Animation, 10(1):39–54,

1999.

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.,

25(3):881–889, 2006.

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,

2005. ACM.

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,

2003.

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,

1987.

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.

28(6):895–906, 2004.

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,

2004.

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,

2002.

Capturing and animating

Modelling fish

PDE Blending

Computers and Graphics,