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|