////////////////////////////////////////////
//Leon Hong
//Intro to Interactive Media Ex. 1B
//October 16, 2004
//Homage to Kandinsky
////////////////////////////////////////////
size (300,300);
smooth();

//layer one//////////////////////////////////
background (237, 206, 135);
noStroke ();
//s-curves
//curve bottom
fill(0);
ellipse (165,258,60,49);
ellipse (267,231,60,49);
fill (237, 206, 135);
ellipse (171,264,48,40);
ellipse (271,231,54,45);
triangle (109,300,300,245,300,154);
//white fade
fill (255,35);
ellipse (-30,-30,340,340);
ellipse (-30,-30,310,310);
//red fade
int f=2, y=260, z=0;
while (y>=220){
  fill (200,84,58,40-z);
  ellipse (-35+f, -35+f, y, y);
  f=f+2;
  y--;
  z=z+5;
}
fill (200,84,58,30);
int cut=0, pos=-35, siz=280;
while (cut<3){
  ellipse (pos,pos,siz,siz);
  pos = pos+2;
  siz = siz-5;
  cut++;
}
//yellow fade
fill (238,199,81,50);
ellipse (137,166,77,77);
y=77;
f=0;
z=0;
while (y<=85){
  fill (238,199,81,80-z);
  ellipse (136+f, 166+f, y, y);
  f=f+1;
  y=y+1;
  z=z+5;
}
fill (245,179,76,80);
ellipse (133, 162, 110, 110);
//pink fde
y=250;
f=2;
z=0;
while (y>=220){
  fill (238,139,126,80-z);
  ellipse (-32+f, -32+f, y, y);
  f=f+2;
  y=y-7;
  z=z+5;
}
fill (238,139,126,50);
ellipse (-15, -15, 230, 230);
fill (255,40);
ellipse (-4, -4, 208, 208);

//layer two/////////////////////////////////// 137 166
//red dot
fill (178,26,1,99);
ellipse (137,166,77,77);
ellipse (137,166,76,76);
ellipse (137,166,75,75);

//layer three/////////////////////////////////
//s-curves top
//curve top
noStroke ();
fill(0);
ellipse (111,266,60,49);
ellipse (214,240,60,49);
fill (237, 206, 135);
ellipse (116,270,50,40);
ellipse (216,243,55,44);
triangle (165,283,110,300,173,300);
quad (218,267,262,255,300,300,227,300);
//black circle
noStroke ();
fill (0, 10);
ellipse (0,0,202,202);
stroke (40,38,41,99);
fill (25,17,28);
ellipse (0,0,198,198);
//purple dot
fill (83,46,89);
stroke (175,93,185,96);
ellipse (55,55,92,92);
//red stroke
stroke (28, 29,4,90);
noFill ();
ellipse (137,166,75,75);

//layer four/////////////////////////////// 
//lines
fill (0);
stroke (0);
//thicker stroke
f=0;
while (f<2){ 
  line (270,39+f,300+f,52+f);
  line (293,25+f,300+f,40+f);
  line (284,98+f,300+f,98+f);
  line (290,110+f,300+f,110+f);
  f++;
};
//layer five/////////////////////////////////
fill (161,99,55);
triangle (279,300,300,279,300,300);
f=0;
while (f<2){ 
  line (300,156-f,161-f,300);
  line (112,300-f,300,247-f);
  line (279+f,300,300+f,279);
  f++;
}
noStroke ();
f=0;
z=0;
while (f<100){
  fill (179,206,209,0+f);
  triangle (300,156,161+z,300-z,300,300-z);
  f=f+10;
  z=z+10;
}
fill (0);
triangle (260,282,279,300,253,300);

//////////////////////////////////////////////
//curves
//ccurve shape solid 
stroke(0);
f=0;
while (f<12){
  curve (253,180+f,277,184+f,300,180+f,310,165+f);
  curve (252,200-f,277,198-f,300,192-f,310,165-f);
  f++;
}
//shape smoothing
stroke(0,80);
f=0;
while (f<12){
  curve (252,180+f,279,184+f,302,180+f,312,165+f);
  curve (255,180+f,279,184+f,302,180+f,312,165+f);
  curve (255,200-f,279,198-f,302,192-f,312,165-f);
  f++;
}

/////////////////////////////////////////////
//busy noise
for(int x=0, noise1, noise2; x <8000; x++){
  noise1 = int (random (300));
  noise2 = int (random (300));
  noStroke ();
   //random noiseopacity
  fill (int (random (90,255)), int (random (5)));
  int nsize = int (random (6));
  ellipse (noise1,noise2,nsize,nsize);
  fill ((255), int (random (8)));
  ellipse (noise1,noise2,nsize+2,nsize+2);
  fill (0,20);
  ellipse (noise1,noise2,1,1);
  fill (255,20);
  ellipse (noise1+2,noise2+2,1,1);
}
Exercise 1.B: Kandinsky
In Processing, select and draw an area from Kandisky's Composition with a Bottle of Bochkarev containing lines, curves, and filled shapes.