A Wallpaper


This project provides an oppoturnity to explore generative aesthetics through iterative computation. I designed a wallpaper with a static and repeating pattern.
function setup() { createCanvas(600, 700); } function draw() { background(240); //monster var mx = random(-50,100);//origin x var my = random(30,100);//origin y var sy = 200;//y spacing var sx = 200;//x spacing for (var y = 0; y<7; y++) { if (y%2==0) { for (var x = 0; x<5; x++) { monster(mx+x*sx, my+y* (sy*sqrt(3)/2)); } } else { for (var x = 0; x<5; x++) { monster(mx+sx/2+x*sx, my+y* (sy*sqrt(3)/2)); } } } noLoop(); //duck var dx = random(0,50);//origin x var dy = random(30,50);//origin y var sy = 150;//y spacing var sx = 250;//x spacing for (var y = 0; y<7; y++) { if (y%2==0) { for (var x = 0; x<5; x++) { duck(dx+sx/2+x*sx, dy+y* (sy*sqrt(3)/2)); } } else { for (var x = 0; x<5; x++) { duck(dx+x*sx, dy+y* (sy*sqrt(3)/2)); } } } noLoop(); } function monster(mx, my) {//draw monster push(); translate(mx, my); stroke(137,78,115); strokeWeight(5); line(25, -25, 25, 0);//ear1 line(45, -25, 35, 0);//ear2 line(30, 30, 85, 40);//tail stroke(244,179,220); strokeWeight(30); line(10, 0, 50, 0);//monster head strokeWeight(5); line(35, 40, 35, 60);//foot1 line(45, 40, 45, 60);//foot2 line(55, 40, 55, 60);//foot3 line(65, 40, 65, 60);//foot4 strokeWeight(50); line(50, 10, 50, 30);//monster body fill(255); noStroke(); ellipse(22, 0, 15, 15);//left eye ellipse(42, 0, 15, 15);//right eye fill(0); noStroke(); ellipse(20, 0, 5, 5);//eyeball1 ellipse(40, 0, 5, 5);//eyeball2 pop(); } function duck(dx, dy) {//draw duck push(); translate(dx, dy); stroke(255, 183, 0); strokeWeight(5); line(-15, 60, -15, 85);//foot1 line(-5, 60, -5, 85);//foot2 stroke(154, 231, 217); strokeWeight(40); line(0, 0, 0, 30);//neck strokeWeight(40); line(-30, 40, 0, 40);//body strokeWeight(10); line(-55, 40, -30, 40);//tail stroke(255, 183, 0); strokeWeight(7); line(10, 7, 25, 7);//mouse line(10, 14, 25, 14);//mouse fill(255); noStroke(); ellipse(0, 0, 10, 10);//eye fill(0); noStroke(); ellipse(1, 0, 5, 5); pop(); }