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 selfconnect.

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 nonrigid, 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 Columnrow, such as Clustersolid.
The lower diagonal triangle represents critical cases, where the class Ab is b if borders are counted as connections and A if they aren't. The upperdiagonal triangle represents noncritical cases where the class Ab 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 offdiagonal elements represent an 'in phase' change from one diagonal class to another, the upper offdiagonal elements represent an 'out of phase' change. For instance, a tree where the branches all pinch off at the same time is a Clustertree at that point, but if the branches pinch off at different times, then you get a Treecluster.
The Spongecluster 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 Clustervoid is an outofphase 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 Solidvoid. 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:
