This is an extension of another simple program I wrote. This one fully automates the selection of values for variables (inputs) to the wavy circle function (block) And then repeats. Try to determine what one call to the arc block does. That's the first step in trying to figure out how this program works.
The tricky part was tuning the dist variable so the circles will mostly be the right size to fit on the screen, given the randomness of the theta (angle) variables and the steps variable. There is certainly a rigorous way to determine the size of the circle given the theta variables and the steps variable -- and thus a way to change the dist so the circle is always a size that will fit on the screen. Just haven't done that math quite yet.