1 / 23

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. The “Dr. B” presentation style:

naeva
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 man walk down…”

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

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

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

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

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

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

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

  9. 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?

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

  11. Other Hip Styles

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

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

  14. Plane Definitions

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

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

  17. 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)

  18. 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

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

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

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

  22. 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”

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

More Related