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.