Modeling Hair-Hair Interactions Using Sparse Guide Hairs Yizhou Yu Joint work with Johnny Chang and Jingyi Jin Department of Computer Science University of Illinois at Urbana-Champaign
Dynamic Hair Interactions • Hair-Hair Collision • Volumetric Appearance • Computationally Expensive for >50,000 Hairs • Adhesive Forces due to Cosmetics, Interweaving, Static Charges • Hairstyle Recovery after Minor Movements • Hairs are hard to stretch, and interactions become obvious when they are sufficiently close.
Hair Simulation Using Sparse Guide Hairs • Simulating Sparse Guide Hairs • Single strand dynamics for each guide hair • Simulating adhesive forces using static links • Simulating hair-hair collisions using density modulated triangle strips • Dense Hair Simulation by Interpolation • Hair interpolation happens at each frame. • Fixed correspondences between dense hairs and guide hairs to achieve temporal coherence • Hair-object collisions are handled after interpolation for each individual strand.
Guide Hair Modeling • Modeling hair flows with vector fields
Related Work on Hair Animation • Single Strand Dynamics • Mass-Spring-Hinge Model • [ Rosenblum et. al. 91 ], [ Daldegan et. al. 93 ] • Cantilever Beam • [ Anjyo et. al. 92 ] • Multi-body Open Chain • [ Hadap & Thalman 01 ] • Hair-Hair Interactions • Fluid-based Model • [ Hadap & Thalman 01 ] • Wisp-based Model • [ Plante et. al. 01 ]
Hair Strand Dynamics • Each hair strand is modeled as a rigid multi-body open chain • Forward Dynamics • Featherstone’s algorithm or Lagrange’s equations for generalized coordinates. • Joint actuator force accounts for the bending and torsional rigidity of the strand. • Deviation from the resting position results in a nonzero resisting actuator force. • Hair-hair interactions are formulated as external forces in addition to gravity.
Static Links • Breakable Elastic Connections among Nearby Guide Hairs • Simulate the bonding effects formed when hair is in still • Enhance hairstyle recovery after minor movements. • Static links enforce neighborhood configurations by exerting external forces onto the hair strands.
Static Links as Positional Springs • Introduce a local coordinate system to each segment of the hair strands. • Transform points on the nearby strands to the segment’s local system and keep them as the reference points. • Forces are generated to recover the original relative positions of these reference points.
Force from Static Links • The accumulated force a segment receives due to static links can be formulated as • ks is the spring constant kd is the damping constant, v is the time derivative of l, and • A static link can be broken when its length change exceeds a threshold.
Dynamic Interactions • Use of auxiliary triangle strips to imagine the space in between the set of sparse guide hair • Collisions between the hair segments and the triangle strips are explicitly considered
Modeling Hair Density • Every face on a triangle strip is associated with a density value which can be zero. • The length of the triangle edges serves as the indicator for the hair density on a strip. • If a triangle becomes too elongated, its density is labeled as zero. • Hair strands are allowed to go through sparse or broken pieces of a triangle strip more easily.
Modeling Collision Forces • Depending on the orientation of the penetrating hair vertex and the triangular face, the repelling spring force might vary. • where a is the normalized tangential vector of the hair at the penetrating vertex, b is the interpolated hair orienation on the triangular face, λ is the scale factor • The scale factor λ is adjusted according to the hair density.
Adaptive Hair Generation • Generate additional guide strands adaptively on the fly to cover the over interpolated regions • Compare the distance between two guide strands. If the distance is too far, an adaptive hair is inserted. • Inserted guide hairs can also be removed during the simulation
Hair Interpolation • Define a local coordinate system at each hair root • Interpolate the transformed coordinates translation translation + rotation
Random Curliness I • Editing Hairs with an Offset Function
Random Curliness II • Parametric Offset Function • Variable magnitude + variable period
Hair Rendering Kajiya-Kay Illumination Model + Adjustable Translucency
Conclusions • Hair mutual interactions are indispensable for realistic hair simulations. • We use sparse guide hairs to produce hair motion, and densely interpolated hairs for the final appearance. • We propose to use static links to simulate adhesive forces and enhance hairstyle recovery, and density modulated triangle strips for hair-hair collisions.