Hair Simulation
COMP 768 Qi Mo
Motivation
• Cosmetic prototyping
• Entertainment industry
- Feature animation
- Interactive systems
Motivation
• Cosmetic prototyping
• Entertainment industry
- Feature animation
- Interactive systems
Motivation
• Cosmetic prototyping
• Entertainment industry
- Feature animation
- Interactive systems
Motivation
• Cosmetic prototyping
• Entertainment industry
- Feature animation
- Interactive systems
Motivation
• Cosmetic prototyping
• Entertainment industry
- Feature animation
- Interactive systems
Motivation
• Cosmetic prototyping
• Entertainment industry
- Feature animation
- Interactive systems
Motivation
• Cosmetic prototyping
• Entertainment industry
- Feature animation
- Interactive systems
Challenges
• Over 100,000 hair strands
• Real hair properties still under research
Overview
• Styling Geometry of hair
Density, distribution, orientation of hair strands
• Simulation Dynamic motion of hair
Collision between hair and other objects Mutual hair interactions
• Rendering Light scattering and shadows
Overview
• Styling Geometry of hair
Density, distribution, orientation of hair strands
• Simulation Dynamic motion of hair
Collision between hair and other objects Mutual hair interactions
• Rendering Light scattering and shadows
Hair Geometry
• Curliness: Straight, wavy, curly, etc.
• Shape of cross-section - Asian hair strand: circular
- African hair strand: very elliptical
- Caucasian hair strand: between the two
Hair styling
• Attaching hair to the scalp
• Global hair shape
• Fine details
Attaching hair to the scalp
• 2D Placement
• 3D Placement
• Distribution of hair strands on the scalp
Global Hair Shape Generation
• Geometry-based hairstyling - Parametric surface
- Wisps and generalized cylinders
• Physically-based hairstyling - Fluid flow
- Styling vector and motion fields
• Generation of hairstyles from images
Global Hair Shape Generation
• Geometry-based hairstyling - Parametric surface
- Wisps and generalized cylinders
Global Hair Shape Generation
• Geometry-based hairstyling - Parametric surface
- Wisps and generalized cylinders
Global Hair Shape Generation
• Geometry-based hairstyling - Parametric surface
- Wisps and generalized cylinders
Global Hair Shape Generation
• Physically-based hairstyling - Fluid flow
- Styling vector and motion fields
Global Hair Shape Generation
• Physically-based hairstyling - Fluid flow
- Styling vector and motion fields
Global Hair Shape Generation
• Physically-based hairstyling - Fluid flow
- Styling vector and motion fields
Global Hair Shape Generation
• Geometry-based hairstyling - Parametric surface
- Wisps and generalized cylinders
• Physically-based hairstyling - Fluid flow
- Styling vector and motion fields
• Generation of hairstyles from images
Finer Details
Finer Details
Finer Details
Hair Mechanics• Difficult to shear and stretch
• Easy to bend and twist
• Anisotropic friction
• Hair geometry also affects motion
Dynamics of Individual Strand
• Mass-spring systems
• One dimensional projective equations
• Rigid multi-body serial chain
• Dynamic super-helices
Mass-Spring Systems
• Particles connected by stiff springs bending rigidity ensured by angular spring at each joint
Simple and easy to implement
But does not account for tortional rigidity or non-stretching of each strand
One-dimensional Projective Equations
• Hair strand as a chain of rigid sticks
Easy to implementEfficientNon-stretchingBending
No tortional stiffnessDifficult to handle
external punctual forces
Rigid Multi-body Serial Chain
• Hair strand as a rigid multi-body open chain
• Bending and twisting DOFs only, stretching DOF removed• Motion computed using forward dynamics
Super-Helices
• Accurate Mechanical Model
Kirchhoff Equation and Cosserat Curves
Super-Helices Model for Strands
• Cosserat curve: a one-dimensional rod
• A material frame defined at each point on the centerline
Kinematics
r (s, t) – centerline
s – curvilinear abscissa along r
t – time ni(s, t) – axis of material frame
Kinematics
Ω(s, t) – Darboux Vector
τ(s, t) – twist
κi (s, t) - curvatures
Spatial Discretization
N – number of segments
Q – index of segments 1≤Q ≤ N
qi,Q(t) – constant curvatures & twist
χQ (s) – characteristic function of Q
Dynamic Equations• Solve equations of motion using
Lagrangian mechanicsq (t) – generalized coordinates
T (q, , t) – kinetic energy
U (q, t) – internal energy
D (q, , t) – dissipation potential
F (s, t) – linenic density of forces
JiQ (s, q, t) – Jacobian matrix
Energy Terms
ρS – mass per unit length
(EI)0 – torsional stiffness
(EI)1,2 – bending stiffness
κ0 – natural twist
κ1,2 – natural curvatures
γ – internal friction coefficient
Equation of Motion• Symbolic Integrations
– inertia matrix
– stiffness matrix
qn – rest position
A – all remaining terms
Key Features
• Discrete model for Kirchhoff equations
• Space integrations performed symbolically
• Stiff constraint of inextensibility incorporated into reconstruction process, therefore removed from the equations of motion
• Stable simulation even for small N
• When N →∞, Kirchhoff Eq recovered
Parameters of Model
• Chosen based on physical measurements
- Hair mass
- Mean radius and ellipticity
- Natural curliness:
- Internal friction γ
Results and Validation
Dynamics of a Full Hairstyle
• Hair as a Continuous Medium
• Hair as Disjoint Groups
• Collision detection and response
• Hair-hair and hair-object interaction
Hair as a Continuous Medium
• Fluid Dynamics
• Loosely Connected Particles
• Interpolation between Guide Hair Strands
• Free Form Deformation
Animating Hair with Fluid Dynamics
• Kinematically link each hair strand to fluid particles in their vicinity
• Hair-hair interactions modeled by pressure and viscosity forces between strands
• Hair-body interactions modeled by creating boundary particles around solid objects
Captures the complex interactions of hair strandsCannot capture the dynamic clustering effectsComputationally expensive
Loosely Connected Particles• Use a set of fluid particles that interact in an adaptive
way• Neighboring particles with similar orientations are linked• During motion particles interact with other particles in its
local neighborhood through breakable links• Allows separation and grouping while maintaining
constant hair length
Interpolation between Guide Hair Strands
• Only simulate a sparse set of hair strands• Remaining strands created by interpolation• Only use the guide strands to detect and handle
collisions - Might miss collisions
Free Form Deformation (FFD)
• Define a mechanical model for a lattice surrounding the head
• Lattice deformed using a global volumetric FFD scheme
• Good for simulating complex hairstyles when head motion has low magnitude
• Cannot reproduce discontinuities in hair
Hair as Disjoint Groups
• Group nearby hair strands, simulate groups as independent, interacting entities
Account for discontinuities during fast motionSave computation time
• Simulation of
- Hair strips
- Wisps
Simulation of Hair Strips• Model groups of strands using a thin flat patch,
e.g. a NURBS surface
Achieves real time using a strip to represent tens or hundreds of hairsLimited in the types of hairstyle and motion
Simulation of Wisps
• Group neighboring strands into wisps
• Wisp representations - Trigonal prism-based wisp
- Typical strand and
random displacements
- Layered wisp model
Multi-resolution Methods
• Tradeoff: performance and realism
• Level-of-detail representations
• Adaptive clustering
Level-of-Detail Representations
• Three discrete levels of detail - strands, clusters, and strips• Common representation by subdivided curves and
surfaces• Collision detection using Swept Sphere Volumes• Dynamic level transition based on visibility, viewing
distance, and motion
Adaptive Clustering
• Continuously adjustment with Adaptive Wisp Tree (AWT)
• Dynamically splits or groups wisps while preserving tree-like structure
• Implicitly models hair interactions
Hair Rendering
• Representation
• Light scattering in hair
• Hair self-shadowing
• Acceleration
Representation
• Explicit representation
curved cylinder, trigonal prism, triangle strips
thin -> undersampling -> blending techniques
• Implicit representation
volumetric textures, cluster model with density
avoid aliasing, but traversal may be expensive
Hair Optical Properties
• Hair composed of amorphous proteins as a transparent medium with an index of refraction η= 1.55
• Contain pigments that absorb light in a wavelength-dependent way -> color
• Circular/elliptical fibers treated as one-dimensional
Light scattering
• One-dimensional reformulation of BRDF
• Reflection and refraction in cylinders
• Physical measurement of scattering
Light Scattering Model
• Kay and Kajiya’s model
• Marschner’s model
Self-shadowing
• Challenges - complex geometry - strong forward scattering properties
• Ray-casting through a volumetric representation• Shadow maps
Rendering Acceleration
• Approximating Hair Geometry
• Interactive Volumetric Rendering
• Graphics Hardware
Summary• Styling Hair geometry
Attaching hair to scalp, generate global shape, capture finer details• Simulation Hair mechanics
Mass-spring systems, One dimensional projective equations, Rigid multi-body serial chain, Dynamic super-helices
Continuous medium, disjoint groups
Multi-resolution methods• Rendering Hair optics
Representation, light scattering, self-shadowing, acceleration techniques
Open Challenges
• Physically-based realism
• Visual realism with high user control
• Computations acceleration
Reference
1. Anjyo, Usami & Kurihara (1992): A simple method for extracting the natural beauty of hair
2. Bertails, Kim, Cani & Neumann (2003): Adaptive wisp tree – a multiresolution control structure for simulating dynamic clustering in hair motion
3. Chang, Jin & Yu (2002): A practical model for hair mutual interactions
4. Hadap & Magnenat-Thalmann (2001): Modeling dynamic hair as a continuum
5. Koh & Huang (2000): Real-time animation of human hair modeled in strips
6. Kurihara, Anjyo & Thalmann (1993): Hair animation with collision detection
7. L'Oréal (2005): Hair Science www.hair-science.com8. Magnenat-Thalmann & Hadap (2000): State of the art in
hair simulation9. Petrovic, Henne & Anderson (2007): Volumetric methods
for simulation and rendering of hair10. Plante, Cani & Poulin (2001): A layered wisp model for
simulating interactions inside long hair11. Rosenblum, Carlson & Tripp (1991): Simulating the
structure and dynamics of human hair: Modeling, rendering, and animation
12. Volino & Magnenat-Thalmann (1999): Animating complex hairstyles in real-time
13. Watanbe & Suenaga (1992): A trigonal prism-based method for hair image generation
14. Ward, Bertails, Kim, Marschner, Cani & Lin (2007): A survey on hair modeling: styling, simulation and rendering
15. Ward & Lin (2003): Adaptive grouping and subdivision for simulating hair dynamics
16. Ward, Lin, Lee, Fisher & Macri (2003): Modeling hair using level-of-detail representations