The oaring motion of the pectoral fins is most distinguishable in natural fishes with relatively large, flat bodies that do not bend as much when swimming or turning. We capture this visual detail in our artificial butterfly fish and emperor angelfish.
To achieve the oaring motion of the pectoral fins, we let
,
i=1,2,3,4 rotate about a pre-defined unit vector
such
that each
traces out a cone shape (see
Fig.
(c)). The rotation is computed using unit
quaternions
, where
is the rotation angle [Shoemake1985]. Let the initial
, before rotation, be denoted by
, then
we can compute the new
with the formula
where
denotes the conjugate of q. With
varying
from 0 to
, each
sweeps a complete cone
corresponding to one full stroke of rowing. The speed with which
changes represents the speed of rowing. We choose
where parameter
is proportional to the fish's
swimming speed
thus the faster the fish swims the faster
the fins beat. Note that the above q defines a ``forward'' oaring
motion towards the direction of swimming
. To obtain a backward
oaring motion, we can simply let
.
In our animations, when a butterfly fish or an emperor angelfish
turns, one of the pectoral fins rows forward and the other backward as
is observed in many natural, flat-body fishes. The backward oaring
motions of both fins are useful when an artificial fish brakes and
retreats. Fig.
shows snapshots of a butterfly fish with
its forward oaring pectoral fins.
| Xiaoyuan Tu | January 1996 |