pump it up: computer animation of a biomechanically based...

Click here to load reader

Upload: dangtruc

Post on 19-Mar-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Computer Graphics, 26,2, July 1992

Pump It Up:Computer Animation of a Biomechanically Based

Model of Muscle Using the Finite Element Method

David T. Chen and David ZeltzerComputer Graphics and Animation Group

The Media LaboratoryMassachusetts Institute of Technology

Cambridge, MA 02139

ABSTRACT

Muscle is the fundamental motor that drives all animalmotion. We propose that changes in shape of moving hu-man and animal figures will be accurately reproduced bysimulating the muscle action and resulting forces that propelthese figures. To test this hypothesis, we developed a novelcomputational model of skeletal muscle. The geometry andunderlying material properties of muscle are captured usingthe finite element method (FEM). A biomechanical modelof muscle action is used to apply non-linear forces to thefinite element mesh nodes. We have tried to validate theFEM model by simulating well known muscle experimentsand plotting out key quantities. Our results indicate that thetwin goals of realistic computer animation and valid biome-chanical simulation of muscle can be met using these meth-ods, providing a principled foundation both for animatorswishing to create anatomically based characters and biome-chanical engineers interested in studying muscle function.

CR Categories: 1.3.7 [Computer Graphics]: Three-Dimensional Graphics and RealismAnimation.

Additional Keywords: finite element method, non-linear dynamics, character animation.

1 INTRODUCTION

Modeling and animation of the human form has long beena research goal in computer graphics. The human figure isan imrrortsmt and ubiquitous exr)ressive tool that we wouldlike t: use in compu~er anima~ions: our bodies transmitinformation about ourselves, and we take cues, both narra-tive and physical, from what is seen of others. The humanbody, however, is a collection of complex rigid and non-rigidcomponents that are difficult to model. Moreover, skeletalmotions of the bodv are well coordinated and subtlv com-. .plex. Muscles change shape due to the dynamic interactionsof contraction and contact. The muscles, in turn, are cov-ered by overlapping layers of living tissue, and modeling theways in which this tissue interfaces to the outside world isalso daunting.

Typically in character animation, only the surface geom-etry is modeled. Here we take a detailed look at modeling

Perrmssiunto copy withou! fee all or part of this material is grantedprovided that the copies are not made or distributed for directcommercial advantage. the ACM copyright notice and the title of thepublication and its date appear. and notice is gvventhat copying is bypermissimr of the Assoeiatiorr for Computing Machinery. Tn COPYotherwise. or 10 republish. requires a fee and/nr specific permission.

the important underlying structures, i.e., muscles and bone.Our immediate research goal is to accurately model indi-vidual three-dimensional muscles. This is a bottom upapproach, but because a physically-based model is created,the results can be applied both to produce realistic-lookinganimations of human characters as well as to help createnew bioengineering applications in which computer graph-ics display is vital. As computer workstations become morepowerful, and rendering and computation times drop, it willbe possible to extend the research results in a consideredand straightforward way. The eventual goal then is not onlycharacter animation but to take a step towards the creationof an artificial person that can repond convincingly as itssimulated muscles are activated.

1.1 Previous WorkThe approaches taken to modeling the shape of the humanfigure include:

1.

2.

3.

geometricrigid links, like bones, in which only thestatic geometry is specified

kinematicthe geometry of a whole limb changes dueto the kinematics of the underlying skeleton

elastic-modeling parts of the body as non-linear visco-elastic-plastic composite materials that change shapedue to the action of forces

For the geometric case, the three methods most commonlyused are polygonal meshes, volume primitives and surfacepatches. Fetter [7] used contours derived from biostereo-metric data to generate the polygons in his Fourth Manand Woman. Human forms from standard volume primi-tives include Badlers Bubbleman [1], made from spheres, orGinsberg and Maxwells cloud figure [16], based on ellip-soids. In these examples, the shape of the limbs does notchange as the character moves.

Examples of kinematic models include that of Komatsu,who parameterized spline patch control points to simulate acontracting biceps as the elbow is bent [14]. Komatsu usedfour major spline patch surfaces to cover the head, chest,abdomen and legs of a skeleton. Chadwick et.al. in [4], gen-eralized this approach by using a layered technique basedon free-form de~ormaiions (FFDs) to apply muscle effectsonto a skeleton. Their model derives the shape of a wholelimb from the kinematic skeletal state. Abstract muscles areparameterized as two sets of FFDs. These FFDs are con-trolled by the skeleton position to simulate the gross effectsof muscle contraction at the bodys surface. A simple elasticmodel based on discretized mass points joined by Hookeansprings can be added on top of this to allow for automaticsquash and stretch of the face or whole limbs.

[o]992 ACM-O-R9791-479-l/92 /W7/00fi9 $01.50 89

SIGGRAPH 92 Chwgo, JUly 26-31, 1992

