Home > Hair and Fur Modeling

**Hair
and Fur Modeling**

**Kelly
Ward**

**Comp
259**

**Spring
2002**

**Overview**

- Hair and fur animation used in movies, games, virtual reality, etc.

- Problem
due to complexity
- Human head has over 100,000 strands of hair
- Computation time for simulation and rendering is costly

**Overview**

- Fur Modeling
- Shorter Hair
- Animals

Final Fantasy

102 Dalmatians

- Hair Modeling
- Longer Hair
- People

**Fur**

- “Real-Time Fur over Arbitrary Surfaces”
- Jerome Lengyel, Emil Praun, Adam Finkelstein, Hughes Hoppe
- Proc. of ACM Simp. on Interactive 3D Graphics, 2001

- Volume
textures are rendered as series of semi-transparent concentric shells

**Fur**

- Create shell texture:
- Simulate virtual hair with a particle system
- Sample it into volume texture

**Fur**

- Fur
near silhouettes, render textured
*fins*

**Fur**

- Render a series of textured, concentric shells, offset from the surface

**Fur**

**Hair
Modeling**

- Different modeling techniques based on desired outcome
- Speed vs. Appearance
- Short vs. Long
- Wavy vs. Straight

**Individual
Strands**

- “A Simple Method for Extracting the Natural Beauty of Hair”
- K. Anjyo, Y. Usami, and T. Kurihara
*Computer Graphics, 1992*

- “Hair
Animation with Collision Detection
- T. Kurihara, K. Anjyo, D. Thalmann
*Models and Techniques in Computer Animation, 1993*

**Individual
Hair Strands**

- Each strand represented as a series of connected line segments

**Strand
of Hair**

- Shape represented by angles specified between two segments
- Polar coordinates
- Zenith
*θ*_{i} - Azimuth
*Φ*_{i} - Specify
resting position for hair as
*θ*_{0 }and*Φ*_{0}

**Polar
Coordinate System**

**Polar
Coordinate System**

Section 0

Node 0

Section 1

Node 1

y

x

z

Φ_{1}

θ_{1}

N_{1}

N_{2}

y

z

**0 ********
θ ********
180°**

x

z

**0 ********
Ф ********
360°**

Nodes, or control points, control
the shape of the skeleton

d

*M*_{θ}*
= M*_{θspring }
*+ M*_{θexternal}

*M*_{Φ}*
= M*_{Φspring }
*+ M*_{Φexternal}

**Physics
of Motion**

- Apply forces to control points
- Use torque for resulting motion of control points
- M
_{θspring, }M_{Φspring }between two segments - M
_{θexternal, }M_{Φexternal }from external forces - Gravity, Wind

**Physics
of Motion**

Where *k*_{θ }
and *k*_{Φ} are spring constants and *θ*_{0 }
and *Φ*_{0}* *
are initial angles

Where

*u*is*(1/2)d,*-
*d*is the length of a segment of hair -
*v*is the half length of the segment that is the projection of*s*_{i}onto the*Φ*plane.

**Collision**

- Hair-Hair collision ignored

- Collision
Detection with Head and Body
- Divide human body into several parts and create a cylindrical representation
- Collision detection reduced to checking for control points inside or outside of cylinders

**Collision**

- Collision Reaction
- Use lookup table and bi-linear interpolation to find normal vectors for collision response direction
- Reaction constraint method by Platt and Barr 1988 is used:

*N*
= normal vector at point *T*

*V *
= velocity of point *P*

*c*
= damping coefficient

*k*
= strength of the constraint

*F*_{input}**
= applied force to node point P**

**Limitations
of Method**

- Simulating each strand very costly
- Collision detection is just rough estimation
- Can fail to detect collisions
- Table Resolution
- Some objects cannot be represented well as cylinder, particularly top of head
- Cannot be applied to hair-hair collisions

**Setup
and Styling Hair**

**Results**

**Group
Strands**

- Strands close to each other behave similarly

- Use
some strands as a guide, interpolate position and motion of strands
near it

- Save
computation time

**Layered
Wisp Model**

- “A Layered Wisp Model for Simulating Interactions inside Long Hair”
- E. Plante, M. Cani, P. Poulin
*Proc. of Eurographics Workshop on Animation and Simulation, 2001*

- Strands
are grouped together into a deformable wisp

**Layered
Wisp Model**

- Three Layers to Wisp
**Skeleton Curve**- Defines global motion and deformations
**Deformable Envelope**- Coats skeleton, defines deformations of wisp sections
**Hair Strands**- Individual strands of hair for rendering

**Wisp
Skeleton**

- Defines global movements and deformations of wisp
- Chain of point-masses linked by linear damping
- Create motion by applying forces to point-masses
- Similar to strand of previous works

**Wisp
Envelope**

- Surrounds the skeleton and defines deformations of the wisp sections

- Responsible
for motion that occurs when the group of hair, or wisp, is stretched
or compressed

**Wisp
Envelope**

- Broken up into cross-sections that are associated with each point-mass of skeleton

- Shape of cross-section dependent on number of envelope point-masses used

- Envelope
point-masses linked to skeleton point-masses through damped springs

**Hair
Strands**

- Individual strands of hair are placed within the wisp for rendering

- Strands
placed randomly within cross-section of wisp, skeleton is origin

- Catmull-Rom
piecewise cubic curves are used to define strands

**Collisions**

- Interactions between wisps
- Create bounding boxes around wisp segments
- Test bounding boxes against each other to detect collision
- Checks for penetration of envelope or skeleton point mass into another bounding volume
- Wisp envelopes can be compressed depending on orientation of colliding wisps
- If same orientation, allow collision

**Collisions**

- Check orientations of wisps
- Determine if collision is allowed
- If not, determine if a point-mass is inside the volume of another wisp section

