Previous Work

This project builds upon the results of the earlier Project Deidre (I) by Dan Hung and Steve Huang. Deidre is a manually created polygonal mesh composed of some 400 vertices and 600 polygons. We animate the face via manipulation of pseudo-muscles which, although not necessarily anatomically correct, allow a greater expressivity with simpler compuations. We define bounding boxes in which only the vertices within in are effected; one bounding box could be thought of as one pseudo-muscle. A sample bounding box (for the muscle vector responsible for raising the edge of the left lip during smiles) is shown below in yellow with translucent skin:

We can apply a linear forces to the muscle with the function below:

                     |Po - P|  
           1 + cos( ---------- pi )
P' = P + (               R          ) (Pd - Po) t
           ------------------------
                      2
Po is the point where the force is applied, Pd is the point of attractive force, and P is every face vertex in the bounding box. The variable R defines the radius of influence, and while R should generally cover the same area as the bounding box, is a separate parameter. Singularities will appear if R is much smaller than the bounding box. Note that the Pd - Po term moves all the vertices in the bounding box and the radius of influence parallel to the vector between the point of force application towards the point of attraction. In effect, the point of attraction actually defines a plane of attraction for the bounding volume.

Not all muscles on the face apply force linearly. Sphincter muscles around the lips, for example, do not work well with this formula unmodified. For such muscles, we use the following formula:

                       |Po - P|  
             1 + cos( ---------- pi )
P' = P + K (               R          ) (P - Pd) t
             ------------------------
                        2

There are two important differences. The K term was introduced to allow the muscle to contract in one axis and expand in another, instead of a uniform contraction or expansion. The direction of motion is now defined by P - Pd, which is in the direction of the point of attraction (similar to formula 1). The reason we inverted the sign of this formula was because we felt that a positive K should denote contraction and a negative K should denote expansion, in order to be consistent with formula 2. The example on the left below shows a contracting sphincter muscle and the one on the right shows an expanding sphincter muscle:

Note that the whole face need not be divided into bounding boxes, and these boxes may overlap since the muscle forces are applied sequentially.


Return to main page.