Shape classification

The basic symmetries of any shape are rotational, translational, reflective and scale symmetry. A general case shape will have an amount of all of these, here is a simple classification of these shapes based on how they self-connect.

  In 3D there are seven classes, void is an absence of points (the empty set), its opposite is solid (the set of all points).
A cluster is a set of separated objects, with many tiny objects and few large ones, its opposite is foam a solid with a cluster of empty 'air pockets'.
A tree is defined to contain no loops and no concave areas, its inverse is a shell.
A sponge is a network of various thicknesses, it is its own inverse.

These class definitions are therefore non-rigid, more topological than geometric, so natural and artificial objects can be used as examples interchangeably.

A more specific classification is available by relating this list to itself as a matrix, here it is shown for 2D shapes:

In two dimensions there are only 5 classes in the list: void, cluster, tree, sponge and solid.
In the matrix they exist as the diagonal elements. 
The class is read off as Column-row, such as Cluster-solid.
The lower diagonal triangle represents critical cases, where the class A-b is b if borders are counted as connections and A if they aren't.
The upper-diagonal triangle represents non-critical cases where the class A-b generally means b composed of A. 
The Void column contains no area of solid, so each class here is a fractal. Conversely the solid row contains no area of gaps, so is solid minus a fractal set of points.
Whereas the lower off-diagonal elements represent an 'in phase' change from one diagonal class to another, the upper off-diagonal elements represent an 'out of phase' change. For instance, a tree where the branches all pinch off at the same time is a Cluster-tree at that point, but if the branches pinch off at different times, then you get a Tree-cluster.

The Sponge-cluster is a cluster of sponges and, being along the diagonal is the same class when inverted (when solid and air are swapped). 
The most difficult to represent are the circled top row and the equivalent right column. For example, the Cluster-void is an out-of-phase transition between a cluster and a void, in other words, a cluster where some pieces are gone. Statically this is itself just a cluster, so this class can only exist for animating shapes where the pieces disappear and reappear. Thus distinguishing it from a cluster, which can animate, but all pieces must remain in existence for it to rest in the cluster class. The same is true for the whole top row. Equivalently, for the right column, the gaps must shrink and disappear and reappear for a shape to be a member of these classes. 
The most unusual is perhaps the Solid-void. This is an animation between a solid and a void, so the solid shrinks to nothing, and reappears.

Here it is shown for 3D shapes (the upper diagonal triangle is not shown in this image):

Here I show just the lower diagonal triangle, rotated so that the seven core shapes can be seen easily down the right hand side, using natural examples: