Ian Huberts amusing Lazy Tutorials series is a delight. Here he goes over how to use displacement maps in Blender to animate swimming fish. Be sure to visit Ian's Youtube channel for more amusing tutorials
A slightly more practical tutorial on animating in Blender using displacement maps can be found here. And, of course, Blender is free and can be downloaded here.