Animating The Dead

This will be a two minute video for the SIGGRAPH Electronic Theater highlighting modern animation techniques and the optimizations possible the special case of animating the dead.

 
Structure of video
Research Goals "In this video we will apply existing animation techniques to the special case of animating the dead..."
Principles  
Experiments Keyframe 
Kinematics    Forward/Inverse 
Dynamics      Forward/Inverse 
Motion Capture    Optical/Magnetic 
Muybridge - reduced to 1 camera
 

For each we have a general case with four sections

  • Experimental
  • Real World
  • Simulation
  • Equations
Then we have the special case
  • Compress Data
  • Simplify Equations
 
Conclusions Highly Compressable
Future Work Modeling 
Rendering 
Cloth Animation
References  
Key Phrases Killer App
Body of Research
Re-animating the dead
Decay over time
Skeletal Animation
Dead reckoning
 
 
Timing Diagram
Title Timing Point Visual Sound
Introduction 10 sec Researcher talking with monitor flickering in background, lots of fuzz in the sound
"In this video..."
Optical Motion Capture 10 sec Muybridge - reduced to 1 camera Old stock video of Running Man, new footage of body on floor.
Magnetic Motion Capture 3 sec One motion capture of dead generalizes to others Dead body dressed in diving suit, picture of morgue door
Forward Dynamics We can get exact equation for the dead
Conclusion 5 sec Highly Compressable
References 3 sec References
 
 
 

Pseudo Script


Title: "Animating the Dead"
I'm Ken Perlin from the New York University Media Research Laboratory where we are extending traditional computer animation techniques to the special case of animating the dead. We have been able to obtain very high compression ratios, simplify the dynamics equations, and decrease the degrees of freedom in standard skeletal models. Using well understood techniques from the field of traditional animation we generate our models.
         Acme
         Anvil

    O      O
   /A\    /B\
  ,/ \,  ,/ \,

Therefore...

   O   
  /A\       
 ,/ \,  ,_,/\_/x

Inverse Kinematics solves for the joint angles in a skeletal model given the desired position and orientation of a subset of the verticies. Our live model has 10 joints and 34 degrees of freedom. The Matrices describing the State of the character are given by:
(note: I can get actual equations when the character exists.)
  / ! \
  | % |
  | $ |   => some other goblegook
  | # |
  | @ |
  \ * /

this is easily seen to be:

     / ! 4 f 3 f s v b 3 4 2 1 \
     | % h w [ p 3 n m 5 w 8 q |
     | $ 0 f w 4 5 g q b y z g |
     | # t 5 f w m v g a g g l |
     | @ f a s 3 h 6 4 n c v z |
     \ * w 4 z g f 0 s v n c r /
And this is
 A^-1 x Q 
where Q is the orientation matrix
We solve for w first and get a relation for z g and a which we solve by assigning a negative energy to rotations and finding the minimum enegry system in m dimenstions using numerical methods. Each constraint may be solved in parallel so we used a consumer IBM SP2 computer running Java 1.1.6 to solve these equations in real-time.

In human models there generally exist multiple solutions due to redundant degrees of freedom. In animating the dead, the degrees of freedom decay over time. At the limit, in the post-rigur model, we can eliminate joint rotations from matrix A
A=I
This is a very smart development, as our production Inverse Kinematics solver finds a unique solution in near real-time on a Palm IIIe running Java 1.2.2.

Inverse Kinematics

                   4
                  /A>
                  /\ 
                  \ \
    *----------------------*

                
               
                
   ,_,/\_/x
*----------------------*

   pan right to left

from Gearga Tech We have developed a simulation of a human diver with 38 controlled degrees of freedom. The human model can perform a number of 10 meter platform dives. The dynamic model of the diver consists of 15 rigid bodies connected by rotary joints. The dynamic properties of the rigid bodies were calculated using densities for each body part measured from cadavers[2], and algorithms for computing moments of inertia from polygonal objects[5]. The equations of motion were generated using a commercially available package, that uses a variant of Kane's method with a symbolic simplification phase[8].
We have also tackled the problem of the dynamics of the dead.
(repeat like egg breaking video with live actor falling at the end of each simulation)

       O  
      /A\ 
     ,/ \,
 ------------
  <-------->  shake platform, observe dynamic simulation


   ,_,/\_/x
 ------------
  <-------->  shake platform, observe dynamic simulation

Using SensAble Technologies GHOST SDK and the Improv real-time procedural animation system we compared the complexity of animating the living vs. animating the dead.
          / /
         / /
       O(_/  
      /A\ 
     ,/ \,
 ------------ finger from heaven, using haptic interface to squash subject


          / / 
         / /
        (_/
   ,_,/\_/x
 ------------ finger from heaven, using haptic interface to squash subject
We will now repeat this experiment
         Acme
         Anvil

    O      O
   /C\    /A\
  ,/ \,  ,/ \,

Others... Adjusting Walk Cycles for different subjects (Georgia Tech Work.)


Inverse Kinematics Reference
Zhao, Jianmin
Badler, Norman I.

ACM Transactions on Graphics
Vol.13, No. 4 (Oct. 1994), pp. 313-336


Abstract
An articulated figure is often modeled as a set of rigid segments connected with joints. Its configuration can be altered by varying the joint angles. Although it is straight forward to compute figure configurations given joint angles (forward kinematics), it is more difficult to find the joint angles for a desired configuration (inverse kinematics). Since the inverse kinematics problem is of special importance to an animator wishing to set a figure to a posture satisfying a set of positioning constraints, researchers have proposed several different approaches. However, when we try to follow these approaches in an interactive animation system where the object on which to operate is as highly articulated as a realistic human figure, they fail in either generality or performance. So, we approach this problem through nonlinear programming techniques. It has been successfully used since 1988 in the spatial constraint system within Jack, a human figure simulation system developed at the University of Pennsylvania, and proves to be satisfactorily efficient, controllable, and robust. A spatial constraint in our system involves two parts: one constraint on the figure, the end-effector, and one on the spatial environment, the goal. These two parts are dealt with separately, so that we can achieve a neat modular implementation. Constraints can be added one at a time with appropriate weights designating the importance of this constraint relative to the others and are always solved as a group. If physical limits prevent satisfaction of all the constraints, the system stops with the (possibly local) optimal solution for the given weights. Also, the rigidity of each joint angle can be controlled, which is useful for redundant degrees of freedom.