//Promise, Tracy Chapman
size(400, 400);
background(200);
smooth(); //2nd thick black line
noFill();
stroke(100);
strokeWeight(20);
beginShape();
vertex(220, 0);
bezierVertex(250, 150, 0, 150, 0, 300);
endShape();
smooth(); //2nd thick black
noFill();
stroke(150);
strokeWeight(10);
beginShape();
vertex(260, 0);
bezierVertex(290, 150, 0, 150, 0, 250);
endShape();
smooth(); //skinny light gray
noFill();
strokeWeight(3);
stroke(210);
beginShape();
vertex(300, 0);
bezierVertex(330, 250, 0, 100, 0, 200);
endShape();
smooth(); //skinny white
noFill();
strokeWeight(2);
stroke(255);
beginShape();
vertex(280, 0);
bezierVertex(300, 180, 0, 150, 0, 210);
endShape();
smooth(); //3rd thick black line
noFill();
stroke(20);
strokeWeight(8);
beginShape();
vertex(400, 10);
bezierVertex(350, 350, 0, 50, 0, 200);
endShape();
smooth(); //2nd thick black
noFill();
stroke(150);
strokeWeight(5);
beginShape();
vertex(400, 10);
bezierVertex(370, 360, 0, 40, 0, 190);
endShape();
smooth(); //skinny light gray
noFill();
strokeWeight(1);
stroke(1, 60);
beginShape();
vertex(400, 50);
bezierVertex(380, 400, 40, 30, 0, 170);
endShape();
smooth(); //4th thick black
stroke(180);
strokeWeight(20);
noFill();
beginShape();
vertex(400, 280);
bezierVertex(40, 430, 200, 100, 0, 60);
endShape();
smooth(); //4th thick black line
noFill();
stroke(100);
strokeWeight(10);
beginShape();
vertex(400, 330);
bezierVertex(130, 390, 100, 15, 0, 90);
endShape();
smooth(); //first thick black line
noFill();
stroke(90);
strokeWeight(10);
beginShape();
vertex(10, 0);
bezierVertex(200, 100, 15, 300, 40, 400);
endShape();
smooth(); //first thick black
noFill();
beginShape();
vertex(20, 0);
bezierVertex(200, 100, 15, 300, 30, 400);
endShape();
smooth(); //thick light gray
noFill();
stroke(1, 60);
beginShape();
vertex(50, 0);
bezierVertex(200, 100, 15, 300, 60, 400);
endShape();
smooth(); //skinny gray
noFill();
strokeWeight(1);
beginShape();
vertex(50, 0);
bezierVertex(200, 100, 15, 300, 60, 400);
endShape();
smooth(); //2nd skinny light gray
noFill();
stroke(1, 50);
beginShape();
vertex(80, 0);
bezierVertex(200, 150, 10, 300, 120, 400);
endShape();
Exercise 03: Using only grayscale values, develop an abstract pattern reflecting the structure of one of your favorite songs