In the current implementation, we simulate a simple fluid flow field
using techniques similar to the ones used by Wejchert and Haumann
Wejchert91 for animating aerodynamics. Assuming inviscid
and irrotational fluid, we can construct a model of a non-turbulent
flow field with low computational cost using a set of *flow
primitives*. These include *uniform flow* where the fluid
velocity follow straight lines; *source flow*--a point from which
fluid moves out from all directions; *sink flow* which is opposite
to the source flow; and *vortex flow* where fluid moves around in
concentric circles (see Fig. ). More
complicated flow fields can be constructed by combining different flow
primitives.

The fluid flow field in our implementation consists of a uniform flow
with sinusoidal strength and a source flow at each cylindrical
obstacle. The velocity field of the uniform flow is
sin , where *a* is a positive real-valued parameter
that represents the maximal strength of the flow; is a
parameter angle and *t* is the animation time step--together they
define the `cycle' time of the uniform flow; is the unit
vector indicating the orientation of the uniform flow. The source flow
velocity field (i.e., the flow velocity at a point whose 3D
coordinates are given by ) at cylinder *C* is defined as:

where *d* is the shortest distance from point to the
center line of the source (or axis of *C*), *r* is the radius of *C*
and is the unit vector along *d* pointing outwards from the
center of the source. The source flow fields are added to the uniform
flow field in order to approximate the effect of fluid flowing around
obstacles [Wejchert and Haumann1991].

Note that in Eq. (), the influence of the flow field on the fish's locomotion is taken into account by using the relative velocity between the surface and the fluid. In direct contrast to using non-physics-based models, here subtle locomotional behaviors exhibited when fish swim upstream or downstream or being buffeted by water currents can be easily modeled in a physically plausible way.

Xiaoyuan Tu | January 1996 |