To achieve the flapping motion, let us define displacement vectors
which, when added to , *i*=1,2,3,4, yield
the new directions of . Let the normal of the plane
formed by and be a unit vector
. The pectoral flapping motions are modeled by simply
specifying the direction of the displacement vectors
along and then letting the lengths of vary
over time in a sinusoidal fashion. In particular, the 's
are defined as follows:

where *a* and *b* are parameters that define the amplitude and
frequency of flapping, respectively; time *t* is discrete and equals
the number of animation frames. Since the 's are not
coplanar (they are nearly coplanar), the shape of the fins deform
slightly during the flapping motion. This is not undesirable since
natural pectoral fins deform constantly due to hydrodynamic forces.

In our implementation, we choose *a* and *b* to be nearly proportional
to such that the faster the fish needs to ascend or
descend, the greater the amplitude and frequency with which the fins
flap. Note that *a* and *b* are nonzero values when so
the fins are kept in motion even when the fish is not engaged in
pitching, yawing, or rolling. Fig. shows four
snapshots of the flapping motion of the pectoral fins.

Xiaoyuan Tu | January 1996 |