After watching Brave, one thing that I was curious about was the curly hair of the main character, Merida. It’s so long! It bounces and everything!
How is it possible to animate that hair for every frame?
There are automatic hair generation and physics-based animation bolt-ons available for most common commercial CGI creation/rendering packages, these have been around for a long while really.
That said Pixar do tend to write their own software and will probably have done so for 'Brave'.
Essentially you define the area on the head where hair is to be, you can then define length, colour, drop-off areas etc. and the hair itself is then procedurally created. It's then down to the physics package to handle how it moves when moving/turning etc. and the rendered is told the reflection/refraction expected of the hair so just gets on with the job.
It's a lot of complex calculations but it's far from 'rocket science' these days, realistic shadows and flickering light are much more challenging.
Khan Academy partnered with Pixar a while back to provide an introductory course to computer animation. One of the lessons gives a simplified explanation of how they animated Merida's hair. You even learn to write some simple code to accomplish the basic idea!
Hair simulation 101
Explore how millions of hairs can be simulated using a mass spring system. This lesson is appropriate for grades 5+ and takes approximately 1 hour to complete.
Here's the introductory video: