Monday, 10 November 2008

Hair Dynamics

Hair Dynamics is a much more vast and complex area than at first appears. Generally hair simulation needs to meet certain criteria, these are possibly best defined in Henrik Halén's thesis from 2007 as:

1. The ability to return to a predefined position at rest
2. Fixed length
3. Free movement
4. Inertia
5. Interaction with outer forces

These are listed in order of importance.

The same previously mentioned paper also does an incredible job of listing various approaches to simulation as well as rendering. Here are the reduced down versions of what is listed.

Verlet Integration - Used in many approaches to handle motion. New position computed using current and previous positions with respect to time. Said to have lower degree of error than Eulers method. Basic equation has no constraints but constraints can be added to it. Generally correction steps may need to be applied to maintain fixed length for the hair.

Adaptive Wisp Tree - Cylinder based approach. Uses nodes that can split and merge again. Tries to simulate the clumping phenomenon of hair. Splits occur with respect to acceleration and radius. merging occurs with respect to; relative velocities, radius of super node and the inverse of the splitting condition. Collisions carried out using spheres and cylinders.

Interactive Forest - Uses model based on trees minus branching (as generally hairs do not branch). I works due to the fact trees swaying tend to return to their original psotion also. Deals with angles as opposed to absolute positions so when it comes to rendering positions would have to be calculated based on the angles.

Cascading Spaces - Mathematically complex method. Calculates a the tangent space defined by normal, binormal and tangent between 2 nodes. Uses fixed reference nodes bound to corresponding strand nodes with elastic springs. Actual simulation uses the springs and Verlet Integration.

Spring Model - Possibly the simplest model so often favoured. Often assumes no elasticity in hair so segments maintain fixed length. Strands are basically "hung" from reference positions that are initially above where the hair is planned to sit. Spring strength an important parameter that may need to vary dependant on position and orientation.

One of the most confusing aspects when trying to research hair dynamics seems to be working out which method is actually being used as the methods tend to be combined or overlapped.

No comments: