When a user interacts with the object by pulling one vertex, forces are applied to that vertex. This causes the springs attached to that vertex to expand and in turn initiating forces acting upon the neighbor vertices. In this way, forces and movements ripples through the object. If not controlled by a person, the object goes through different states of random activity. More vivid textures are used when the blob is in a more active state.
State changes occur at random points in time, and causes the texture to change.
The random activity is stopped as soon as user interaction takes place. We found that just modelling springs going between the vertices on the surface of the object was not enough to get good dynamic properties. Springs had to hold up the interior of the blob to somewhat simulate volume. In addition to adding more springs to get better model deformations and reduction in incorrect states there is another parameter that increases the accuracy, the update rate. Less time between updates means each update moves the vertices by a smaller amount, better mimicing a continous process.