ICC
< back to sketch

int k;
int c_alpha = 255;
int dx, dy;
float speed, ang;
int angColor = 0;
int useAlpha = 0;
int multi = 0;

void setup()
{
  size(300, 200);
  background(255, 255, 255);
  rectMode(CENTER_DIAMETER);
  ellipseMode(CENTER_DIAMETER);
}

void loop()
{
  dx = mouseX - pmouseX;
  dy = mouseY - pmouseY;
  speed = sqrt(dx*dx + dy*dy);
  ang = degrees(atan2(dx, dy));
  //println("angle="+ang);

  if (mousePressed == true) {
    //fill(255, 150, 150);
    //stroke(150, 150, 255);
    //strokeWeight(3);
    if (k == 1) {
      if (useAlpha == 0) {
        line(pmouseX, pmouseY, mouseX, mouseY);
      } else {
        stroke(0, 0, 0, speed);
        for (int i = 0; i < width; i+= 5) {
          line(mouseX, mouseY, i, height);
        }
      }
    } else if (k == 2) {
      if (useAlpha == 0) {
        if (angColor == 1) {
          fill(ang, 0, 0, 20);
        }
        rect(mouseX, mouseY, speed, speed);
        if (multi == 1) {
          rect(mouseX-(speed+5), mouseY-(speed+5), speed, speed);
          rect(mouseX+(speed+5), mouseY-(speed+5), speed, speed);
          rect(mouseX-(speed+5), mouseY+(speed+5), speed, speed);
          rect(mouseX+(speed+5), mouseY+(speed+5), speed, speed);
        }
      } else {
        noStroke();
        fill(speed, 0, 0, 50);
        for (int i = 0; i < speed; i+=5) {
          rect(mouseX, mouseY, speed+i, speed+i);
        }
      }
    } else if (k == 3) {
      if (useAlpha == 0) {
        if (angColor == 1) {
          fill(ang, 0, 0, 20);
        }
        ellipse(mouseX, mouseY, speed, speed);
        if (multi == 1) {
          ellipse(mouseX-(speed+5), mouseY-(speed+5), speed, speed);
          ellipse(mouseX+(speed+5), mouseY-(speed+5), speed, speed);
          ellipse(mouseX-(speed+5), mouseY+(speed+5), speed, speed);
          ellipse(mouseX+(speed+5), mouseY+(speed+5), speed, speed);
        }
      } else {
        noStroke();
        fill(speed, 0, 0, 50);
        for (int i = 0; i < speed; i+=5) {
          ellipse(mouseX, mouseY, speed+i, speed+i);
        }
      }

    } else if (k == 9) {
      stroke(255, 255, 255);
      fill(255, 255, 255, c_alpha);
      ellipse(mouseX, mouseY, speed, speed);
    }
  }
}

void keyPressed()
{
  if (key == '-' || key == '-') {
    background(255, 255, 255);
  }

  if (key == '1') {
    k = 1;
    stroke(0, 0, 0);
    useAlpha = 0;
    angColor = 0;
    multi = 0;
  } else if (key == '2') {
    k = 2;
    useAlpha = 0;
    angColor = 0;
    multi = 0;
  } else if (key == '3') {
    k = 3;
    useAlpha = 0;
    angColor = 0;
    multi = 0;
  } else if (key == '4') {
    angColor = 0;
    stroke(0, 0, 0);      // black
    //noStroke();
    fill(255, 150, 150, c_alpha);  // light red
    //k = 4;
  } else if (key == '5') {
    angColor = 0;
    stroke(0, 0, 0);      // black
    //noStroke();
    fill(150, 255, 150, c_alpha);  // light green
    //k = 5;
  } else if (key == '6') {
    angColor = 0;
    stroke(0, 0, 0);      // black
    //noStroke();
    fill(150, 150, 255, c_alpha);  // light blue
    //k = 6;
  } else if (key == '7') {
    angColor = 0;
    stroke(0, 0, 0);      // black
    //noStroke();
    fill(255, 255, 150, c_alpha);  // light yellow
    //k = 7;
  } else if (key == '8') {
    angColor = 0;
    stroke(0, 0, 0);      // black
    fill(255, 255, 255, c_alpha);  // white
    //k = 8;
  } else if (key == '9') {
    useAlpha = 0;
    angColor = 0;
    k = 9;
  }
  if (key == 's') {
    saveFrame();
  }
  if (key == '[') {
    c_alpha += 10;
    if (c_alpha > 255) {
      c_alpha = 255;
    }
  }
  if (key == ']') {
    c_alpha -= 10;
    if (c_alpha < 0) {
      c_alpha = 0;
    }
  }

  if (key == 'q' || key == 'Q') {
    useAlpha = 1;
  }

  ////////////
  if (key == 'p') {
    angColor = 1;
  }
  if (key == 'm') {
    multi = 1;
  }
}

< back to sketch