This is just one of many many many possibilities using this technique.
Main idea is related to cellular automata.
A random set of points is generated as a start. From there, the position of the points is determined by some rules that take into account the position of their neighbor cell in the original array.
This can be endlessly tweaked and evolved.
Tap A to restart
Get LowRes Coder to use this program.