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 Simulation Dynamic motion 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 Simulation Dynamic motion 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 implement Efficient Non-stretching Bending No tortional stiffness Difficult 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 mechanics q (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 qn – rest position – 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 strands Cannot capture the dynamic clustering effects Computationally 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 motion Save 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 hairs Limited 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 Simulation Rendering 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 Anjyo, Usami & Kurihara (1992): A simple method for extracting the natural beauty of hair Bertails, Kim, Cani & Neumann (2003): Adaptive wisp tree – a multiresolution control structure for simulating dynamic clustering in hair motion Chang, Jin & Yu (2002): A practical model for hair mutual interactions Hadap & Magnenat-Thalmann (2001): Modeling dynamic hair as a continuum 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.com 8. Magnenat-Thalmann & Hadap (2000): State of the art in hair simulation 9. Petrovic, Henne & Anderson (2007): Volumetric methods for simulation and rendering of hair 10. Plante, Cani & Poulin (2001): A layered wisp model for simulating interactions inside long hair 11. 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