AnimMorph

Mesh interpolation

AnimMorph was my project for Justin Solomon‘s MIT class, Shape Analysis (6.838). For this project, I implemented Chen, Weber, Keren, and Ben-Chen’s paper, “Planar Shape Interpolation with Bounded Distortion.”

In extension to the paper, I present a way to interpolate between meshes using any generic interpolation or spline based function, such as cubic splines or bezier. Below is an example of a bar mesh being interpolated between three keyframes (red, green, and blue). The top sequence shows the interpolation using Chen, et. al’s method, and the bottom shows my method based on cubic interpolation.

I also show how bezier interpolation may be used to tune the motion of the mesh, shown in the below image. Each row shows a different interpolation with a different control point, modified by a single parameter angle.

In general the interpolation seems to work quickly. A single interpolation of this bar mesh on my Surface Pro 3 takes about 2 milliseconds, faster than needed for a real time application.

The source is available on GitHub. Special thanks to Justin Solomon for helping me understand the contents of the paper!

Gallery

Click to view