VIPER: Volume Invariant Position-based Elastic Rods
SCA 2019
This paper is written by Baptiste Angles, who was previously an intern at SEED's Los Angeles office.
We extend the formulation of position-based rods to include elastic volumetric deformations. We achieve this by introducing an additional degree of freedom per vertex -- isotropic scale (and its velocity). Including scale enriches the space of possible deformations, allowing the simulation of volumetric effects, such as a reduction in cross-sectional area when a rod is stretched. We rigorously derive the continuous formulation of its elastic energy potentials, and hence its associated position-based dynamics (PBD) updates to realize this model, enabling the simulation of up to 26000 DOFs at 140 Hz in our GPU implementation. We further show how rods can provide a compact alternative to tetrahedral meshes for the representation of complex muscle deformations, as well as providing a convenient representation for collision detection. This is achieved by modeling a muscle as a bundle of rods, for which we also introduce a technique to automatically convert a muscle surface mesh into a rods-bundle. Finally, we show how rods and/or bundles can be skinned to a surface mesh to drive its deformation, resulting in an alternative to cages for real-time volumetric deformation.
ANGLES, Baptiste (Google, SEED, Université de Toulouse). REBAIN, Daniel (Google, University of Victoria). MACKLIN, Miles (NVIDIA, University of Copenhagen). WYWILL, Brian (University of Victoria). BARTHE, Loic (Université de Toulouse, IRIT / CNRS), LEWIS, JP (SEED), VON DER PAHLEN, Javier (SEED). IZADI, Shahram (Google). VALENTIN, Julien (Google). BOUAZIZ, Sofien (Google). TAGLIASACCHI, Andrea (Google, University of Waterloo, University of Victoria). VIPER: Volume Invariant Position-based Elastic Rods, SCA 2019.
You can download the paper here: PDF (50 MB)
You can also check out an implementation of the paper here: code