블로그 이미지
Leeway is... the freedom that someone has to take the action they want to or to change their plans.
maetel

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
  • total
  • today
  • yesterday

Category

2007. 7. 23. 19:44 Method/VFX
invalid-file

<A Survey on Hair Modeling: Styling, Simulation, and Rendering>

Kelly Ward, Florence Bertails, Tae-Yong Kim, Stephen R. Marschner, Marie-Paule Cani, Ming C. Lin

Walt Disney Features Animation
EVASION-INRIA, Grenoble, France
Rhythm & Hues Studios
Cornell University
EVASION/INRIA & INP Grenoble, France
University of North Carolina at Chapel Hill


I. A. Hair Modeling Overview

hair modeling - hairstyling / hair simulation / hair rendering
    hairstyling: modeling the shape of the hair
           - geometry, density, distribution, orientation
    hair simulation: dynamic motion of hair
          - collision, mutual interactions
    hair rendering: visual depiction of hair
          - color, shadows, light scattering, transparency, anti-aliasing
ref. Magnenat-Thalmann

- geometric complexity and thin nature of an individual strand coupled with the complex collisions and shadows that occur among the hairs

GPU


I. B. Applications and Remaining Problems

cosmetic product
entertainment industry (feature animation)
interactive systems (virtual environments, videogames)


II. HAIRSTYLING
II. A. Hair Structural and Geometric Properties

hair types - Asian / African / Caucasian
- Asian: smooth, regular, a circular corss-section
- African: irregular, an elliptical cross-section
- Caucasian: ranged from smooth to curly

Visual styling techniques are for applications that desire a visually-prausible solution to match the final results with the appearance of real-world hair.


II. B. Attaching Hair to the Scalp

1) 2D Placement
    : spherical mapping of 2D map to the 3D contour of the scalp
    * TY Kim - 2D space defined by the two parametric coordinates of the patch wrapped interactively over the head model
    * Bando - harmonic mapping, compensation based on a Poisson disc distribution

2) 3D Placement
    : selecting triangles defined the scalp interactively

3) Distribution of Hair Strands on the Scalp
    : uniform distribution over the scalp
    * the user's painting local hair density as color levels and further characteristics such as length or curliness
ref. B. Hernandez & I. Rudomin, <Hair Paint>,
Computer Graphics International (CGI), June 2004, pp. 578-581


II. C. Global Hair Shape Generation

1) Geometry-Based Hairstyling
    : a parametric representation of hair in the form of trigonal prisms or generalized cylinders
    a) Parametric Surface: A patch of a parametric surface such as a NURBS surface("hair strips") are given a location on the scalp, an orientation, and weighting for knots to define a desired hair shape.
       * U-shape
       * Thin Shell Volume (TSV)
       * key hair curves generated along the isocurves of the NURBS volume
    b) Wisps and Generalized Cylinders: The positioning of one general space curve serves as the center of a radius function defining the cross-section of a generalized cylinder ("a hair cluster").
    c) Multi-resolution Editing: A hierarchy of generalized cylinders allows users to select a desired level of control in shape modeling.

2) Physically-based Hairstyling
    a) The Cantilever Beam: A cantilever beam is defined as a straight beam embedded in a fixed support at one end only. Gravity and extra-forces need to be applied to the strand.
    b) Fluid Flow: The idea that static hair shapes resemble snapshots of fluid flow around obstacles.
    c) Styling Vector and Motion Fields: Given a global field generated by superimposing procedurally defined vector field primitives, hair strands are extracted by tracing the field lines of the vector field. Hair deformation is computed by using the previous algorithm applied on the modified vector field. (Three types of constraints: point / trajectory / direction)

3) Generation of Hairstyles from Images
    : the automatic reconstruction of hair from imgaes
    a) Hair Generation from Photographs: Building a 3D hair volume from various viewpoints of the subject's hair is for simple hairstyles.
    b) Hair Generation from Sketches: In a sketch-based system dedicated to modeling cartoon hairstyles, Curves representing clusters of hair are generated between silhouette surface and the scalp.

