Click and watch.
I came up with the idea yesterday Of course, this is a hack and there are no infinite circles. The canvas is made of rings. Storing about 300 "rings" in list. Each "ring" is 1 pixel wide and can be "white" or "black". Each circle is doing alternative sum with rest, and grows with different speed. Try to follow one circle and see what happen when it overlap another.