Elasticl models [23] comprise one form or another of dis-placement analysis of an elastic continuum. This analysiscan be characterized as static or dynamic, linear or non-linear, isotropic or anisotropic, and so on. The particularshape of a deformation is a function of both the internalstresses and strains within the elastic object and the exter-nal forces applied to it. Examples include Gourret [9], whodescribed a system for modeling the human hand with a fi-nit e element volume meshed around bone. He formulatesand solves a set of statics equations for skin deformationbased on bone kinematic and hand/object contact pointsin a grasping task. While bending and flexing of the handflesh is nicely simulated, no muscle ethxts or changes in theunderlying shape are calculated.

Pieper et al. [19] [20], has developed a su~icai simulationsystem that can be used both to create animation of theface and to simulate surgical reconstructions of the face. Heperforms a finite element analysis of the skin arranged asthree different layers of material. Force generating musclesthat control facial expression have also been implemented.Terzopoulos and Waters [22] have constmcted a dynamicmodel of the face for computer rmimation based on a latticeof springs and masses. They too have implemented forcegenerating muscles to provide realistic expressions. This pa-per concerns skeletal muscle, the anatomy for which is dif-ferent than muscles of the face. Skeletal muscle makes upfrom 40 to 45 percent of the total human body weight, sowe expect that our emphasis on modeling this muscle typewill eventually allow us to simulate shape throughout muchof the body.

2 MUSCLE ANATOMY

Muscle connects to bone through tendons, which are bun-dles of connective tissue. These connective tissues are com-posed largely of collagen, a fibrous protein found throughoutthe body. The center part of the muscle can be called thebelly, which is surrounded by a connective tissue sheathcalled the epimysiurn. The tendons are actually continua-tions of these connective tissue sheaths that hold the muscletogether. The angle made by the muscle fibers relative to thetendon is the pennatiora angle. The whole muscle is held inplace within the body by extensive connective tissue layerscalled jascia [13].

The connective tissue also penetrates the muscle and di-vides it longitudinally into groups of muscle fibers known asfasciculi. It is at this level of differentiation that the muscleis supported by capillaries, veins and nerve fibers. Mus-cle fibers come in many lengthssometimes stretching thewhole length of a muscle-and are usually 10 to 100 micronsin dkuneter. The muscle fibers are composed of still smallerelements called myofibrds that run the whole length of thefiber. Each myofibril is about 1 to 2 microns thick. A singlemuscle fiber contains on the order of hundreds to thousandsof myofibrils.

It is at the level of myofibril that a discussion of the con-tractile mechanism for a muscle usually begins. The myofib-ril is made up of sarcomervs arranged in a repeating patternalong its length. This repeating pattern is responsible forthe striations or banding pattern often observed on skele-tal muscles. The sarcomere is the actual functional unit ofcontraction for the muscle. Sarcomeres are short sectionsonly about 1 to 2 microns longthat contract upon suitableexcitation, developing tension along their longitudinal axis.The shortening of a single muscle fiber then is due to theeffect of many sarcomeres shortening in series. A bundle of

*i.e., visco-elastic-plastic models

IDd!2xLu@h

(c)