- Volume defined by two cross-sections

**Collisions**

- Interactions between wisp and person
- Sliding Contact
- Check point-mass close to body (within threshold)
- Eliminate velocity of point-mass

- Penetration
Reaction
- If point-mass (either envelope or skeleton) collides with the body, move point-mass outside of body then use “sliding contact” method

**Results**

__http://w3imagis.imag.fr/Publications/2001/PCP01/long.mpg__

**2D
Strips**

- “A Simple Physics Model to Animate Human Hair Modeled in 2D Strips in Real Time”
- C. K. Koh, Z. Huang
*Proc. of Eurographics Workshop on Animation and Simulation, 2001*

- Group
hairs into 2D strips represented as NURBS surfaces

**Physics
of Motion**

- Dynamic equations are defined and solved for the control points of the surface
- Physics model used is same as previous examples

**Setup
of Hair**

- Hair strands are represented in layers of strips overlaying each other to cover the head
- Surfaces are texture mapped with hair images
- Alpha map is used to define transparency

**Setup
of Hair**

**Collision
Detection & Avoidance**

- Hair strips and external objects (head)
- Ellipsoids used to represent head
- Similar to previous techniques

- Hair
strips and other hair strips
- Use avoidance
- Springs between strips
- Spring force used for either repulsion or attraction.

**F**_{i}**
= Σ(-k**_{s}** * x**_{s}**)**

Where *k*_{s}* *
is the spring constant and *x*_{s} is the displacement
from initial rest length, *i* is control point index, *s*
is spring index

**Results**

**NURBS**

- NonUniform Rational B-Spline

- Powerful
tool in representing free-form shapes and common analytic shapes

- Drawback

- User has to manually adjust multiple control points & associated weights in order to design shapes

**NURBS**

**Curve**- Combination
of a set of piecewise rational functions with n+1 control points p
_{i}associated with weights w_{i}

- B
_{i,k}(u) are B-spline basis functions

- Assuming basis functions of degree k-1, NURBS curve has n+k+1 knots

**Dynamic
NURBS**

- Dynamic
**N***on***U***niform***R***ational***B**-**S***pline*

- Physics-based
models
- Brings time, mass, deformation energy into standard NURBS

- Create
curves by applying simulated forces and local and global shape constraints

**D-NURBS**

**Curve**- Function
of spatial parameter
*u*and time*t*:

- Control
points p
_{i}(t) and weights w_{i}(t) are functions of time & are the generalized coordinates of D-NURBS

- Curve
*c(u,t)*can be expressed as*c(u,p)*to emphasize dependence on vector p (which is a function of time)

**Dynamic
NURBS**

- Incorporates dynamic behavior with geometric modeling for shape representation

- Replaces
connected line segments to give hair smoother, more realistic appearance

**Apply
Forces**

**Simplified
Representations**

- Uses Levels of Detail (LODs) to speed up computation and rendering

- Three
Representations:
**Patch**: D-NURBS surface**Cluster**: Cylinders created with texture-mapped D-NURBS surfaces**Individual Strands**: D-NURBS curves

**Simplified
Representations**

- All three representations follow the same basic skeleton model for dynamic behavior

- Change
LOD based on number of criteria
- Distance to Camera
- Occlusion
- Placement on Head

**Simplified
Representations**

**Simplified
Representations**

**Simplified
Representations**

**References**

- K.
Anjyo, Y. Usami, and T. Kurihara. A simple method for extracting
the natural beauty of hair.
*Computer Graphics, 26(2):111-120, 1992.* - T.
Kurihara, K. Anjyo, and D. Thalmann. Hair animation with collision
detection. In
*Models and Techniques in Computer Animation*, pages 128-38. Springer-Verlag, 1993. - C.
K. Koh and Z. Huang. A simple physics model to animate human hair
modeled in 2d strips in real time.
*Proc. of Eurographics Workshop on Animation and Simulation*, 2001. - E.
Plante, M. Cani, and P. Poulin. A layered wisp model for simulating
interactions inside long hair.
*Proc. of Eurographics Workshop on Animation and Simulation*, 2001. - H.
Qin and D. Terzopoulos. D-NURBS: A physics-based framework for
geometric design.
*IEEE Transactions on Visualization and Computer Graphics,*2(1):85-96, March 1996. ISSN 1077-2626.

- RAJIV GANDHI UNIVERSITY OF HEALTH SCIENCES
- German Railway Engineer
- Nature Reviews Genetics 2, 110-119 (2001); doi:10
- Qualitative Research Methods: Multimodal Analysis
- MEDICINE AND SURGERY UNIT 2
- a a aardvark abaci aback abacus abaft abalone abandon abandoned abandonment abase abasement abash abashed abashedly abashment abate aba
- Full text of "Chemical Synthesis"
- GRADUATORIA_NOLAZIO
- authorbelongf_authorf_belongsubjectp_codep_timep_partp_part_namep_kindp_kind_nameimgcode_partcode_kindcode_daycode_postercode_whichprogram_codecancelb
- GHTF SG5 Key Definitions and Concepts
- Title of Article
- GENERAL SPECIFICATIONS - 1959 Studebaker 259 V8
- Ads Sci Tec16, 243
- generalisation
- Sample 1: Donation Email Template
- archive
- Procedure Number
- the the and that you for this have was are with they but not what think one about there all from has people will now going well
- Misc. Obituary Index (1825-1998), Pensacola News Journal, Escambia Co., FL (RENFROE-ZYSKI)
- Muscles the move the Head & Vertebral Column
- Names:

All Rights Reserved Powered by Free Document Search and Download

Copyright © 2011This site does not host pdf,doc,ppt,xls,rtf,txt files all document are the property of their respective owners. complaint#downhi.com