Title: Hair Simulation
1Hair Simulation
2Motivation
- Cosmetic prototyping
- Entertainment industry
- - Feature animation
- - Interactive systems
3Motivation
- Cosmetic prototyping
- Entertainment industry
- - Feature animation
- - Interactive systems
4Motivation
- Cosmetic prototyping
- Entertainment industry
- - Feature animation
- - Interactive systems
5Motivation
- Cosmetic prototyping
- Entertainment industry
- - Feature animation
- - Interactive systems
6Motivation
- Cosmetic prototyping
- Entertainment industry
- - Feature animation
- - Interactive systems
7Motivation
- Cosmetic prototyping
- Entertainment industry
- - Feature animation
- - Interactive systems
8Motivation
- Cosmetic prototyping
- Entertainment industry
- - Feature animation
- - Interactive systems
9Challenges
- Over 100,000 hair strands
- Real hair properties still under research
10Overview
- 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
11Overview
- 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
12Hair 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
13Hair styling
- Attaching hair to the scalp
- Global hair shape
- Fine details
14Attaching hair to the scalp
- 2D Placement
- 3D Placement
- Distribution of hair strands on the scalp
15Global 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
16Global Hair Shape Generation
- Geometry-based hairstyling
- - Parametric surface
- - Wisps and generalized cylinders
17Global Hair Shape Generation
- Geometry-based hairstyling
- - Parametric surface
- - Wisps and generalized cylinders
18Global Hair Shape Generation
- Geometry-based hairstyling
- - Parametric surface
- - Wisps and generalized cylinders
19Global Hair Shape Generation
- Physically-based hairstyling
- - Fluid flow
- - Styling vector and motion fields
20Global Hair Shape Generation
- Physically-based hairstyling
- - Fluid flow
- - Styling vector and motion fields
21Global Hair Shape Generation
- Physically-based hairstyling
- - Fluid flow
- - Styling vector and motion fields
22Global 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
23Finer Details
24Finer Details
25Finer Details
26Hair Mechanics
- Difficult to shear and stretch
- Easy to bend and twist
- Anisotropic friction
- Hair geometry also affects motion
27Dynamics of Individual Strand
- Mass-spring systems
- One dimensional projective equations
- Rigid multi-body serial chain
- Dynamic super-helices
28Mass-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
29One-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
30Rigid 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
31Super-Helices
- Accurate Mechanical Model
- Kirchhoff Equation and Cosserat Curves
32Super-Helices Model for Strands
- Cosserat curve a one-dimensional rod
- A material frame defined at each point on the
centerline
33Kinematics
- r (s, t) centerline
- s curvilinear abscissa along r
- t time
- ni(s, t) axis of material frame
34Kinematics
O(s, t) Darboux Vector t(s, t) twist ?i (s,
t) - curvatures
35Spatial Discretization
N number of segments Q index of segments 1Q
N qi,Q(t) constant curvatures twist ?Q (s)
characteristic function of Q
36Dynamic 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
37Energy 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
38Equation of Motion
inertia matrix stiffness matrix qn
rest position A all remaining terms
39Key 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 ?8, Kirchhoff Eq recovered
40Parameters of Model
- Chosen based on physical measurements
- - Hair mass
- - Mean radius and ellipticity
- - Natural curliness
- - Internal friction ?
41Results and Validation
42Dynamics of a Full Hairstyle
- Hair as a Continuous Medium
- Hair as Disjoint Groups
- Collision detection and response
- Hair-hair and hair-object interaction
43Hair as a Continuous Medium
- Fluid Dynamics
- Loosely Connected Particles
- Interpolation between Guide Hair Strands
- Free Form Deformation
44Animating 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
45Loosely 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
46Interpolation 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
47Free 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
48Hair 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
49Simulation 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
50Simulation of Wisps
- Group neighboring strands into wisps
- Wisp representations
- - Trigonal prism-based wisp
- - Typical strand and
- random displacements
- - Layered wisp model
51Multi-resolution Methods
- Tradeoff performance and realism
- Level-of-detail representations
- Adaptive clustering
52Level-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
53Adaptive Clustering
- Continuously adjustment with Adaptive Wisp Tree
(AWT) - Dynamically splits or groups wisps while
preserving tree-like structure - Implicitly models hair interactions
54Hair Rendering
- Representation
- Light scattering in hair
- Hair self-shadowing
- Acceleration
55Representation
- Explicit representation
- curved cylinder, trigonal prism, triangle
strips - thin -gt undersampling -gt blending techniques
- Implicit representation
- volumetric textures, cluster model with
density - avoid aliasing, but traversal may be
expensive
56Hair 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 -gt color - Circular/elliptical fibers treated as
one-dimensional
57Light scattering
- One-dimensional reformulation of BRDF
- Reflection and refraction in cylinders
- Physical measurement of scattering
58Light Scattering Model
- Kay and Kajiyas model
- Marschners model
59Self-shadowing
- Challenges
- - complex geometry
- - strong forward scattering properties
- Ray-casting through a volumetric representation
- Shadow maps
60Rendering Acceleration
- Approximating Hair Geometry
- Interactive Volumetric Rendering
- Graphics Hardware
61Summary
- 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
62Open Challenges
- Physically-based realism
- Visual realism with high user control
- Computations acceleration
63Reference
- 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
64- 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
65- 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