A Simple Method for Extracting the Natural Beauty of Hair Ken-ichi Anjyo, Yoshiaki Usami, Tsuneya...

23
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…”

Transcript of A Simple Method for Extracting the Natural Beauty of Hair Ken-ichi Anjyo, Yoshiaki Usami, Tsuneya...

Page 1: 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 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 manwalk down…”

Page 2: 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.

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.

Page 3: 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.

Real Presentation Overview

• 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

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

Page 4: 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.

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

Page 5: 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.

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

Page 6: 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.

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

Page 7: 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.

Get Volume Through Math• Bending by “sequentially averaged concentrated loads”

• Mi = -||g||d(1k-i+1p + 1

k-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-2pi-1 + yi

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

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

Page 8: 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.

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

Page 9: 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.

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?

Page 10: 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.

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

Page 11: 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.

Other Hip Styles

Page 12: 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.

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

Page 13: 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.

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

Page 14: 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.

Plane Definitions

Page 15: 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.

More Math Stuff

i(t) = d2i/dt2 = ci ui F

i(t) = d2i/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

Page 16: 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.

Still More Math Stuff

• Given in-1 and i

n

in+1 = i

n+1-2in+i

n-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

Page 17: 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.

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) / (2k3d)

Page 18: 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 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

Page 19: 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.

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

Page 20: 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.

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

Page 21: 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.

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

Page 22: 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.

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”

Page 23: 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.

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.