wallpaper.js
function setup() {
createCanvas(600, 700);
}
function draw() {
background(240);
var mx = random(-50,100) var my = random(30,100) var sy = 200 var sx = 200 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();
var dx = random(0,50) var dy = random(30,50) var sy = 150 var sx = 250 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) push();
translate(mx, my);
stroke(137,78,115);
strokeWeight(5);
line(25, -25, 25, 0) line(45, -25, 35, 0) line(30, 30, 85, 40) stroke(244,179,220);
strokeWeight(30);
line(10, 0, 50, 0) strokeWeight(5);
line(35, 40, 35, 60) line(45, 40, 45, 60) line(55, 40, 55, 60) line(65, 40, 65, 60) strokeWeight(50);
line(50, 10, 50, 30) fill(255);
noStroke();
ellipse(22, 0, 15, 15) ellipse(42, 0, 15, 15) fill(0);
noStroke();
ellipse(20, 0, 5, 5) ellipse(40, 0, 5, 5) pop();
}
function duck(dx, dy) push();
translate(dx, dy);
stroke(255, 183, 0);
strokeWeight(5);
line(-15, 60, -15, 85) line(-5, 60, -5, 85) stroke(154, 231, 217);
strokeWeight(40);
line(0, 0, 0, 30) strokeWeight(40);
line(-30, 40, 0, 40) strokeWeight(10);
line(-55, 40, -30, 40) stroke(255, 183, 0);
strokeWeight(7);
line(10, 7, 25, 7) line(10, 14, 25, 14) fill(255);
noStroke();
ellipse(0, 0, 10, 10) fill(0);
noStroke();
ellipse(1, 0, 5, 5);
pop();
}
For this wallpaper, I used ‘random’ command to generate a little bit different patterns each time it is opened, and I tried to make the grid hexagon to add some interest to the grid.