4) Evaluation
  

II. D. Managing Finer Hair Properties

1) Details of Curls and Waves
    - a class of trigonometric offset functions with rabdin terms
    - a breakaway behaviour from the fluid flow based on a probability function
    - the degree of similarity among the master strands controlled by a length distribution, a deviation radius function and a fuziness value
    * a Markov chain process
    * a Gibbs distribution
    * the Kirchhoff model (: a mechanically accurate model for static elastic rods)
   
2) Producing Hair Volume
    - for hair self-collisions, hair can be viewed as a continuous medium
    - the idea that hair strands with pores at higher latituds on the head cover strands with lower pores
    - a hair-head collision detection & response algorithm
    * a quasi-static head

3) Modeling Styling Products and Water Effects
    - A styling force is used to enable hairstyle recovery as the hair moves due to external force or head movement. (1)The desire is to retain the deformed hairstyle rather than returning to the initial style. (2)Breakable static links or dynamic bonds can be used to capture hairstyle recovery by applying extra spring forces between nearby sections of hair (to mimic the extra clumping of hair created by styling products).
    - Using a dual-skeleton model for simulating the stiffness of hair motion, separated spring forces can be used to control the bending of hair strands versus the stretching of curls.
    - " As water is absorbed into hair the mass of the hair increases uip to 45%, while its elasticity modulus decreased by a factor of 10."  And the volume of the hair decreases due to the bonding nature of water.
       * Young's modulus of each fiber
    - An interactive virtual hairstyling system introduced by Ward et al.

ref.
K. Ward, N. Galoppo, M. C. Lin <Modeling hair influenced by water and styling products>, International Conference on  Computer Animation and Social Agents (CASA), May 2004, pp. 207-214
K. Ward, N. Galoppo, M. Lin <Interactive virtual hair salon>, PRESENCE: Teleoperators & Virtual Environments (to appear), 2007
  

III.  HAIR  SIMULATION
III. A. The Mechanics of Hair

- The irregular surface of individual hair strands causes anisotropic friction inside hair, with an amplitude (that strongly depends on the orientation of the scales and of the direction of motion).
- Hair-hair friction results in triboelectricity.
- The more intricate the hair's geometry is, the less degrees of freedom it has during motion.


III. B. Dynamics of Individual Hair Strands

1) Mass-Spring Systems
    : A single hair strand is modeled as a set of particles connected with stiff springs and hinges.

2) One Dimensional Projective Equations
    : The statics of a cantlever beam is simulated to get an initial plausible configuration of each hair strand. Then, each hair strand is considered as a chain of rigid sticks.

3) Rigid multi-body serial chain
    : Each hair strand can be represented as a serial, rigid, multi-body open chain using the reduced or spatial coordinates formulation, in order to keep only the bending and twisting degrees of freedom of the chain.
    * Articulated-Body Method
    * DOF
    * multi-pass forward dynamics algorithm

4) Dynamic Super-Helices
    * Kirchhoff theory for elastic rods
    : The curvatures and the twist of the rod are assumed to remain constant over each predefined piece of the rod. As a result, the shape of the hair strand is a piecewise helix, with a finite number of degrees of freedom. This model is then animated using the princiles of Lagrangian mechanics, accounting for the typical nonlinear behavior of hair, as well as for its bending and twisting deformation modes.
   
5) Handling external forces

ref.
D. W. Lee & H. S. Ko <Natural hairstyle modeling and animation>, Graphical Models, vol. 63, no. 2, pp. 67-85, March 2001
[39]

6) Evaluation
(Table II 삽입!)


III. C. Simulating the Dynamics of a Full Hairstyle

detection and resonse => computing hair contacts and collisions

1) Hair as a Continuous Medium
    : hair as an anisotropic continuous medium
    a) Animating Hair Using Fluid Dynamics: Interaction dynamics, including hair-hair, hair-body, and hair-air interactions, are modeled using fluid dynamics. Individual hair strands are kinematically linked to fluid particles in their vicinity. The density of the hair medium is defined as the mass of hair per unit of volume occupied. The pressure and viciosity represent all of the forces due to interactions to hair strands.
