Rotating Circles

Initially, every circle rotates at the same speed. The user can add variance in the x and y direction so the speeds are different depending on the row and column creating an illusion of ripples.
Written in Javascript with p5.js
code