Francisco Cataldo Pizarra "mejorada" (?)

De Casiopea
Proyecto Imagen Escrita - Pizarra a puntos


TítuloProyecto Imagen Escrita - Pizarra a puntos
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 5, imagen escrita 2012
Período2012-
AsignaturaTaller Inicial 1ª y 2ª Etapa,
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Francisco Cataldo
ProfesorHerbert Spencer

//Pizarra de puntos basada en el ejemplo del Profesor Herbert Spencer. PD: hice lo que pude profesor u.u// En la pizarra se pinta con puntos, hay codigos para cambiarle el color al trazo, conectarlos todos hacia un punto ubicado en la parte superior izquierda de la pantalla y puede borrarse también el dibujo.

float[][] coords;
int maxPuntos;   
int X; 

void setup() {
  size(700, 700);
  X = 10;  
  maxPuntos = 1000;
  coords = new float[maxPuntos][2];
  strokeWeight(9);
  smooth ();
  background(200);
  strokeCap (ROUND);
}

void draw() {

  if (mousePressed) {
    coords[X][0] = mouseX;
    coords[X][1] = mouseY;
    println(X);
    X++;
  }

  for (int i = 0; i <= X; i++) {
    point(coords[i][0], coords[i][1]);
  }
}

void connect() {
  stroke(#0B10E0, 100);
  for (int i = 0; i <= X; i++) {
    for (int j = 0; j < i; j++) {
      line(coords[i][0], coords[i][1], coords[j][0], coords[j][1]);
    }
  }
}

void keyPressed() {
  if (key=='c') {//conecta los puntos con el grosor de la función void connect//
    connect();
  } 
  if (key=='b') {//marca en negro los puntos//
    stroke (0, 100);
  }
  if (key=='d') {//"borra" el dibujo, deja los puntos.//
    background (200);
  }
  if (key=='s') {//guarda el trabajo//
    saveFrame("img/######.jpg");
  }
  if (key=='q') {
    strokeWeight(1);//grosor minimo//
  }
  if (key=='w') {//grosor medio//
    strokeWeight(4);
  }
  if (key=='e') {//grosor original del trazo//
    strokeWeight(9);
  }
  if (key=='f') {//conectará los puntos con un grosor menor y con color blanco//
    connect();
    stroke(255, 100);
    strokeWeight(1);
    for (int i = 0; i <= X; i++) {
      for (int j = 0; j < i; j++) {
        line(coords[i][0], coords[i][1], coords[j][0], coords[j][1]);
      }
    }
  }
  if (key=='r') {//conectará los puntos con un grosor diferente//
    connect();
    strokeWeight(4);
    for (int i = 0; i <= X; i=i+3) {
      for (int j = 0; j < i; j=j+1) {
        line(coords[i+2][0], coords[i+2][1], coords[j+2][0], coords[j+2][1]);
      }
    }
  }
}