Hair-body interactions are modeled by creating boundary fluid particles around solid objects. A fluid particle, or Smooth Particle Hydrodynamics (SPH), exerts a force on the neighboring fluid particles basedd on its normal direction. The viscous pressure of the fluid, which is dependent on the hair density, accounts for the frictional interactions between hair strands.
    b) Loosely Connected Particles: Each particle represents a certain amount of hair material which has a local orientation (the orientation of a particle being the mean orientation of every hair strand covered by the particle). Initially, connected chains are setteld between neighboring particles being aligned with local hair orientation: two neighboring particles having similar directions and being aligned with this direction are linked. -> breakable links between close particles
    c) Interpolation between Guide Hair Strands: Using multiple guide hair strands for the interpolation of a strand alleviates local clustering of strands. A collision among hair strands is detected by checking for intersections between two hair segments and between a hair vertex and a triangular face.
    d) Free Form Deformation (FFD): A mechanical model lis defined for a lattice surrounding the head. The lattice is then deformed as a particle system and hair strands follow the deformation by interpolation.
        * metaball

2) Hair as Disjoint Groups
    : to capture local discontinuities observed inside long hair during fast motion
    a) Real-time Simulation of Hair Strips: The projective angular dynamics method is applied to the control point mesh of the NURBS surface. The strips of texture-mapped hair are simulated using a mass-spring model and 3D morphing.
    b) Simulation of Wisps: During motion, the shape of a wisp is approximated by parabolic trajectories of fictive particles initially located near the root of each wisp.


III. D. Multi-resolution Methods

1) Level-of-Detail Representations
    : Three different levels of detail (LODs) for modeling hair - individual strands, clusters and strips represented by subdivision curves, subdivision swept volumes, and subdivision patches. The family of swept shpere volumes (SSVs) as bounding volumes encapsulates the hair.
   
2) Adaptive Clustering
    : The Adaptive Wisp Tree (AWT) represents at each time step the wisps segments of the hierarchy that are actually simulated (called active segments). The AWT dynamically splits or merges hair wisps while always preserving a tree-like structure.


IV. HAIR RENDERING
IV. A. Representing Hair for Rendering

explicit models - line or triangle-based renderers
volumetric models - volume renderers, or rendering algorithms

1) Explicit Representation
    - curved cylinders / trigonal prisms with three sides / ribbon-like connected triangle strips / tessellating a curved hair geometry into polygons

2) Implicit Representation
    - volumetric textures (texels) / the cluster hair model


IV. B. Light Scattering in Hair

: The first requirement for any hair rendering system is a model for the scattering of light by individual fibers of hair.

1) Hair Optical Properties
    - A hair fiber is composed of three structures: the cortex, the cuticle, and the medulla.
    - A hair is composed of amorphous proteins that act as a transparent medium with an index of refraction (refractive index=1.55).
    - The cortex and medulla contain pigments that absorb light, often in a wavelength-dependent way; these pigments are the cause of the color of hair.

2) Notation and Radiometry of Fiber Reflection
    Because fibers are usually treated as one-dimensional entities, light reflection from fibers needs to be described somewhat differently from the more familiar surface reflection.

사용자 삽입 이미지

Light scattering at a surface is conventionally described using the bidirectional reflectance distribution function (BRDF). The BRDF gives the density with respect to the projected solid angle of the scattered flux that results from a narrow incident beam. It is defined as the ration of surface radiance (intensitiy per unit projected area) exiting the surface in direction w_r to surface irradicance (flux per unit area) falling on the surface from a differential solid angle in the direction w_i:

사용자 삽입 이미지


The scattering function f_s for a fiber is "the ratio of curve radiance (intensity per unit projected length) exiting the curve in direction w_r to curve irradiance (flux per unit length) falling on the curve from a differential solid angle in the direction w_r."

