Generative Design with Processing

Another Processing project we had this quarter was to draw something random, good looking, and repetitive , with code. This, I learned, is called generative design. The idea is that the design is in how you set the constraints. Then you let some randomness happen and BOOM you've got some art. Here's what I came up with:

What I did was give a random range of widths for the ellipses, but always keep the same height. After each draw, I rotate the matrix a little bit, and draw another ellipse, while also incrementing the R by -1 and the B by +1. You can download the source code here.