Inspired by the “Evil Eye”, project 5 illustrates a patterned wallpaper with celestial elements and different colored eyes. I enjoyed designing the pattern 🙂
//Jenny Wang
//Section B
//jiayiw3@andrew.cmu.edu
//Project-05
function setup() {
createCanvas(600, 600);
background(220);
text("p5.js vers 0.9.0 test.", 10, 15);
}
function draw() {
background("lightyellow");
//eye1 nested loop
for(var x = 100; x < width; x+=200){
for(var y = 75; y < height; y += 150){
eye1(x,y);
}
}
//eye2 nested loop
for(var x = -200; x < width+200; x+=200){
for(var y = -147; y < height+200; y += 149){
eye2(x,y);
}
}
//star nested loop
for(var x = -100; x < width+180; x+=200){
for(var y = -150; y < height+140; y += 150){
fill(4,158,177);
star1(x,y);
}
}
//moon nested loop
for(var x = -200; x < width+200; x+=200){
for(var y = 75; y < height; y += 150){
moon(x,y);
}
}
}
function eye1(x,y){
//outside shape
fill("white");
stroke(1,35,133);
strokeWeight(3);
beginShape();
vertex(x-45,y);
bezierVertex(x-5,y-30,x+5,y-30,x+45,y);
bezierVertex(x+5,y+30,x-5,y+30,x-45,y)
endShape();
//innershape
fill(255,234,172);//yellow
noStroke();
beginShape();
vertex(x-35,y);
bezierVertex(x,y-20,x,y-20,x+35,y);
bezierVertex(x,y+20,x,y+20,x-35,y)
endShape();
//iris outer
noStroke();
fill(4,158,177);
ellipse(x,y,43,43);
//array lines
stroke(255,234,172);
strokeWeight(2);
line(x,y+17,x,y-17);
line(x+17,y,x-17,y);
line(x-14,y-14,x+14,y+14);
line(x+14,y-14,x-14,y+14);
//inner iris
noStroke();
fill(1,35,133);
ellipse(x,y,25,25);
fill("white");
ellipse(x,y,5,5);
}
function eye2(x,y){
//outside shape
fill("white");
stroke(4,158,177);
strokeWeight(2);
beginShape();
vertex(x-45,y);
bezierVertex(x-5,y-30,x+5,y-30,x+45,y);
bezierVertex(x+5,y+30,x-5,y+30,x-45,y)
endShape();
//innershape
fill(4,158,177);//lightblue
noStroke();
beginShape();
vertex(x-35,y);
bezierVertex(x,y-20,x,y-20,x+35,y);
bezierVertex(x,y+20,x,y+20,x-35,y)
endShape();
//iris outer
noStroke();
fill(255,234,172);
ellipse(x,y,43,43);
//array lines
stroke(4,158,177);
strokeWeight(2);
line(x,y+17,x,y-17);
line(x+17,y,x-17,y);
line(x-14,y-14,x+14,y+14);
line(x+14,y-14,x-14,y+14);
//inner iris
noStroke();
fill(1,35,133);
ellipse(x,y,25,25);
fill("white");
ellipse(x,y,5,5);
}
function star1(x,y){
noStroke();
beginShape();
vertex(x-3, y+2);
vertex(x, y+20);
vertex(x+3, y+2);
vertex(x+12, y);
vertex(x+3, y-2);
vertex(x, y-20);
vertex(x-3, y-2);
vertex(x-12, y);
endShape();
}
function moon(x,y){
fill(239,172,59);
noStroke();
beginShape();
vertex(x-15,y-5);
bezierVertex(x-5,y,x+5,y,x+15,y-5);
bezierVertex(x+5,y+10,x-5,y+10,x-15,y-5)
endShape();
}