A simple method for extracting the natural beauty of hair
Download
1 / 23

A Simple Method for Extracting the Natural Beauty of Hair - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

A Simple Method for Extracting the Natural Beauty of Hair. Ken-ichi Anjyo, Yoshiaki Usami, Tsuneya Kurihara Presented by Chris Lutz. “How many roads must a man walk down…”. Presentation Overview. The “Dr. B” presentation style:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'A Simple Method for Extracting the Natural Beauty of Hair' - naeva


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
A simple method for extracting the natural beauty of hair

A Simple Method for Extracting the Natural Beauty of Hair

Ken-ichi Anjyo, Yoshiaki Usami, Tsuneya Kurihara

Presented by Chris Lutz

“How many roads must a man

walk down…”


Presentation overview
Presentation Overview

  • The “Dr. B” presentation style:

    • I’ll just read the first sentence of each paragraph and try to wing it.

    • Next, I’ll write some vocab on the board.

    • Finally, I’ll scribble down some incomplete matrices and run out of time.

  • (I’m assuming Dave can take a joke.)

  • Man, it’s late. Wow.


Real presentation overview
Real Presentation Overview

(It’s not all that much better, really)

  • How hair is actually represented and how it is allowed to move

    • WHAM! Whole lotta math comin’ atchya

  • Dynamic behaviors

    • Coordinate system

    • Inertia and force fields

  • Rendering Techniques & Results


Philosophy and caveats
Philosophy and Caveats

  • This paper is concerned (oddly enough) with the “natural beauty” of hair.

  • To that end, the authors sacrifice some realism:

    • Physically-based simulation

    • Collision detection between hair & body as well as hair & other hair

    • Shadowing of hair onto itself

  • In a sense, they’re after pretty pictures


Modeling process overview
Modeling Process Overview

  • 1. Create a model of a head

  • 2. Define an ellipsoidal hull

    • A rough approximation, yes, but not too bad

    • It’s faster for collisions & pore placement

  • 3. Calculate hair bending (cantilever beam)

  • 4. Cut and style as desired

    • Essentially, “blow-dry” the hair by applying various directional forces


Not so touchably soft
Not So Touchably Soft

  • Hair is modeled as a series of segments connected at bending points

  • Apply some force to the beam and watch it deform

  • d2y/dx2 = -M/(E*I)

    • E: Young’s Modulus

    • I: 2nd momentum of area


Get volume through math
Get Volume Through Math

  • Bending by “sequentially averaged concentrated loads”

  • Mi = -||g||d(1k-i+1p + 1k-ip)/2 = -||g||d(k-i+1)2/2

    • g: force on the hair

    • 1..k: number of segments in the hair

    • d: segment length

  • Displacement of node yi = (-1/2)*(Mi/E*I)*d2

  • 2D: define a new vector ei of magnitude yi

    • ei = pi-2pi-1 + yi

    • pi = (d/||ei||)ei + pi-1

  • New node pi = (d/||ei||)ei + pi-1


3d bending
3D Bending

  • Set up coordinate system

  • Use 2D deformation formulas along both a0 (x) and a2 (z) axes

  • The deflectional vector is is then just y1a1 + y2a2


Avoiding the issue of hair piercing the skull
Avoiding the Issue of Hair Piercing the Skull

  • Since collision detection using the actual head model is hard, revert to using an ellipsoidal representation

  • Check every new pi for collision

    • If the new pi collides with the head, move it to a “close” point on the plane defined by pi-2, pi-1, and pi

    • Which way do you move it?


The taming of the do
The Taming of the ’Do

  • (a) Initial conditions: zero-g bed-head

  • (b) Gravity kicks in

  • (c) Apply external forces (blow-dry) the hair & cut (define y-threshold and pore location)

  • (d) Paul Mitchel would be proud



The answer my friend
The Answer, My Friend...

  • So we want to add wind; that means keeping track of inertia and applied forces

  • Again, some realism issues:

    • Hair is modeled as rigid segments connected with flexible joints

    • Hair-to-hair collisions & friction is not modeled in a physically correct manner

  • Use a pseudo force-field and solve differential equations


Single hair dynamics
Single Hair Dynamics

  • Set up an initial polar coordinate system like the one to the right

  • Track the projection of the hair onto the  and  planes



More math stuff
More Math Stuff

  • i(t) = d2i/dt2 = ci ui F

  • i(t) = d2i/dt2 = ci vi F

  • Variables:

    • ci: reciprocal number of the inertia moment of si

    • ui: (1/2)||si||

    • vi: half of segment si projected onto  plane

    • F &F: the respective force components


Still more math stuff
Still More Math Stuff

  • Given in-1 and in

  • in+1 = in+1-2in+in-1 = (t)2ciuiF

  • Similar thing for in+1

    • Outer loop is segment number I

    • Inner loop is time loop n

  • By selectively manipulating the ci’s, you can simulate frictional effects

  • You can also manipulate joint stiffness


Hey look a dab of reality
Hey Look! A Dab of Reality!

  • We should try and keep track of the inertia moment of hair

    • kd: length of hair (k segments of length d)

    • : line density

  • IS = (1/3)(kd)2

  • Ii = (/3i)k3d2

  • Putting this in for (t)2ciui results in (3(t)2i) / (2k3d)


A bouncy hold all day long
A Bouncy Hold All Day Long

  • (a) 10,000 hairs of length <= 18

  • (b) F = (-200, 0, 0), 10th frame

  • (c) F = (-20, -250, 0), 15th frame

  • (d) 20th frame shows the effects of the force (wind) shift


Pseudo force fields
Pseudo-Force Fields

  • Again, hairs could pierce the skull (bad)

  • Define a pseudo-force field to replace the specified force for hairs close to the head

  • Make this PsFF ellipsoidal to make it easier


Pseudo force field definition
Pseudo-Force Field Definition

  • F: original user-specified force (wind)

  • Di: segment direction of si defined in terms of the ellipsoid

    • E(p): Di = (Ex(pi), Ey(pi), Ez(pi))

    • Ex, Ey, Ez: partial derivatives of polynomial

  • For some value (|| <= 1):

    • If (Di, F) < ||Di||||F|| then si is facing “into” F

    • If si is near the head, replace F with iF

    • (near pore) 0 <= i <= 1 (end of hair)

  • Ellipsoidal representation won’t always look good


Lighting silky shiny
Lighting: Silky & Shiny

  • Diffuse term is neglected

  • Instead of polylines, assume the hair is cylindrical

  • s(P) = ks(1-(T,H)2)n/2

    • n: specular exponent

    • ks: reflection coeff.

  • Close to Phong shading


Rendering time measures
Rendering & Time Measures

  • Use z-buffer algorithm to render the hair & linearly interpolate colors across segments (oversample if hairs are thin)

  • 20,000 hairs with <= 20 segments: 50 sec for modeling, “several” for rendering on a SG Iris Power Series w/ VGX gfx board

  • “The image with a different camera angle was obtained almost in real-time”


Split ends closing issues
Split Ends (Closing Issues)

  • If you define (complicated) regional forces, you could create almost any hairstyle, right?

  • It seems hard to add any human touches, e.g. ponytails or dreadlocks.

  • In all honesty, when would anyone really care about the exact physics of hair?

  • It would be nice to have a shot of lighter-colored hair, just to see what it looked like.


ad