f_s = Curve Radiance / Curve Irradiance
     = (Intensity/Length)(w_r) / (Flux/Length)(w_i)

사용자 삽입 이미지

The curve radiance due to illumination from an incoming radiance distribution



ref.
S. Marschner, H. W. Jensen, M. Cammarano, S. Worley, and P. Hanrahan <Light scattering from human hair fibers>, ACM Transactions on Graphics, vol. 22, no. 3, pp. 780-791, July 2003, proceedings of ACM SIGGRAPH 2003

Curve irradiance measures the radiant power intercepted per unit length of fiber and therefore increases with the fiber's width.
    => Given two fibers with identical properties but different widths, the wider fiber will produce a brighter curve in a rendered image because the wider fiber intercepts more incident light. This definition is consistent with the behavior of real fibers: very fine hairs do appear fainter when viewed in isolation.


3) Reflection and Refraction in Cylinders
Bravais Law: The frequency with which a given face is observed is roughly proportional to the number of nodes it intersects in the lattice per unit length. (© 1996-2007 Eric W. Weisstei)
cf. wikipedia: crystal system

Snell's Law: The boundary condition that a wave be continuous across a boundary  requires that the phase of the wave be constant on any given plane
cf. wikipedia: Snell's Law

Light transmitted through a smooth cylinder will emit on the same cone as the surface reflection, no matter what sequence of refractions and internal reflections it may have taken.

 
4) Measurements of Hair Scattering
There are two specular peaks, one on either side of the specular direction, and there is a sharp ture specular peak that emerges at grazing anles.

5) Models for Hair Scattering
Fermat's Principle: A light ray, in going between two points, must traverse as optical path length which is stationary with respect to variations of the path.
cf. wikipedia: Fermat's Principle

Fresnel factor
Fresnel diffraction or near-field diffraction is a process of diffraction which occurs when a wave passes through an aperture and diffracts in the near field, causing any diffraction pattern observed to differ in size and shape, relative to the distance. It occurs due to the short distance in which the diffracted waves propagate.

6) Light Scattering on Wet Hair
When objects become wet thet typically appear darker and shinier.
As hair becomes wet, a thin film of water is formed around the fibers, forming a smooth, mirror-like surface on the hair. This smoother surface creates a shinier appearance of the hair due to increased specular reflections. Light rays are subject to total internal reflection inside the film of water around the hair strands, contributing to the darker appearance wet hair has over dry hair.
Water is absorbed into the hair fiber, increasing the opacity value of each strand leading to more aggressive self-shadowing.


IV. C. Hair Self-Shadowing and Multiple Scattering

Self-shadowing creates crucial visual patterns that distinguish  one hairstyle from another.

1) Ray-casting through a Volumetric Representation

2) Shadow Maps
The shadow map is a depth image of hair rendered from the light's point of view. Each point of be shadowed is projected onto the  light's camera and the point's depth is checked against the depth in the shadow map.

The transmittance function accounts for two important properties of hair.
Fractional Visibility: If more hair fibers are seen along the path from the light, the light gets more attenuated (occluded), resulting in less illumination (shadow).
Translucency

> Deep shadow maps
> Opacity shadow maps
> Photon mapping methods


IV. D. Rendering Acceleration Techniquies

1) Approximating Hair Geometry
> texture mapping
> alpha mapping
> Level of detail (LOD) representations

2) Interactive Volumetric Rendering
> hair modeling as a set of connected particles (<= fast cloud rendering techniques)
> accumulating transmittance values through a light-oriented voxel grid (-> interactive results for animated hair)

3) Graphics Hardware
Graphics processor units (GPUs)
languages such as Cg


V.

> physically-based realism (for cosmetic prototyping)
> visual realism with a high user control (for feature films)
> computations acceleration (for virtual environments and videogaes)


V. A. Hairstyling

- haptic techniques for 3D user input

V. B. Animation

V. C. Rendering

- simulating accurate models for both the scattering of individual hair fibers
- the computations of self-shadows at interactive rates





posted by maetel