Daniel Moris: Pizarra con puntos y líneas

De Casiopea
Daniel Moris: Pizarra con puntos y líneas


TítuloDaniel Moris: Pizarra con puntos y líneas
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 5
AsignaturaImagen Escrita 2012,
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Daniel Moris
ProfesorHerbert Spencer

Este trabajo genera una pizarra, la cual genera líneas
que a su vez poseen puntos en los extremos de éstas.

//La idea es que se generen puntos y que a su vez, desde estos puntos se proyecten líneas que varien de tamaño según la posición del mouse

float[][] coords;
int maxPuntos;
int c;

void setup() {
  size(750, 750);
  c = 0;
  maxPuntos = 1000;
  coords = new float[maxPuntos][2];
  strokeWeight(3);
  background(45);
}

void draw() {

  if (mousePressed) {
    coords[c][0] = mouseX;
    coords[c][1] = mouseY;
    println(c);
    c ++;
    stroke(40, 100, 1, 12); //para que las líneas aparezcan en degradé y en color verde
  }

  for (int i = 0; i <= c; i++) {
    quad(coords[i][0], coords[i][1], coords[i][1], coords[i][0], coords[i][0], coords[i][1], coords[i][1], coords[i][0]); //la idea es que a medida que presionemos cerca de
    //esquina superior derecha o la inferior izquierda, las líneas sean más grandes
    fill(#F50202);
    
    ellipse(coords[i][0], coords[i][1],3,3);
    ellipse(coords[i][1], coords[i][0],3,3);
    noFill();
  }

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

void connect() {
  stroke(#F5580F, 100);
  for (int i = 12; i <= c; i++) {
    for (int j = 12; j < i; j++) {
      line(coords[i][0], coords[i][1], coords[j][0], coords[j][1]); //los puntos que se generan aparecen en el extremo superior de las líneas
    }
  }
}



void keyPressed() {

 if (key == 's') { //presionar s para suavisar el trazo
   stroke(200, 2);
   c=0;
  
 }
 
 if(key == 'g') { //guardar imagen
   saveFrame("imagen.png");
 }

if (key == 'b') { //borrar
   background(45);
   c=0;
 }
 
}