Creation of dynamic hair strands from 2D lines

Version française


© Disney
Context
This internship is in line with a current collaboration between INRIA teams BiPop and EVASION and a French animation studio whose goal is to make out a movie containing a lot of scenes with moving, stylized hair. One of the main issue of the collaboration is to obtain a physical model of the hair being both realistic and easily controllable by an artist.

[BAC+06]
The Super-Helix model [BAC+06], represented as a piecewise helix, allows for the realistic simulation of a hair strand, whatever its shape is (smooth, wavy, curly). Thanks to this primitive, we were able to generate full hair animations in a realistic and computationally efficient way.

[BAC+06]
Still, an unsolved problem is the modeling of an arbitrary hair strand from this physical model. For now, the user has to manually give as input physical and geometrical parameters in order to generate a 3D curve (a piecewise helix) whose shape under gravity (rest shape) is automatically processed via the mechanical Super-Helix model. Conversely it is not possible for now, starting from a given curve, to automatically compute the corresponding Super-Helix (i.e. its physical and geometrical parameters). Yet such a method would be very useful in the context of hair modeling and animation. Indeed, an artist typically would like to straightforwardly control the shape of hair at rest by sketching curves, instead of tediously tuning physical parameters. Actually, the artist would ideally have at his or her disposal a 2D sketching interface which automatically generates a 3D Super-Helix into the scene, with a shape at rest that projects onto the 2D curve drawn by the artist in the most accurate way.

An interesting property of the circular helix is that its projections in the Cavalier perspective give 2D curves belonging to the trochoid family. We would like to exploit this geometrical property in order to construct a 3D Super-Helix from a 2D line sketched by the artist.


The shape of the shade of a circular helix is exactly a trochoid (ref: mathcurve).
Stages of the internship
This internship will be decomposed into three distinct stages.
  • The first stage will be to find a relevant and efficient algorithm to approximate a 2D curve by a piecewise trochoid.
  • The second stage will consist in finding the piecewise helix (or helices) such that its projection in Cavalier perspective exactly matches the piecewise trochoid from the previous stage.
  • The third and last stage will enable to find the physical parameters of the Super-Helix with a rest shape which is exactly the Super-Helix from the previous stage, in the 3 following cases:
    • no external force is applied to the Super-Helix (trivial case);
    • the Super-Helix is subjected to gravity;
    • the Super-Helix is subjected to gravity and contact forces.
Prerequisites : good aptitude for maths (geometry and optimization), algorithmics (data structures, object-oriented programing, dynamic programing, ...), and implementation (Matlab/C++).

Advisors : Florence Bertails (BiPop team) et Franck Hétroy (EVASION team).
Feel free to contact us to get more information (FirstName (dot) Name (at) inrialpes (dot) fr).

References:
[BAC+06] Super-Helices for Predicting the Dynamics of Natural Hair, F. Bertails, B. Audoly, M.-P. Cani, B. Querleux, F. Leroy et J.-L. Lévêque, ACM SIGGRAPH 2006
[WBC07] Realistic Hair from a Sketch, J. Wither, F. Bertails, M.-P. Cani, Shape Modeling International 2007
[MS08] Sketching Piecewise Clothoid Curves, J. McCrae, K. Singh, Eurographics Workshop on Sketch-Based Interfaces and Modeling 2008
[Mathcurve] Trochoids on Mathcurve