Solid objects can be simulated as a collection of springs
Stiff springs (large spring constant) produce rigid objects.
Loose springs produce jello-like objects.
Often, additional internal springs are needed to keep a shape from collapsing
Example: solid.cpp