The growing neural gas (GNG) algorithm is capable of incrementally learning the topology of arbitrary input data by observing random sample points.
I started out with a simple uniform random distribution sampled from a square, and then tried a more difficult dataset.
Beautifying the nodes and edges with attenuated lighting.
I then textured each node with its degree, entirely with a shader and texture array.
Implemented support for a utility factor (GNG-U), in order to handle non-stationary data.
Learning the topology of a sphere.
Learning the topology of a torus.
Learning the topology of complex and discontinuous piecewise data.