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

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

  • Uploaded on
  • Presentation posted in: General

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:

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

Download Presentation

A Simple Method for Extracting the Natural Beauty of Hair

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

Other hip styles

Other Hip Styles

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

Plane definitions

Plane Definitions

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.

  • Login