// Desma 28: Project 2
// Dynamic Zebra Print: Geometry of Nature + Design
// Wayne Fan
// November 5, 2006

void setup(){
  size(600,600);
  background(#ffffff);
  smooth();
}

import processing.pdf.*; // PDF capture 
boolean record = false;

void draw(){

  if (record) {
    beginRecord(PDF, "frame-####.pdf"); // capture
  }

  float color_s = mouseX*0.1; // saturation variable
  float color_b = mouseY*0.05; // brightness variable
  colorMode(HSB, 360, 100, 100); 
  fill(30,color_s , color_b); // color
  noStroke();
  //fill(#000000);
  background(#ffffff);
  
  beginShape(); // shape 1
  vertex(0, 390-(mouseX*0.05));
  vertex(0, 510+(mouseX*0.2));
  vertex(70-(mouseX*0.1), height);
  vertex(160-(mouseX*0.1), height);
  endShape(CLOSE);

  beginShape(); // shape 2
  vertex(0, 175-(mouseX*0.1));
  vertex(0, 300-(mouseX*0.02));
  vertex(150-(mouseY*0.05), 410+(mouseX*0.05));
  vertex(225-(mouseX*0.1), height);
  vertex(300-(mouseX*0.1), height);
  vertex(250-(mouseX*0.15), 380);
  vertex(145-(mouseY*0.08), 270);
  endShape(CLOSE);

  beginShape(); // shape 3
  vertex(0, 30);
  vertex(0, 110-(mouseY*0.05));
  vertex(250, 280+(mouseX*0.21));
  vertex(337-(mouseX*0.11), 445);
  vertex(350-(mouseX*0.1), height);
  vertex(407, height);
  //vertex(407+(mouseX*0.02), 560); // teeth
  //vertex(407, 530);
  //vertex(407+(mouseX*0.02), 500);
  //vertex(407, 470);
  //vertex(407+(mouseX*0.02), 440);
  //vertex(407, 410);
  vertex(407+(mouseX*0.02), 410-(mouseX*0.02));
  vertex(400+(mouseY*0.08), 330-(mouseY*0.06));
  vertex(311, 227+(mouseY*0.13));
  vertex(224-(mouseY*0.12), 137);
  endShape(CLOSE);

  beginShape(); // shape 4
  vertex(0,0);
  vertex(124, 64);
  vertex(261-(mouseY*0.135), 94);
  vertex(430-(mouseY*0.2), 280-(mouseX*0.1));
  vertex(454, 276-(mouseX*0.1));
  vertex(447, 38);
  vertex(435, 0);
  vertex(370-(mouseY*0.1), 0-(mouseX*0.16));
  vertex(400-(mouseY*0.1), 30-(mouseY*0.16));
  vertex(415-(mouseX*0.1), 150-(mouseY*0.16));
  vertex(390-(mouseX*0.1), 151-(mouseX*0.1));
  vertex(350-(mouseY*0.1), 70);
  vertex(255+(mouseX*0.05), 40);
  vertex(70+(mouseY*0.3), 0);
  endShape();

  beginShape(); // shape 5
  vertex(465, 0);
  vertex(506-(mouseX*0.07), 60);
  vertex(510+(mouseX*0.07), 235);
  vertex(463-(mouseY*0.05), 314+(mouseY*0.15));
  vertex(460-(mouseY*0.03), height);
  vertex(500, height);
  vertex(540-(mouseX*0.05), 390);
  vertex(580+(mouseX*0.05), 186);
  vertex(560+(mouseY*0.1), 0);
  endShape();

  beginShape(); // shape 6
  vertex(width, 310-(mouseY*0.05));
  vertex(540-(mouseY*0.05), height);
  vertex(572+(mouseX*0.05), 600);
  vertex(width, 515);
  endShape();

  if (record) {
    endRecord();
    record = false;
  }
}

void mousePressed() {
  record = true;
}
Project 2: