// guthrie 10.16.04
// pattern based on suicide's "ghost rider"
// (repetitive to the point of vomit-induction.....)

int dist=10;      // height of strips
int a=15;         // stripe interval
int b=22;         // stripe interval
int alt=0;        // color alternating

int temp;

size(300,300);
colorMode(RGB,1);
noStroke();

for(int k=0; k<height; k+=(dist*2))
{
  for(int j=0; j<2; j++)
  {
    beginShape(TRIANGLE_STRIP);
    fill(alt);
    vertex(0,k+(dist*j));

    for(int i=0; i<100; i++)
    {
      if(i%2==0)
        fill(abs(alt-1));    // silly way of alternating between 1 and 0
      else
        fill(alt);

      vertex(i*a,k+(dist*j));

      fill(abs(alt-1));
      vertex(i*b,k+dist+(dist*j));
    }

    endShape();
    alt=abs(alt-1); // silly way of alternating between 1 and 0

    temp=a;                  // swap the two variables
    a=b;
    b=temp;
  }

  // adjust stripe intervals towards the bottom of the pattern
  if(k>height/2)
    a+=2;

  if(k>(height-height/3))
    b-=2;
}
Exercise 1.C: SoundForm
Using only grayscale values, develop an abstract pattern reflecting the structure of one of your favorite songs. Use three or more "for" and "if" structures.