Simulated Oceans and Maya
John Anderson, in-house scientist for ILM, developed a sophisticated simulation of the ocean that could be manipulated to create the type of rough seas that "The Perfect Storm" needed. The simulation needed to handle everything from rippling, still water, to waves the size of a 10-story building.
The set of scientific rules that simulates the way water acts and reacts is called, generically, fluid dynamics. Fluid dynamics governs everything from airflow over a wing to any type of moving water, as well as the way honey flows out of a jar -- it is a very broad field! A well-done water simulation obeys the laws of physics for water very well, and is incredibly accurate in the ways that it follows the laws of fluid dynamics. However, it also has to take into account the "look" of the water in different lighting conditions, as well as integrating the water in live shots.
Basic fluid dynamic simulation provided the foundation for the body of the ocean, and became known as the bottom water in the film. The way the ocean interacts with the rigid body objects, such as the boats, allowed the team to understand exactly how each object would move in the real world under the same circumstances.
The model of the Andrea Gail (the main boat in the film) is itself a wonder, with objects on the boat, such as cables and buoys, reacting to the wind and movement of the ocean as well.
In addition, to help capture the rolling motion of a stormy ocean, ILM placed a virtual camera into the simulation on a second boat. The virtual camera pointed to an invisible target object located on the boat that was the focus of the shot. The virtual camera had a certain degree of freedom that emulated the difficulty a person would have holding a camera while trying to stay trained on an object that is moving. This method is used in several shots to enhance the realism.
Most of the actual 3D modeling work took place using a commercial software application package called Maya, made by Alias|Wavefront. The cool thing about Maya is that it contains a complete programming language, C++, that allows animators and designers to write their own custom plug-ins. "The Perfect Storm" team at ILM wrote more than 30 plug-ins for Maya for this movie. They also wrote several stand-alone applications for specific aspects, such as shaders and particle systems, of the ocean scenes.