Anatomically-Based Human Body Deformations
I want to see MPEG animations first!
We use the H-Anim standard as a basis for the articulated structure augmented with radioulnar joints to solve the problem of accurate pronation-supination poses. We introduce four joint models to approximate the real human joints.
For three-DOF rotational joints, we use a swing-and-twist parameterization. Directional limits are expressed by spherical polygons. Axial rotations are restricted by twist height fields defined by key values at various (possibly irregularly spaced) positions in the swing axis-angle plane. This allows to approximate the coupling of limits within a ball-and-socket joint. The following picture shows the maximal outward twist of the shoulder joint defined by five keys (blue circles) in the swing plane.
Click here to access MuscleBuilder's usuer manual.
We use general meshes to represent muscles. In the following, we briefly show the various stages for creating a deformation model for the lateral head of the triceps.
The user specifies, via the graphical interface, the attachment nodes, i.e. origin and insertion.
After entering the number of segments for each region (tendon, belly, etc.), a straight action line is created, with nodes equaly spaced out. The positions of the nodes can be interactively modified along the action line, so that each segment belongs to its specific region.
Right picture : triceps with five tendon segments and three belly segments.
We propose two paragdims for controlling the action lines:
Mass-spring systems: the straight action line is bent into the required shape, for any posture, using ellipsoidal force fields. The pulley for the tendon at the elbow is modeled by a repulsive force field at the elbow (spherical shape in the picture plane) in conjunction with a lengthy, thin, attractive force field (lower left). The (weakly) attractive force field constrains the nodes to stay on the lower part of the elbow.
- Using 1D mass-spring systems
- Using purely geometric deformations.
Geometric deformations: real-time deformation model, in which nodes are deformed as a function of the underlying skeletal state. Deflective ellipsoidal surfaces refine the path taken by the polylines.
The resulting deformation of the mesh is displayed on the right. Notice how the tendon bends at the elbow thus pulling the muscle's belly donwards. The mesh is automatically scaled to account for the change in length of the action line.
The resulting animation can be seen here.
We apply a 3D linear elasticity model to deform the volume enclosed between the skin and the muscles. We choose the Lame equation because its parameters naturally allow to enforce volume preservation upon deformation.
Volume variation remains under 2.7% as the cube of matter oscillates under the action of gravity, its left-most side being fixed.
The skin is sculpted by the underlying anatomical layers according to a normal-directed ray-casting procedure. A height field, which represents the thickness of the fat and skin layers combined, is computed in a rest posture. For each animation frame, we try to maintain the initial distance along a ray. Median filters in the spatial and temporal domains are used for discarding outliers in the height maps. This step is possibly followed by the application of a smoothing filter (subdivision, Gaussian filter, etc.).