Akanksha, Z.Huang,B.Prabhakaran,andC.R.Ruiz, Jr.
SchoolofComputing
NationalUniversityofSingapore
fakanksha, huangzy, prabha, conradodg@comp.nus.edu.s g
Abstract. Computeranimated3Dmodelshavebeenincreasinglyused
inmultimediapresentationsbecausetheycanbeviewedandmanipulated
directlyin3D. Inthis paper, we proposeadatabase approachforthis
problem.Ourmainobjective isto helpauthors createmultimediapre-
sentationsbyreusingexistinganimations.Inourapproach,animations
arestored indatabases. Wedene asetof metadatathat describethe
animations.Authors cansearch onthesedatabases by issuing queries.
Aset ofmotion editingoperationsare denedand usedto manipulate
thequeryresultstocreatenewonesaccordingtotherequirementsofthe
presentations.Wehavedevelopedananimationtoolkitimplementingthe
approachandtheresultsarepromising.
Keywords:Multimediapresentations,animation,database,reuse,meta-
data
1 Introduction
Computeranimated3D modelshavebeen usedincreasinglyin multimediapre-
sentations. Onemainreasonforthisis thatthecomputer animated3Dmodels
can beviewedandmanipulateddirectly in3D.
However,users whorequireanimationsinthepresentationsmaynditdiÆ-
culttoproducethedesiredmotionsequences.Creatinganimationsofgoodqual-
ity needsconsiderable eort of skilled animators, actors, and engineers. Thus,
reusingtheexistinganimationsto createnewonesbecomesanappealingprob-
lem.
The major idea of reusing animations is to adjust the existing motion se-
quences for thenew requirements while at the same time, retain the avor of
theoriginal motion.One methodwas proposed byBruderlin and Williams[3],
who treated motions as signals and applied techniques of signal processing to
adapt them. Avariantof theirmethod, motion-displacementmapping, wasin-
troducedbyPopovicandWitkin[10].OtherworksincludeGleicher[4],Hodgins
[5],andMonzanietal.[9].Allthesemethodsaddressthereuseforaspecictype
of animation and manipulate on low level kinematic or dynamic structures of
geometricmodels.
Usingdatabase in computer animation isnot a new concept.Thalmann et
integrationoftheurbanknowledgeinordertosimulatemorerealisticbehaviors.
Ayadinetal.[1]used databasestoguidethegraspmovementofvirtualactors.
Theirapproachcreatesadatabasebasedondivisionsofthereachablespaceofa
virtualactor.Kakizaki [7]proposedamultimedia presentationframeworkusing
animationdatabases.Itusesascenegraphandananimatedagentinmultimedia
presentations.Themotionoftheagentiscategorizedintothreeclasses:pointing,
moving,andgesturing.Thereuseofanimationhasnotbeenaddressedinanyof
thesethree databasemethods.
OurApproach: Weproposeadatabaseapproachforusinganimationsinmul-
timedia presentations. Themajor contributions include thefollowingtechnical
aspects:
{ Augmented scenegraphs (withthe incorporation ofInterpolator Nodes)as data
structureforrepresentinganimationsof3Dmodels.
{ Asetofmetadatafordescribingtheanimations.
{ Similaritymeasuresforcomputingtherelevancefactorofananimationtoresolve
queriesonthedatabases.
{ Asetofoperationsappliedonthequeryresultsthathelpinreusinganimations.
{ Ananimationtoolkitimplementingtheapproach.
Aspecicarea,where animations can beapplied in a multimediapresenta-
tion,isadocumentproducedforthehearingimpaired. Thetoolkitcan beused
to generate animations of sign language. The sign language can be translated
from theaudioclips.
Wewillfocusonthedatabaseaspectsoftheapproachwithoutthedetailsof
specicanimationtechniques suchas inversekinematics[6,13].Wewillpresent
themseparately.Theremainingpartofthepaperisorganizedas follows:
Section 2 describes the storage of animations as databases. Section 3 dis-
cusses the operations the user can invoke to retrieve, insert, and adjust geo-
metricmodelsand motion,to create ananimation.Section 4 shows, bymeans
of examples,thedierentwaysin which thequeryresults can bemanipulated.
Section 5 brieydescribestheimplementation. Section6 provides a conclusion
oftheworkdoneanddiscusses possibilitiesforfuturework.
2 The Animation Databases
Now, wedescribe howwe organizeanimations as databases. Themajor ideais
to use the augmented scene graphs. A standard scene graph is a hierarchical
structure to describe geometric models. We augment it in order to represent
motion sequences of the geometric models by introducing a new node for the
motion.Wespecifyasetofmetadatatodescribemotionsequencesandgeometric
modelsthatareassociatedwiththeaugmentedscenegraphmodel.Themetadata
isthenorganizedtogetherwithanimationsasarelationaldatabase.Weprovide
a setofoperationsthat canbe usedtoquerytheanimationdatabases.Finally,
thequeryresultscan beadjustedintemporalandspatialdomainsaccording to
Thescene graph was originally designedforreal-time 3Dgraphics systemPer-
former [11]. The Performer scene graph is a tree structure. The nodes in the
treehavedierenttypes.Typically,leavesinthescenegraphrepresentgeomet-
ricmodelsand interiornodesrepresenttransformationobjects.Italsocontains
dataaboutthegeometricmodelsina scene,suchas theirshape,size,colorand
position.Eachpiece ofinformationisstoredasa nodeinthescenegraph.
Ananimationobjectconsistsoftwofundamentalelements:geometricmodels
andtheirmotionsequences.Ageometricmodelisamathematicalrepresentation
of 3Dscenes in theworld.It can be as complexas a human bodymodelcom-
prising sophisticatedshapeswith hundreds ofdegrees of freedom(DOFs). The
motionsequencesrepresentthekinematicinformationof thegeometricmodels.
Atypicalrepresentationiskeyframe.
Torepresentamotionsequenceofaspecicgeometricmodelweincorporate
the motion node: Interpolator. An Interpolator node is associated with a geo-
metricmodelofmultiple DOFs.InanInterpolatornode,keyframesaredened
forallDOFs:fkey[k
1
;k
2
;:::;k
i
;:::;k
m
],keyvalue[v
1
;v
2
;...,v
i
;:::;v
m
]g,wherek
i
isthekeyframenumberor keyframetime.v
i
isavectorinthemotioncongu-
ration space:v
i
=[u
i;1
;u
i;2
;:::;u
i;j
;:::;u
i;n
],where u
i;j
isa key valueof DOFj
(indisplacementfortranslationalDOFsandanglevalueforrotationalDOFs)at
k
i
,and nis thenumberof DOFsofthemodel.Thekeyandkeyvaluetogether
form onemotionsequencefora model.
In our implementation, the scene graph is represented in VRML format.
VRML is a text-basedlanguage used to model virtualenvironments [14]. One
VRML le can be decomposed into many smaller VRML Text Descriptions
whichrepresentindividualgeometricmodelsandmotionsequences.These Text
Descriptions are then storedin the VRMLText table of the database. Thean-
imationobjectsarelinked to theVRMLText table bya Has-Arelationship.In
the caseof geometric models thetable storesthe prototypesand nodes which
areused,whereas, formotionsequencesitcontainstheInterpolatornodesand
EventRouting.
Onesimple exampleofa scenegraphrepresentingananimatedblue cubeis
shown inFigure1 whoseVRMLdescriptionisgivenbelow.
Shape
Appearance Geometry
Material
PositionInterpolator
keyValue key
Fig.1.Anexampleofthescenegraphofananimatedbluecube.Threekeyframesare
geometry Box { size 1 2 3 }
appearance Appearance { material Material { diffuseColor 0 0 1 } }
}
PositionInterpolator {
key [ 0.0 0.5 1.0 ]
keyValue [ 2.0 0.5 2.0, 2.0 0.5 3.0, 2.0 0.5 3.0] }
2.2 Animation Metadataand Database Organization
Metadata is widely used in the query of multimedia databases [2]. We have
denedcontent-descriptivemetadata forgeometricmodelsandtheirmotionse-
quences. Their storage and querying are dealt with in a similar manner. The
queries areperformedbasedonthemetadataandresultinanimationobject(s)
bestmatchingtheuserrequirements.Weconsiderthefollowingtypesofanima-
tionmetadata.
{ Metadatadescribingthegeometric models:Type,Size,Position,Color,andOri-
entation.
{ Metadatadescribingmotioninformation:MotionType,MotionSpeed,StartTime,
EndTime,andStyle.
Fordatabaseorganization,weusearelationaldatabasemanagementsystem,
MS Access, to store theanimation databases. Scene graphs are storedand in-
dexed. The metadata are stored in the elds of the database. (In the current
implementation,themetadataforeachanimationobjectaremanuallyaddedto
the scene graph). By doing it in this manner, wecan use SQL-like queries to
retrieveanimationobjects.Theeldsof thedatabaseforthegeometric models
and themotionsequences areshown in Table1 andTable2,respectively.The
geometric modelsand motionsequencesofeachanimationobjectarestoredin
two separatetables of thedatabase andarelinked bytheObjectIDbeingthe
primarykey.
Table 1.Databaseeldsforageometricmodel.
FieldName Description
ObjectID AuniqueIDforthegeometricmodelanditsmotionsequences
CategoryID AuniqueIDofthecategorythegeometricmodelbelongsto
ModelName Thenameofthegeometricmodel
ModelType Thetypeofthegeometricmodel
Size Thescalingfactorofthegeometricmodel
Position Thelocationofthegeometricmodel
Color Thecolorofthegeometricmodel
ModelTextID TheuniqueIDlinkingtotheVRMLTextDescription
FieldName Description
ObjectID AuniqueIDforthegeometricmodelanditsmotionsequences
MotionName Thenameofthemotionsequence
MotionType Thetypeofthemotionsequence
MotionSpeed Thespeedofthemotionsequence
StartTime Motionstartingtimesequence
EndTime Motionendingtimesequence
Style Motionstyle,e.g.,brisk
MotionTextID TheuniqueIDlinkingtotheVRMLTextDescription
Besidesthegeometricmodeltableandthemotionsequencetable,thescene
alsohasitstable in thedatabase,whichis linkedtothegeometric modeltable
by a Has-A relationship. Models are also linked to a Model Component table
whichlinksrecordsonthemodeltabletoothermodelsifitisacomplexmodel.
A complexmodel is made up of simple models (or atomic models). Here also
thereexistsaHas-Arelationship.Wealsohaveacategoryclassandeachmodel
belongstoacertaincategory.InourdatabasethemodeltableislinkedbyanIs-
Arelationshiptothecategorytable.Generallyrelationaldatabasesaredesigned
basedonanEntity-Relation(ER)diagram. TheERdiagramofourframework
isgivenin Figure2.
Metadata
Name Metadata N
1
Category
Scene
1 Has-A
Is-A
Has-A 1
1
1 Object ID
Category ID
Category ID Has-A
N 1
VRML Text Text ID Text Description Has-A
Motion Object ID Name Metadata
1
1 Metadata
Scene ID
1 1 Model
Fig.2.TheERdiagramofRDBSforthescenegraph.
Usingthisdesignwecanindexthedatabasebypropagatingthemetadataof
theanimationobjectsupward,thusascenewouldhaveallthemetadataforits
found.Analternativeisbyusingcategoriesasindexes,whereanimationobjects
orscenesarealsoassignedcategories.
A queryon the animationdatabase is resolved bymaking use of a generic
multi-attributeequation to compute therelevanceof each motion sequence. A
recordsatisesthequeryontheconditionthattherelevanceisequaltoorhigher
thanapredened threshold.
SimilaritymeasuresarespeciedfortheMotionType,Style,Interval,Speed,
etc. as well as metadata of the Geometric Models. Conceptually, a similarity
measure SIM(i;q;k) (normalized) is the similarity of an animation A
i , with
queryq, basedonmetadatak.It willbe 0 ifkdoesnotoccur inthemetadata
of A
i
.The highertheoccurrencerateand thecloserthevalues are, thehigher
thesimilaritymeasure.
Theoverallsimilaritymeasureistheweightedsumoftheindividualsimilarity
measures. Theweightshavea signicant eectontheoutcome ofa query. For
an animation, default weights are assigned based on the relative diÆculty of
readjustment of the metadata, such that the summation of weights is 1. The
userhasanoption tochangetheweightsifrequired.
Table3depictsanexampleofqueryresultswhenauserperformsthefollow-
ing query: Motion Type:running; Motion Style: normal;Motion Interval: 0-5;
MotionSpeed:5.Givena thresholdvalueof0.5,onlythetopthreerecordswill
beretrieved.
Table3.Therelevancescoringforamultipleresultquery.
RankType Style StartTimeEndTimeSpeed ID Score
1 Run fast 15 25 5 Nancy 0.60
2 Run happily 0 20 2.5 Girl 0.50
3 Run merrily 0 5 2.5 Nancy 0.65
4 Walk normal 0 10 10 Andy 0.45
5 Wave normal 6 18 15 Andy 0.42
6 Walk sluggish 5 10 12 Man 0.24
3 Operations for Reusing Animations
Thissectiondiscussestheoperationsausercaninvoketoretrieve,insert,andad-
justanimationobjectstoscenegraphsinordertocreateanewmotionsequence.
These operationsare performed on the output of a user query. Themetadata
areused toadjust thequeriedresults fora newanimation.Theoperationscan
be divided into three categories: spatial operations, temporal operations, and
Spatialoperationsonmotionsequencesinvolvechanging theposition,size, and
orientation ofgeometricmodels.Theoperationsused to queryand manipulate
thespatialattributesofananimation,areasfollows:
1. InsertOperation:thisoperationinsertsageometricmodelintoasceneunderspec-
ied conditions. Theuser caninclude the new x,y,z coordinates of the model,
and/orthetimeframewhenthemodelwillbeshown.
2. DeleteOperation:thisoperationdeletesageometricmodelfromascene.Thiscan
helptheusereliminateunnecessarymodelsfromaretrievedresult.
3. ExtractOperation:thisoperationextractsageometricmodelfromascene.Itcould
alsobeusedtoextractanatomicgeometricmodelfromacomplexmodel.
4. EditOperation:thisoperationeditsthemetadataofageometricmodel.Theuser
canedittheposition,size,andorientationofthemodel.
3.2 Temporal Operations
Motionisanintegralpartofanyanimations.Temporaloperationshelpinretar-
geting motionfor newcharacters and scenes. Theoperationsformanipulating
motionareuse,get,anddisregard.
1. UseOperation:thisoperation utilizes amotionto acharacter.Wehaveadapted
themotion-mappingapproachtore-useexistingmotiontoothermodels.Theuser
mapstheinterpolatorpointsofthemotiontothejointsofthegeometricmodelto
beappliedto.
2. GetOperation:thisoperationextractsmotionfromacharacter.Inascenegraph,
motionisdenedbykeyframeanimationandbythenodes:OrientationInterpolator
and PositionInterpolator, among others. We simply search for the interpolators
thatare linkedtothespeciedmodelandcopythekeyframes.
3. Disregard Motion: this operation deletes the motion of a geometricmodel.This
canbe done by searching forthe keyframes that are used onthe modeland by
deletingthem,includingthetimernodethatwasused.
4. Project Operation:this operation projectsa specic timeintervalfroma motion
sequencebasedontheuser'sspeciedconditions.Forexample,iftheuserqueried
andfoundananimationmatchingalltherequirements,exceptfortimeconstraints,
theusermayopttoprojectaportionoftheanimation.
5. Join Operation: the operation allows the user to join two key frame sequences
together.Thisprovidestheuserwiththeabilitytogeneratemorecomplexmotion
fromstandardmotion.Thetimebasewillbeautomaticallyadjusted.
3.3 Motion Adjustment Operations
Inmostcases,whenamotionofageometricmodelisreusedbyanotherone,itis
necessarytoadjustthemotiontothenewscene.Motionisusuallyveryspecic
andhenceweproposeaset ofoperationstohelp theuseradjust themotionto
thekeyframesandcalculatingtheappropriatesubstitutions.
ThecropoperationeditsalltheInterpolatornodes(describedinSubsection2.1)for
aparticularmotion,basedonthecropvalue.Iffallsbetweentwoconsequent
keyframes k
i andk
i+1
,thekeyframesfromk
i+1 to k
m
willbedeleted.Thenew
endingkeyvaluek 0
m
canbecomputedusingthekeyframeinterpolationifitisnot
anexistingone.
2. DuplicateMotion:operation duplicatesthe key framesto expandtheduration of
themotion.Thishelpsiftheuserrequiresthesameanimationaswhatisretrieved
butwithalongerperiod.
TheduplicateoperationadjustsalltheInterpolatornodesforaparticularmotion,
basedontheduplicatevalue.Theoldkeyframeswillbeduplicatedtimes.
3. Change Speed: operation changesthe speedof the motion. It isimplementedby
scaling the key time base, i.e., the period represented in fkey [k
1
;:::;k
m ]g of a
PositionInterpolatornode.Sothedurationofthemotionwillbechanged.Inorder
tokeepthe sameduration, thenew motioncanbe usedinconjunction withthe
previoustwooperations.
4. Retarget:operationallowstheusertoadaptanexistingmotionsequencetomeet
the new constraints.Our current implementation uses inverse kinematics [6,13]
forarticulated 3D models.The position and orientation of the end eectorsare
speciedautomaticallybythenewconstraintsorinteractivelybyusers.Theinverse
kinematicalgorithmcancomputethenewpositionandorientationvaluesofother
internaljointsautomaticallyinrealtime.
Tofacilitateeaseinusingthesystem,aseriesofoperationsisautomatically
generated,dependingonthespecicationsofuserintheAnimationToolkit.The
series isthen applied to thequeryresults to meettherequirements.Theusers
donot needto know theoperationsyntax. Theyinteract with thesystem,via
thetoolkit.
4 Examples of Manipulating the Query Results
Now,wepresentexamples ofusingtheoperationsdescribedinSection3toma-
nipulate the queryresults for reusing animations. Using the operations, three
dierent typesofreuse are possible:adjusting themotionsequence ofa model
(Subsection4.1),applying motiontoa dierentmodelwith asimilar structure
(Subsection 4.2), and generating complexmotion sequences fora model (Sub-
section 4.3). Using our database approach, the resulting motion will take the
avoroftheoriginalones.TogetherwiththeoperationsdenedinSection3,the
followingclausesarealsoused.
FROM:usedtospecifytheleinwhichmotion/modelispresent
TO :used when applyinga motion to a model or inserting a geometricmodel ina
scene
WHERE:usedtospecifytheconditionofthequery
Inthistypeofmotionreuse,themotionneedstobemodied.Forexample,the
user can change the speed of motion and the duration. The modied motion
is applied to the same geometric model that the motionwas applied to previ-
ously. Ina more generalmanner, the usercan adjust motionto meet thenew
constraints. For example, the user wants to adjust an existing wiping motion
to tthenewtable inthescene. Thefollowingoperationscan be applied: EX-
TRACTwoman FROM scene; GET wiping FROM woman; EXTRACTtable
FROM scene; INSERTtable; EDITtable translation(10,5,8); USEwiping TO
woman;RETARGETwiping.Theresultisshown asasnapshot inFigure3.
(a) (b)
Fig.3.Retargetinganexistingmotion tothe newgeometricmodelinthescene: (a)
wipingatable;(b)bendingtowipealowertable.
4.2 Applying Motion to a DierentModel
This typeof reuse is neededin the casewhen themotionand model required,
in thepresentation, arenotavailable inthesamesceneofthedatabase.
For example, the user intends to create an animation of a man walking in
a room. Thequeryresults area room, a walking woman,and a model of man
from threescenesrespectively(Figure4).
To generate the animation, according to the requirements, from the query
results,thefollowingstepswillbeconducted:(1)INSERTthemodelofmaninto
the room, (2) EDIT to make themodelof man wellscaled and located in the
room, (3) EXTRACT the walking motion sequence from the walking woman,
andnally(4) USEthemotionsequenceto themodelofman(Figure5).
Themotionmappingtechniqueweuseis basedontheworkofLeeetal.[8]
and Gleicher [4], without the restriction that the two models should have the
same structures. Since the interpolator nodes of one model can be connected
by the user, using the GUI, to another model it oers much more versatility.
Forexample, thewalking womandescribedin theprevious examplecan bere-
Fig.4.Queryresultsfromthreescenes:(a)aroom;(b) awalkingwoman;(c)aman.
Fig.5.Applyingawalkingsequenceofawomantoman.
structure of both thehuman and thecow, theusercan connect therespective
segmentsofthecowwiththeinterpolatornodesofthewalking woman(Figure
6).
4.3 Generating ComplexMotion Sequences
Complex motion can be derived by combining two or more motion sequences
into a single sequence. The motion sequences may be from a single model or
multiple models. The resulting complex motion may be applied to one of the
original models or to a dierent model. An exampleof complexmotion could
be a man \walking"(lowerbody)and \waving" his hand (upperbody)at the
sametime.InFigure7,thesnapshotsshowtheindividualmotionsequencesand
thenewmotionsequencecreated.Thefollowingoperationsareapplied toreuse
theanimations: GETwalking FROM Andy;GET waving FROM Andy;JOIN
Andy.walking WITHAndy.waving.
5 Implementation
We have developed an animation toolkitbased on the proposed database ap-
Fig.6.Mappingthemotionofawalkingwomantoacow:(a)frame1ofwoman;(b)
frame1ofcow;(c)frame2ofwoman;(d)frame2ofcow.
Fig.7.Ananimationreuseexamplecombiningtwosequences.
for thestorage of theanimations represented in scene graph. The scenegraph
can be renderedby OpenGL Optimizer,IRIS Performer, and VRMLbrowser.
Toparseand browsetheanimationsweused theActiveXobjectWebBrowser,
whichinvokesthedefault webbrowser of thesystemwiththeinstalled VRML
browser, suchas CosmoPlayerorMSVRML viewer.
TheGUIofthesystemusesa MultipleDocumentInterfacewithmenusand
toolbars.ThemajorGUIcomponentsaretheQuery,SceneGraph,VRMLText
Document,andVRMLBrowserwindows.Theusercancreatea newanimation
bychoosing thenewoperationsthroughthemenuor thetoolbar.
6 Conclusion and Future Work
Usinganimations of3Dmodelshasbeenreceivingmore interestinmultimedia
presentations. In this paper, we have addressed this problem by a database
approach. We have implemented an authoring toolkitusing the approach and
ourexperimentalresults arepromising.
Wearestillworkingonauniedmultimediapresentationsystemtointegrate
forusabilitystudy.
Presentlythe toolkitis in the earlystages of development.It is possible to
incorporateastandardformofmetadatadescription,e.g.,XMLatalaterstage.
Wealsowilldothecomparisonstudybetweenourframework andMPEG-4.
7 Acknowledgments
The3Dmodelsofthewoman,theman,andthebarmaidareavailablefromhttp:
//www.ballreich.net,http://www.seamless-solutions.com,andhttp://www.ge-
ometrek.comrespectively.WethanktheanonymousEGMM 2001reviewersfor
thesuggestionstoimprovethepaper.
References
1. Ayadin,Y.,Takahashi,H.andNakajima,M.DatabaseGuidedAnimationofGrasp
MovementforVirtualActors.Proc.MultimediaModeling'97.(1997)213-225
2. Bohm,K.andRawok.T.C.MetadataforMultimediaDocuments.SIGMOD-Record
SpecialIssue onMetadataforDigital Media.Vol.23,No.4,Dec.1994.
3. Bruderlin,A.andWilliams,L.MotionSignalProcessing.Proc.ACMSIGGRAPH
'95.(1995)97-104.
4. Gleicher,M.RetargetingMotionforNewCharacters.Proc.ACMSIGGRAPH'98.
(1998)33-42.
5. Hodgins, J. and Pollard,N. Adapting SimulatedBehaviors For New Characters.
Proc.ACMSIGGRAPH'97.LosAngeles,CA.(1997)153-162.
6. Huang Z.,Boulic R., Magnenat-Thalmann N., and ThalmannD. A multi-sensor
approachforgraspingand3D interaction. Proc.CGI '95.Leeds,UK.(1995)235-
254.
7. Kakizaki, K. Generating the Animation of a 3D Agent from Explanatory Text.
Proc.ACMMM'98.(1998)139-144.
8. Lee,W.M.andLeeM.G. AnAnimationToolkitBasedonMotionMapping. IEEE
Computer GraphicsInternational.(2000)11-17.
9. MonzaniJ.S.,Baerlocher P.,BoulicR.,and ThalmannD. Using anIntermediate
SkeletonandInverseKinematicsforMotionRetargeting.Proc.Eurographics2000.
10. Popovic,Z.andWitkin,A. PhysicallyBasedMotionTransformation. Proc.ACM
SIGGRAPH '99.(1999)11-19.
11. Rohlf J. and Helman J. IRIS Performer: A High Performance Multiprocessing
ToolkitforReal-Time3DGraphics. Proc.ACMSIGGRAPH'95.550-557.
12. Thalmann D., Farenc N., and Boulic R. Virtual Human Life Simulation and
Database:WhyandHow. Proc.InternationalSymposiumonDatabaseApplications
inNon-Traditional Environments(DANTE'99).IEEECSPress,1999.
13. D. Tolani,A. Goswami,and N. Badler. Real-timeinversekinematics techniques
foranthropomorphiclimbs. GraphicalModels62(5),Sept.2000,353-388.
14. The VRMLConsortiumIncorporated. TheVirtual Reality ModelingLanguage.
http://www.vrml.org/Specications/VRML97/. International Standard ISO/IEC