Figure 1: Tension-length curves. The dotted line shows thele;gth-tension curve ;f the resting muscle. The total forcerecorded on fully activating the muscle is shown by the solidline. The extra force developed on stimulation is shown bythe dashed line. The progression from (a) to (c) results frommuscles with progressively less connective tissue [31.

muscle fibers can be thought to be many of these force gen-erators arranged in parallel. Finally, the combined tensionproduced by bundles of muscle fibers is transmitted to thebones through the network of connective tissue and muscletendons.

2.1 Sliding Filament Theory of ContractionThe discussion above has concerned the more or less macro-scopic properties of muscle force generation. Here we willbriefly touch upon the contractile mechanism within a sin-gle sarcomere. Muscles have been differentiated into at leasteight separate protein structures, of which four play a rolein contraction. The two most important of these are actinand myosin. These two contractile proteins form filamentswithin the sarcomere, and, when viewed in cross section,can be seen to be packed hexagonally, with six thin filamentssurrounding each thick filament. The thick myofilaments aremade of myosin, the thin myofilaments are made of actin.

The idea behind the sliding filament theory of muscle con-traction is that as a muscle fiber shortens, the thin and thickmyofilaments do not themselves get shorter, rather they slideacross each other [11] [12].

2.2 Hills Force Model

One of the simplest kinds of experiments that can be doneto a prepared, isolated whole muscle is to measure the forceoutput as the muscle is stretched through a number of con-stant lengths, see Fig. 1. If this is done with no stimula-tion, then the resulting plot of force or tension to length issaid to represent the passive elastic properties of the mus-cle. This passive tension-length curve has an exponentialshape in which the curve gets steeper and steeper the morethe muscle is elongated. This behavior is very similar to arubber band in which the material can be pulled very easilyuntil it is all stretched out, and then the rubber band canfeel very stiff.

90

Computer Graphics, 26,2, July 1992

If the same kind of tension-length plot is then made withthe muscle fully stimulated, then a different curve is pro-duced that has components from both active and passiveforce components. This curve, of course, should always begreater than the passive force-length plot by itself and iscalled the total tension-length curve. Finally, the tension- T

C#Wactile cornn:l----- - --

T

length curve that represents only the active muscle force isfound by subtracting the passive curve from the total curve.The length dependence of the developed force is altogetherconsistent with the sliding filament theory of muscle con-traction [11].

Furthermore, from measurements on human subjects, A.V. Hill proposed that there is also a velocity dependent forcecomponent that counteracts the contraction force. That is,the force ezertesf by the muscle decreases as the speed ofshortening increases [8]. It was supposed at first that thisphenomenon depended on an automatic regulatory mecha-nism within the central nervous system, but Gaaser and Hillshowed through quick-release experiments on isolated frogmuscle that this damping effect was part of the fundamen-tal character of the muscle itself. A muscle held isometri-cally was suddenly allowed to shorten to a new length againstno applied load. The force that was recorded fell below theamount that corresponded to the isometric equilibrium pointof the new length and only slowly developed tension backup to that point. The observation that the measured muscleforce did not instantaneously reach the level predicted by thenew length indicated a damping effect within the contractilemachinery. See Fig. 2.

Figure 2: Quick-release curves, plotting tension versus time[8]

A simple mechanical model of muscle that takes into ac-count the effects described above is shown in Fig. 3. Thismodel is commonly attributed to A. V. Hill. The activestate force TO is found, as discussed above, by subtractingthe total force measured at different lengths for a stimulatedmuscle from that found to be due to passive effects alone.The notation TO(Z1, t) indicates that this force is a func-tion of the muscle length and time-varying activation. Thepassive parallel stiffness ~P.E has contributions due to thepenetration of connective tissue through the muscle bodyresulting in the fasciculus divisions and also interfiber elas-ticity. The parallel damping component B is most likely dueto the rate of the biochemical reactions that are responsiblefor contraction at the myofilament level. The series stiffnessKs.E is primarily from the effect of tendon at the muscleattachment points, but is also probably partially due to thedetails of myofilament attachment within a sarcomere. Theseries element is verv imDortant in its abilitv to buffer the. . .rapid change from inactive to active state and also providesa mechanical energy storage mechanism for the body in mo-tion.

The Hill model, while very simple, has proven enormously

Figure 3: Hills muscle model [18]

useful in practice in making calculations of the force gener-ation of muscles working against different kinds of loads.

2.3 Zsjecs Force Model

Zajac [25] [24] has developed a dimensionless lumpedmodel of a complete musculotendon actuator that can be eas-ily scaled to model particular whole muscles. Zajacs modelis a refinement of the Hill model, and the normalized forcecurves that are presented directly refIect the non-linearitiesthat result from the action of sliding filaments. The curvesfor the active and passive muscle force components are takenfrom measurements of single muscle fibers to ensure that ten-don effects are not superimposed. Furthermore, pennationeffects are directly included, while the series elastic elementnot associated with tendon is removed.

The isometric force generated in a particular actuator de-pends on one set of parameters that is considered constantover all actuators and another set that is musculotendonspecific. The four specific parameters are,

a pennation angleFO maximum isometric force of active muscleIy optimal muscle length at which FO is developed1= tendon rest length*

E4iz-4 F

,, _,:g

Figure 4: Musculotendon architecture [25]

The active muscle is represented in Fig. 4 by the contrac-tile element Cl?. Force developed by passive muscle is from

91

SIGGRAPH 92 Chicago, July 26-31, 1992

~pE and is summed with the force from CE. The effectof the series elastic element ks E is lumped with the ten-don model k=. The dimensional units of interest are force

.

and length. FO and 10Mare the normalizing factors for theseunits. A tilde above a symbol denotes that it is a normalizedquantity, for example,

l%g normalized muscle fiber length0

Other quantities and relationships used are,

,MT musculotendon length

IT tendon lengthlMT = IT + IM Cosa

Zajac gives the non-specific, dimensionless functions tomodel a musculotendon actuator in [25]. We implementedthe active muscle function ~~~= (jM ) as an interpolating cu-bic spline through twelve control points from [6]. For the

- PE [M), we USe the quadratic func-passive parallel force F (tion,

~pE(jM) = 4(fM - 1)2 if iM ~ 1, else O

Plots of these two functions are presented in Fig. 5.The isometric muscle force functions can then be written,

P;. O(iM, t) = ~fi~(i~)a(t)fiM(~~,t,a) = (FisO(~~,t) + fipE(~~))COS~

where a(t) is the time-varying normalized muscle activationfunction. This activation function results from a neural con-troller u(t) and excitation-contraction dynamics-the pro-cess of calcium releaae and associated sarcomere shorteningdue to neural excitation. This effect can be safely ignoredfor our application as will be shown.

For tendon, the normalized force is ~T(CT) where .cT isthe tendon strain defined by,

CT _ /T-~T-q+=

(l~T-@fcOs O)/: (1~=-i~ly CO. a)-lr

1:=

1:

This we also implemented as a polynomial function, seeFig, 6.

To characterize the dynamic properties of a musculoten-don actuator, it is necessary to consider the velocity de-pendent nature of the muscle forces, This damping force isrepresented by the dashpot element B in Hills model and istypically formulated as a ~orce-vefocity relationship in whichthe force is scaled depending on the contraction velocity.Zajac presents such a curve in terms of the dimensionlessform of velocity fi~E, which we implement with an arctanfunction, Fig. 7. The function is designed such that the nor-malized force will be 1 when the velocity is O and the forcewill be O when the velocity is -1.

Finally, the total active force from the contractile ele-ment is a function of the activation a(t), the force function

&~aE(j~ ), and the normalized muscle velocity &E,

CEs f(fi~E)Fi.o(iM, t) = f(tisE)a(t)Pfl(iM)F

and the force in the whole muscle is

& = (~cE + FpE(iM))c06a

3 MUSCLE SHAPE

In our research we have tried to test the hypothesis that tomake a good simulation of the changes in shape that a con-tracting muscle experiences, it is sufficient to characterize

#,,, i

/, ,. 1

i/, ,,. /

1

, ,,.

. !.

, ,,.

,,

Figure 5: Plots of force vs. normalized m~scle fiber lengthi~. Solid line is active force function ~~E(lM ). Daahed line

PE(fM).is passive force F

,,

.,

,,

,,

, ,.

Figure 6:ET

Figure 7:force vs.

Normalized tendon force ~T(~T) vs. tendon

,%~

strain

,2

.,

Amount of normalized force relative to isometricdimensionless velocity fi~E. Negative velocity is

for muscle contraction, while lengthening muscle will havepositive velocity.

92

Computer Graphics, 26,2, July 1992

both the resting material and the changes in force knownto be important to the contractile process. The primarybenefit of this approach is that if the forces are calculatedproperly, then not only will it be possible to visualize a mus-cle in action, but a valid biomechanical model will also bedeveloped that can be used in further experimentation. Forthe purposes of visualization, however, it is important to ob-tain accurate geometric representations of the rest shapes ofmuscle messes upon which dynamic simulations will be run.We have constructed muscle rest shapes using the Swivel3DTM Professional [17] modeling program on the Macintoshand from contour stacks derived from magnetic resonanceimaging (MRI) systems.

3.1 Manual Shape InputSince much of the experimental work reported in the mus-cle biomechanics literature is done using frog muscles, thegastrocnemius muscle from a prepared frog was digitized foruse in the computer simulated biomechanical experimentsdiscussed in Section 5. Some time was spent observing Dr.Simon Gitzer at MIT in the frog lab making force-lengthmeasurements from the gastrocnemius of an actual animal.After these were done, the muscle was fully dissected and thetop and side dimensions measured. Swivel was then used tolathe a polyhedral model. See Fig. 10.

3.2 Contour Data

Imaging from CAT and MRI scanning systems is a rela-tively new but very important source of clinical data. Thesesystems acquire three-dimensional objects as a series of 2Dslices arranged along an axis in space. The skinning facil-ity in Swivel can be used to operate on data sets of this kind,where anatomical forms are defined by varying the shape ofthe cross section along the length of the body. More sophis-ticated techniques such as the marching cubes algorithm [15]can automatically create polygonal models of constant den-sity surfaces from 3D data arrays of this type, but it remainsproblematic to identify meaningful structures.

A polygonal data set from an entire human left calf wasmade available to us through Dr. Alan Garfinkel at UCLA.The source for the calf model was a long sequence of MRIscans that were carefully hand segmented into the individ-ual, anatomical muscle masses and then skinned into tri-angles. Ten muscles, including the medial-gastrocnemius,the lateral-gastrocnemius, and the soleus, and one musclegroup make up the data. The tibia and fibula bones are alsoincluded.

Because the leg data was received as files of trianglemeshes, no further processing had to be done to ready themfor simulation or display. Fig. 8 shows three different viewsof the reconstructed leg. The entire data set is shown in themiddle view. In the left view, the overlying gastrocnemiusmuscles and the soleus are removed to show the underlyingstructures, and the tibia and fibula are shown on the right.

4 METHODS

We have presented Hills muscle model and discussed Za-jacs refinement. Our data sources have included Cyberwarescans, MRI slices and direct geometric output from Swivel.All these are turned into a standard polyhedral representa-tion for display.

To simulate the action of muscle for our computer graph-ics application, the biomechanical model and input datamust be synthesized, and for this the finite element method[2] is used, Fig. 9. Thus the FEM serves as a vehicle forour muscle model. The polyhedral data is used to define

meshes of twenty-node isoparametric brick elements. Dy-namic equilibrium equations are derived from the mesh. Za-jacs model is used to apply non-linear forces to the meshnode points. The FEM model is then dynamically simulatedforwards and the mesh automatically deforms in response.A free-form deformation defined by the mesh helps us visu-alize the resulting changes in shape due to the contraction.Unfortunately, a full discussion of our finite element systemis beyond the scope of this paper; details can be found in[5],

The muscle model was constructed by dissecting the gas-trocnemius from an anesthetized frog, measuring the top andside dimensions, then Swivel was used to make a polyhe-dral model as discussed. A user-assisted finite element meshgenerator was then used to interactively construct the meshshown in Fig. 10. Four t went y-node isopararnet ric bricks areused to approximate the gastrocnemius. The exact numberof elements used represents a tradeoff of the quality of thesimulation versus simulation time. The model then has 56nodes or 168 total degrees of freedom.

From the mesh of twenty-node brick elements, equilibriumequations are derived that have the form

Mii + CU+ J{u = R(t)

For a body having n nodal points, u is an 3n vector of nodaldisplacements, M, C and A are 3n x 3n matrices describingthe mass, damping and stiffness between points within thebody, and R is a 3n vector of forces applied to each node.The finite element matrices are specified in terms of Youngsmodulus E, Poissons ratio, v, and mass density, p.

The FEM equilibrium equations can be characterized as acoupled set of second-order differential equations. To solvefor the displacements u(t), first reduce to the equivalent first-order system,

u= v(t)

i! = M-(R(t) h-u Cv)

A standard ordinary differential equation solver like LSODEfrom NetLib, can then be used to compute the dynamic time-course of the nodal displacements. This is done in terms ofa derivs function that first calculates R(t) so that ii and Lcan be found.

To simulate a muscle contraction, non-linear force gen-erators are added to the node points of the finite elementmesh that act along the longitudinal direction of the mus-cle. Wired in this way, there are eight generators per twenty-node brick, for a total of 32 for the whole muscle. Tendonsare constructed in a similar fashion, see Fig. 11.

To allow the derivs function to calculate the world-spacenodal force R(t) due to the action of these fibers, the finiteelement data structures are augmented with information forthe muscle state. For the muscle fibers, we add

1.

2.

3.

4.

fibers, a vector of integers, of length (nofibers*2): en-codes nodal attachment of each fiber

fiber.lenO, a vector of doubles, of length (nofibers):fiber rest length

fiber-len, a vector of doubles, of length (nofibers):current fiber length

fiber-time, a scalar: simulation time for whichfiber-len was calculated

In addition, three scalar parameters define the muscle,as per Zajacs dimensionless model. The maximum iso-metric active force is fiber-FOa, the passive force scalaris fiber_FOp and the maximum normalized fiber velocity

93

SIGGRAPH 92 Chicago, July 26-31, 1992

Figure 8: Reconstructed legs

Figure 9: Muscle model and muscle data after [24] and [15].

Figure 10: Frog gastrocnemius made from 576 polygons, left.Right, Finite element mesh made from polyhedral represen-tation.

Figure 11: Force generators for muscle and tendon

is fiber-Vmaz. The effects of the muscle activation func-tion a(t), directly scales the maximum active fiber forcefiberJ0a. This is the mechanism used to turn the mus-cle on and off.

The current world space mesh nodal positions are foundfor each fiber. These are subtracted to yield a world spacelength. From this the normalized fiber length iM is

lm - len / fiber-lenO[i] ;

The normalized length is used to find the isometric activeand passive force functions and their derivatives, as dis-cussed in Section 2.3.

zajac-pazsiveforce( lm, tFmp, LdFm );zajac,activeforce( lm, LPma, tdPm );

The fiber velocity is determined through the followingfirst-order approximation. Before the next time step is takenby LSODE, the lengths for each of the muscle fibers arefound and saved in fiber-lea. The simulation time beforethe next step is stored in fiber-time. When the next stepis taken, the instantaneous simulation time t is accessed byderivs and the normalized velocity G$ computed,

if (t == fiber-time) vel = 0. ;else( vel =

(len - f iber-len[i] ) / (t - fiber-time) ;

vel /= f ibar-lenO[i] ;vel /= Vmaz;

I

from which the scale factor from the force-velocity curve islooked-up

zajac-forcevelocity( vel, tPvc 1;

and the force generated by the fiber from the normalizedquantities is

Computer Graphics, 26, 2, July 1992

force = Fmp * Fop;force += Fma * FOa * Fvc;force *= .5;

The final scale by .5 is done because half the force is appliedto the element of R(t) corresponding to the first node pointof the fiber, and the other half of the force is summed withthe second fiber node point.

The tendon fibers are modeled in much the same way asthe muscle fibers, the main difference being that tendonsconnect mesh node points to external world space locations.For tendon, the finite element data structures are furtheraugmented with

tendons, vector of integers, of length (notendons): en-codes which nodes are tendon attached

tendonlen0, a vector of doubles, of length (noten-dons): the tendon rest length

tendon-ueppt, a vector of doubles, of length (noten-dons*3): the world space attachment points

tendon-force, a vector of doubles, of length (noten-dons*3): the amount of force generated by the tendonfibers

There is also a scalar that scales the normalized tendon force,tendon_FO.

For the four element approximation, the tendon fibers areplaced at the edge midpoints of the bottom and top facesof the mesh assemblage. To calculate the tendon force, be-gin with the world space location of the node to which thetendon fiber is fixed. Subtract the position of the exter-nal attachment point defined by tendon-usppt, and find thelength len and direction of the resulting vector dl. Usingthe rest length of the current tendon fiber, the strain ~~ is,

strain = (len - len0) / len0;

Then the strain is used to look up the normalized tendonforce. The vector dl is scaled by the force,

zajac-tendonforcec atrain, PFt, tdFt 1;force = Ft * FOt;

This is repeated for each tendon fiber and again the com-puted force is summed into the world space external forcevector R(t) for the finite element mesh. In addition, theforce generated by each of the tendon fibers is saved in thevector tendon-force. This is because the total force gener-ated by the muscle is the sum of the reaction forces createdby the tendon attachments. This total force is, of course,an important measure and is one of the quantities plottedin the subsequent experiments.

5 RESULTSTo test the biomechanical validity of the muscle model de-veloped here, two well-known experiments are simulated andcompared to results in the literature. First, tension-lengthcurves were plotted of both active and relaxed muscle. Sec-ond, Gasser and Hills quick-release experiment were simu-lated to reveal the dynamic time course of the forces gener-ated by the finite element muscle model.

5.1 Tension-Length ExperimentThe first experiment plots the characteristic tension-lengthrelationship produced by the FEM muscle model. This iseasy to do by attaching the top set of tendons to variouspositions to control the overall muscle length, measuring theamount. of force generated by the whole muscle, then fullyactivating the muscle and measuring the force again. The

Figure 12: Setup for tension-length experiment

setup for this experiment is illustrated in Fig. 12. The muscleis attached with tendon to both the bone and the horseshoeshaped clamp in the figure.

Up to now, most of the development has concerned com-puting the non-linear muscle force functions defined bybiomechanical models to apply at the finite element meshnodal points. To fully specify the FEM model, however,the passive mechanical characteristics of muscle must alsobe set. Grieve and Armstrong in [lo] publish stress-straincurves derived from compressing plugs taken from pig mus-cle. These curves are also non-linear, the plugs becomingstiffer the more they are compressed. The range of valuesfor Youngs modulus they present are from close to 0 up to2.745 x lo3 Pa at a strain of 40%. Or, in cge units, 2.745~ 10dyne/cm.

A major assumption currently made, in terms of thesepassive elastic properties, is that muscle can be approxi-mated as a linear, homogeneous, isotropic material. Thisassumption is necessary because of simplifications we makein the derivation of the stiffness matrix K, but could be eas-ily relaxed by implementing better constitutive models 121.In any case, we feel this simplification is justified when ex-amining muscle contraction because the contraction forcesare orders of magnitude larger than the passive mechanicalforces, and these non-linear, anisotropic forces are indeedmodeled. An intermediate, convenient value is then chosenfor Youngs modulus, E. Poissons ratio, v. is set to approxi-mate a volume preserving material. The density. p, of musclewas found by Grieve and Armstrong through careful weigh-ing. Gravity, g, is turned off so as not to confound the forcemeasurements. The physical constants for the simulationare as follows,

E = 1000 dyne/cm v = .49 p = 1.04 g/cm3 g = 0 cm/s2

The frog muscle rest length is 6 cm long. The maximumisometric force generated by the gastrocnemius measured inthe frog lab was 2.77 N or 2.77 x 10 dynes. This force isdistributed evenly among the 32 fibers and so the fiber forceis 8656.2 dynes.

The tension-length experiment is performed by first mea-suring the force for the passive muscle. This is done byexamining the force generated in the tendons attached tothe clamp through the tendon-force vector. The muscle isactivated and the force measured again. The whole process

95

.

SIGGRAPH 92 Chicago, July 26-31, 1992

-

Figure 13: Simulation results for tension-length experiment.Isometric muscle force vs. normalized length. Dotted line istotal isometric force, dashed line is the force from passivemuscle and the solid line is the developed force.

is repeated for the muscle set to different initial lengths. Theresulting tension-length curves are presented in Fig. 13.

An examination of this plot shows a good correspondenceto the published biological observations (see Fig. 1), with alocal maximum for the muscle at its rest length. The otherresult taken from this simulation, interesting from the pointof view of computer graphics, is that very little changes inshape are produced by a muscle undergoing purely isometriccontraction. Another of the simplifying assumptions madein the muscle model is that all the fibers are homogeneousboth in terms of the amount of force they can develop, andin their response to stimulus from the neural controller u(t).The small observed shape change is then expected since theactions of all the series and parallel fibers should producea net zero resultant force at the internal mesh faces, whileproducing a large force at the origin and insertion ends whichis then canceled by the tendon forces. Hence, to producelarger shape changes for the purposes of computer animationrequires either the muscle to lengthen or shorten, or for thecontraction to work against shape changes due to externalforces such as gravity.

5.2 Quick Release Experiment

The second experiment simulated is the quick release proce-dure carried out by Gaaser and Hill to examine the velocitydependent effects within the muscle. The muscle is stim-ulated and made to work isometrically. Then the muscleis suddenly released and hits a knot or new position con-straint after a certain amount of time. A plot of force versustime for this experiment is presented in Fig. 14. The musclebegins at the rest length, 6 cm or jM = 1. The amountof shortening that takes place is 1.3 cm so that the finalnormalized muscle length is jM = 0.7833.

Fig. 14 shows a good correspondence with Gasser andHills plots of Section 2.2. In that section, the conclusiondrawn from the shape of the curves is that the slow rise in theforce both when the muscle is activated, and after the quickrelease, indicate that it is caused by a biochemical dampingeffect, rather than a central nervous system control mecha-nism. llwtherrnore, we feel the shape of this force functionjustifies another of the simplifying assumptions made in themodel, namely that the effects of excitation-contraction dy-namics are negligible for this application because they occur

.2

.4 1

4fzTi*W 150Figure 14: Simulation results for Gaaser-Hill quick releaseexperiment. Force vs. time. Force is scaled to match plot ofFig. 2.

on a much shorter time sczde than what is being simulated.As discussed above, a change of shape in the simulated

muscle is only predicted for a situation in which the con-traction works against shape changes produced by externalforces. Such a case is presented in Fig. 15, in which therelaxed frog muscle bows downwards due to gravity. Uponcontraction, the muscle pulls taut between its attachmentpoints. If however, velocity dependent effects are not in-cluded, or the maximum velocity, fi$E, is set too high, themuscle will oscillate back and forth, much aa a pluckedstring, in an amusing, albeit unrealistic manner. The ar-rows in the figure show the direction, but not the scale, ofthe world space forces acting at the finite element mesh nodepoints.

5.3 Human Gastrocnemius Simulation

The FEM baaed muscle model is used in a similar way to sim-ulate contraction of the medhl gastrocnemius from a humansubject. This muscle was chosen both because of its largesize, and because it is on the outside, closest to the skin.Thus it should play a large part in determining the shapeof the whole leg. The gastrocnemius is approximated witha four element mesh made of twenty-node bricks aa in thefrog simulations. The medial gastrocnemius model is 24 cmlong. The maximum isometric force used is 1113 N from [6].Each of the 32 fibers generates 34.78 N or 3.48 x 106 dynes.The passive mechanical parameters for the FEM mesh areset as before, with gravity equal to 980 cm/s2.

To model fascia attachments to the rest of the leg, tendonsare defined for nodes on the backside of the muscle. Theseare set so that the muscle can move freely, but not by a largeamount, Furthermore, a reaction constraint [21] is definedso that the muscle will not penetrate the soleus. For theanimation, the leg is rotated 45 degrees to horizontal andthe relaxed muscle deforms due to gravity. Fig. 16 showsthat muscle contraction causes the gastrocnemius to pulltaut as expected. Again, the arrows only show the directionin which the world space forces are acting.

5.4 Human Biceps Simulation

The example above demonstrates muscle acting isometri-cally against external forces. In an effort to apply the re-search results to making computer animation of muscledcharacters, it is necessary that we be able to simulate non-isometric muscle action as well. Geometry for a humanbiceps was digitized from an anatomically accurate plasticmodel. A FEM mesh was constructed and contraction forcesapplied to the nodes as before. For thk simulation, the bi-ceps is attached at the shoulder, but the forearm end is left

96

Computer Graphics, 26, 2, July 1992

free. Activation causes the biceps to shorten; the forearmflexes inverse cinematically to track the end of the muscle,see Fig. 17.

6 CONCLUSIONS

For computer animation, the next step beyond kinematicsimulations of skeleton movement must include realisticmodeling and rendering of the muscle and skin. We havedeveloped a novel finite element model of muscle that canbe used both to simulate muscle forces and to visualize thedynamics of muscle contraction. Biomechanically, we havetaken an existing model of muscle function, added complex-ity by making it 3D, and shown that under certain circum-stances it still behaves like a muscle. We have tried to val-idate the model by doing biomechanical experiments andplotting out key quantities.

It is much harder to validate the shape changes producedby the force-based FEM muscle model. Videos of live frogand human subjects have been made to serve as checkpointsfor the simulations, but these can do so only qualitatively.The clearest way to verify the shape changes produced bythe muscle model would be to make a whole series of MRIreconstructions, with the limb held in different states of iso-metric tension while measuring the muscle force whereverpossible. A series of reconstructions made in this way wouldbe appropriate data against which to compare simulationresults. This would be a big project, and just barely doablewith the current MRI technology.

However, by emphasizing the physical model, we havetaken a step beyond the original computer graphics goal ofmaking a virtual actor, up to the goal of making an artificialperson. By studying the anatomy, the form will be revealedthrough the function,

7 ACKNOWLEDGMENTS

This work was supported in part by NHK (Japan Broadcast-ing Corp. ) and an equipment grant from Hewlett-Packard.Thanks to Dr. Joe Rosen, Betsy, Darcy and the SnakePitguys for help and support. Special thanks go to Dr. SimonGitzer of the MIT Brain and Cognitive Science Departmentfor sharing his experience and understanding of muscle func-tion, and to Dr. Alan Gartinkel of UCLA for providing thehuman leg data.

References

[1]

[2]

[3]

[4]

[5]

[6]

N.I. Badler, J. ORourke, and H. Toltzis. A sphericalrepresentation of a human body for visualizing move-ment. Proceedings IEEE, 67( 10): 13971402, 1979.

Klaus-Jurgen Bathe. Finite Element Procedures in En-gineering Analysis. Prentice-Hall, 1982.

F. D. Carlson and D. R. Wilkie. A4uscie Physiology.Prentice-Hall, Inc., 1974.

John E. Chadwick, David R. Haumann, and Richard E.Parent. Layered construction for deformable animatedcharacters. ACM Computer Graphics, 23(3):243-252,1989.

David T. Chen. Pump It Up: Computer Animationof a Biomechanically Based Model of Muscle using theFinite Element Method. PhD thesis, MIT, 1992.

Scott L. Delp. Surgery Simulation: A Computer Graph-ics System to Analyze and Design Musculoskeletal Re-constructions of the Lower Limb. PhD thesis, StanfordUniversity, 1990.

[7]

[8]

[9]

10]

11]

William A. Fetter. A progression of human figures sim-ulated by computer graphics. IEEE Computer Gmphicsand Applications, pages 913, November 1982.

H.S. Gasser and A.V. Hill. The dynamics of mucu-lar contraction. Royal Society of London Proceedings,96:398-437, 1924.

Jean-Paul Gourret, Nadia Magnenat-Thalman, andDaniel Thalman. Simulation of object and humanskin deformations in a grasping task, ACM ComputerGraphics, 24(3):21-30, 1989.

Andrew P. Grieve and Cecil G. Armstrong. Compres-sive properties of soft tissues. l?iomechanics XI-A, In-ternational Series on Biomechanics, Amsterdam, 1988.Free Unversity Press.

A.F Huxley and R. Niedergerke. Structural changes in

[12]

[13]

[14]

[15]

[16]

[17]

18]

19]

muscle during contraction. Nature, 173:971973, 1954.

H. Huxley and J. Hanson. Changes in the cross-striations of muscle during contraction and stretch andtheir structural interpretation. Nature, 173:973976,1954.

David L. Kelley. Kinesiology: Fundamentals oj MotionDescription. Prentice Hall, Inc., 1971.

Koji Komatsu. Human skin model capable of naturalshape variation. Laboratories Note 329, NHK, Tokyo,March 1986.

W.E. Lorensen and H.E. Cline. Marching cubes: Ahigh resolution 3d surface construction algorithm. ACMComputer Gmphics, 21(4):163-169, 1987.

Delle Rae Maxwell. Graphical marionette: a modern-day Pinocchio. Masters thesis, MIT, 1983.

S. McKenna, Y. Harvill, A. Louie, and D. Huffman.Swivel 3D Professional Users Guide. Paracomp, Inc.,1987-1990.

Thomas A. McMahon. Mugcles, Re~ezes, and Locomo-tion. Princeton University Press, 1984.

Steve Pieper, Joseph Rosen, and David Zeltzer. Interac-tive computer graphics for plastic surgery: A task-levelanalysis and implementation. Proceedings of the ACM1992 Symposium on Interactive .?D Graphical pages127-134, 1992.

[20] Steven Donald Pieper. CAPS: Computer-Aided PlasticSurgery. PhD thesis, MIT, 1992.

[21] John C. Platt and Alan H. Barr. Constraint meth-ods for physical models. ACM Computer Graphics,22(4):279-288, 1988.

[22] D. Terzopoulos and K. Waters. Physically-based fa-cial modelling, analysis, and animation. The Jouma/of Visualization and Computer Animation, 1(2):7380,1990.

[23] Demetri Terzopoulos and Kurt Fleischer. Modeling in-elastic deformation: Viscoelasticity, plasticity, fracture.ACM Computer Graphics, 22(4):269-278, 1988.

[24] F. E. Zajac. Muscle and tendon: Properties, mod-els, scaling, and application to biomechanics and motorcontrol. Critical Reviews in Biomedical Engineering,17:359-411, 1989.

[25] F. E. Zajac, E.L. Topp, and P.J. Stevenson. A dimen-sionless musculotendon model. Proceedings IEEE En-gineering in Medicine and Biology, 1986.

97

SIGGRAPH 92 Chicaclo, Julv 26-31, 1992

Figure 15: Relaxed muscle deforms due to gravity. Active muscle pulled taut.

Figure 16: Human gastrocnemius deforn

Figure 17: Biceps shortens upon activation, forearm motion is specified inverse kinematically.