sketch
var radLarge = 37.797;
var radSmall = 20.643;
function setup() {
createCanvas(640, 480);
noStroke();
colorMode(HSB, 480);
}
function draw() {
background(mouseY);
var reverseX = width - mouseX
fill('#71BCFF');
ellipse(320, 240, mouseX, mouseY);
ellipse(480, 240, mouseX, mouseY);
ellipse(150, 240, mouseX, mouseY);
fill('#E83F63');
ellipse(mouseX, 33, radLarge, radLarge);
ellipse(mouseX, 108, radLarge, radLarge);
ellipse(mouseX, 184, radLarge, radLarge);
ellipse(mouseX, 260, radLarge, radLarge);
ellipse(mouseX, 335, radLarge, radLarge);
ellipse(mouseX, 410, radLarge, radLarge);
fill('#6171E5');
ellipse(mouseX, 449, radSmall, radSmall);
ellipse(mouseX, 373, radSmall, radSmall);
ellipse(mouseX, 298, radSmall, radSmall);
ellipse(mouseX, 222, radSmall, radSmall);
ellipse(mouseX, 146, radSmall, radSmall);
ellipse(mouseX, 70, radSmall, radSmall);
fill('#E83F63');
ellipse(reverseX, 449, radLarge, radLarge);
ellipse(reverseX, 373, radLarge, radLarge);
ellipse(reverseX, 298, radLarge, radLarge);
ellipse(reverseX, 222, radLarge, radLarge);
ellipse(reverseX, 146, radLarge, radLarge);
ellipse(reverseX, 70, radLarge, radLarge);
fill('#6171E5');
ellipse(reverseX, 33, radSmall, radSmall);
ellipse(reverseX, 108, radSmall, radSmall);
ellipse(reverseX, 184, radSmall, radSmall);
ellipse(reverseX, 260, radSmall, radSmall);
ellipse(reverseX, 335, radSmall, radSmall);
ellipse(reverseX, 410, radSmall, radSmall);
fill('#E83F63');
ellipse(mouseX - 100, 33, radLarge, radLarge);
ellipse(mouseX - 100, 108, radLarge, radLarge);
ellipse(mouseX - 100, 184, radLarge, radLarge);
ellipse(mouseX - 100, 260, radLarge, radLarge);
ellipse(mouseX - 100, 335, radLarge, radLarge);
ellipse(mouseX - 100, 410, radLarge, radLarge);
ellipse(mouseX - 300, 33, radLarge, radLarge);
ellipse(mouseX - 300, 108, radLarge, radLarge);
ellipse(mouseX - 300, 184, radLarge, radLarge);
ellipse(mouseX - 300, 260, radLarge, radLarge);
ellipse(mouseX - 300, 335, radLarge, radLarge);
ellipse(mouseX - 300, 410, radLarge, radLarge);
fill('#6171E5');
ellipse(mouseX - 200, 449, radSmall, radSmall);
ellipse(mouseX - 200, 373, radSmall, radSmall);
ellipse(mouseX - 200, 298, radSmall, radSmall);
ellipse(mouseX - 200, 222, radSmall, radSmall);
ellipse(mouseX - 200, 146, radSmall, radSmall);
ellipse(mouseX - 200, 70, radSmall, radSmall);
ellipse(mouseX - 400, 449, radSmall, radSmall);
ellipse(mouseX - 400, 373, radSmall, radSmall);
ellipse(mouseX - 400, 298, radSmall, radSmall);
ellipse(mouseX - 400, 222, radSmall, radSmall);
ellipse(mouseX - 400, 146, radSmall, radSmall);
ellipse(mouseX - 400, 70, radSmall, radSmall);
fill('#E83F63');
ellipse(reverseX + 100, 449, radLarge, radLarge);
ellipse(reverseX + 100, 373, radLarge, radLarge);
ellipse(reverseX + 100, 298, radLarge, radLarge);
ellipse(reverseX + 100, 222, radLarge, radLarge);
ellipse(reverseX + 100, 146, radLarge, radLarge);
ellipse(reverseX + 100, 70, radLarge, radLarge);
ellipse(reverseX + 300, 449, radLarge, radLarge);
ellipse(reverseX + 300, 373, radLarge, radLarge);
ellipse(reverseX + 300, 298, radLarge, radLarge);
ellipse(reverseX + 300, 222, radLarge, radLarge);
ellipse(reverseX + 300, 146, radLarge, radLarge);
ellipse(reverseX + 300, 70, radLarge, radLarge);
fill('#6171E5');
ellipse(reverseX + 200, 33, radSmall, radSmall);
ellipse(reverseX + 200, 108, radSmall, radSmall);
ellipse(reverseX + 200, 184, radSmall, radSmall);
ellipse(reverseX + 200, 260, radSmall, radSmall);
ellipse(reverseX + 200, 335, radSmall, radSmall);
ellipse(reverseX + 200, 410, radSmall, radSmall);
ellipse(reverseX + 400, 33, radSmall, radSmall);
ellipse(reverseX + 400, 108, radSmall, radSmall);
ellipse(reverseX + 400, 184, radSmall, radSmall);
ellipse(reverseX + 400, 260, radSmall, radSmall);
ellipse(reverseX + 400, 335, radSmall, radSmall);
ellipse(reverseX + 400, 410, radSmall, radSmall);
fill('#E83F63');
ellipse(reverseX - 100, 449, radLarge, radLarge);
ellipse(reverseX - 100, 373, radLarge, radLarge);
ellipse(reverseX - 100, 298, radLarge, radLarge);
ellipse(reverseX - 100, 222, radLarge, radLarge);
ellipse(reverseX - 100, 146, radLarge, radLarge);
ellipse(reverseX - 100, 70, radLarge, radLarge);
ellipse(reverseX - 300, 449, radLarge, radLarge);
ellipse(reverseX - 300, 373, radLarge, radLarge);
ellipse(reverseX - 300, 298, radLarge, radLarge);
ellipse(reverseX - 300, 222, radLarge, radLarge);
ellipse(reverseX - 300, 146, radLarge, radLarge);
ellipse(reverseX - 300, 70, radLarge, radLarge);
fill('#6171E5');
ellipse(reverseX - 200, 33, radSmall, radSmall);
ellipse(reverseX - 200, 108, radSmall, radSmall);
ellipse(reverseX - 200, 184, radSmall, radSmall);
ellipse(reverseX - 200, 260, radSmall, radSmall);
ellipse(reverseX - 200, 335, radSmall, radSmall);
ellipse(reverseX - 200, 410, radSmall, radSmall);
ellipse(reverseX - 400, 33, radSmall, radSmall);
ellipse(reverseX - 400, 108, radSmall, radSmall);
ellipse(reverseX - 400, 184, radSmall, radSmall);
ellipse(reverseX - 400, 260, radSmall, radSmall);
ellipse(reverseX - 400, 335, radSmall, radSmall);
ellipse(reverseX - 400, 410, radSmall, radSmall);
fill('#E83F63');
ellipse(mouseX + 100, 33, radLarge, radLarge);
ellipse(mouseX + 100, 108, radLarge, radLarge);
ellipse(mouseX + 100, 184, radLarge, radLarge);
ellipse(mouseX + 100, 260, radLarge, radLarge);
ellipse(mouseX + 100, 335, radLarge, radLarge);
ellipse(mouseX + 100, 410, radLarge, radLarge);
ellipse(mouseX + 300, 33, radLarge, radLarge);
ellipse(mouseX + 300, 108, radLarge, radLarge);
ellipse(mouseX + 300, 184, radLarge, radLarge);
ellipse(mouseX + 300, 260, radLarge, radLarge);
ellipse(mouseX + 300, 335, radLarge, radLarge);
ellipse(mouseX + 300, 410, radLarge, radLarge);
fill('#6171E5');
ellipse(mouseX + 200, 449, radSmall, radSmall);
ellipse(mouseX + 200, 373, radSmall, radSmall);
ellipse(mouseX + 200, 298, radSmall, radSmall);
ellipse(mouseX + 200, 222, radSmall, radSmall);
ellipse(mouseX + 200, 146, radSmall, radSmall);
ellipse(mouseX + 200, 70, radSmall, radSmall);
ellipse(mouseX + 400, 449, radSmall, radSmall);
ellipse(mouseX + 400, 373, radSmall, radSmall);
ellipse(mouseX + 400, 298, radSmall, radSmall);
ellipse(mouseX + 400, 222, radSmall, radSmall);
ellipse(mouseX + 400, 146, radSmall, radSmall);
ellipse(mouseX + 400, 70, radSmall, radSmall);
}
For my dynamic drawing I wanted to play with the creation of patterns. As you move the mouse in the x plane you can create different textures by positioning the circles. Additionally, you can use both x and y mouse movements to change the background circles, which I though added a nice element to help create more combinations of the image. This assignment was a little difficult to figure out at first, and I definitely want to keep playing with my code on this image to see what else I could do.