This animation was created by treating each vertex in the lattice as
a point mass and each edge as a spring. In order to ensure that the
lattice returns to it's original shape after external forces are removed,
the control lattice is tetrahedralized prior to simulation. Although
the simulation is done on the control mesh, the subdivision rules can be
applied to display the object as it deforms.
This animation shows a simulation in which the squeezed blob does not
return to its original shape when the external forces are removed.
As in the previous simulation, the vertices are treated like point masses.
But instead of being pushed around by springs along the edges, forces on
the vertices arise due to changes in volume. Each cell in the lattice
attempts to maintain its volume, and exerts a force on its vertices in
order to reduce or increase its volume. This model is much like a
flexible bag of gas.