/DiscreteElasticRods

hair simulation demo

Primary LanguageC++MIT LicenseMIT

About

This project is a stand alone hair simulation tool written as part of my master thesis at BU and incorporates a few components -

  • acurately capturing the dynamics of a single hair strand of an arbitrary shape - straight, wavy or curled
  • coarse approximation of hair to hair interactions
  • OpenGL preview of the simulated data
  • export of the hair system as standard .obj files to import in other DCC software as f.e. Houdini(see below).

Single strand dynamics was implemented with the intention to capture all the elastic energy contributions - streching, bending and twisting, where stretching and bending are modeled by the deformations of the space curve, while twisting - by the rotation of a material frame associated with each point on the curve. Implementation is based on the paper "Discrete Elastic Rods" by Bergou et al., ACM Transactions of Graphics (SIGGRAPH) 2008, with a few modifications made to the way coupling rods to rigid body and enforcing rod inextensibility is handled. Position-based dynamics is used instead of the proposed manifold projection method. This achieves better performance and helps improve the stability of the simulation.

OpenGL preview

https://vimeo.com/104214025

Imported in Houdini and rendered with Mantra

Video

https://vimeo.com/107726073

Images

curly1 curly2 wavy1