Alyssa Ruts: Tarea 7

De Casiopea


Insects.jpg


Título
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 7
AsignaturaTaller Inicial Común 1ª y 2ª Etapa
Del CursoImagen Escrita 2012
CarrerasDiseño Gráfico, Diseño Industrial
Alumno(s)Alyssa Ruts
ProfesorHerbert Spencer

import processing.pdf.*;
boolean saveOneFrame = false;


Insect[] ins; float margin = 80; 

void setup() {
 size(800, 800);
 int ynum = 10;
 int xnum = 10;
 ins = new Insect[ynum * xnum];
 float ysp = (height - (5 * margin)) / ((float)ynum - 4);
 float xsp = (width - (5 * margin)) / ((float)xnum - 4);
 int c =0;
 for (float y = margin; y <= height - margin; y+= ysp) {
   for (float x = margin; x <= width - margin; x += xsp) {
     ins[c] = new Insect(x, y);
     c++;
   }
 } 
 smooth();
 
} 


void draw() { 
  if (saveOneFrame == true) {  // When the saveOneFrame boolean is true,
beginRecord(PDF, "insects-####.pdf");  // start recording to the PDF
}

 background(255);
 for (int i = 1; i < ins.length; i++) {
   ins[i].render();
 }
 if (saveOneFrame == true) {  // If the PDF has been recording,
endRecord();  // stop recording,
saveOneFrame = false;  // and set the boolean value to false
}

} 


class Insect { 
 float x, y;
 float[][] v; 
 int vn;  
 float tam;
 float w, h;
 Insect(float x, float y) {
   this.x = x;
   this.y = y;
   vn = round(random(6, 3));
   v = new float[vn][3];
   tam = 55;
   init();
 }
 void init() {
   w = tam/3;
   h = tam/2;
   for (int i = 0; i < vn; i++) {
     v[i][0] = random(h);
     v[i][1] = random(-h/3, h/2);
   }
 }
 void trace() {
   noFill();
   stroke(0);
   strokeWeight(1);
   beginShape();
   vertex(v[0][0], v[0][1]);
   for (int i = 1; i < vn; i++) {
     curveVertex(v[i][2], v[i][1]);
   }
   vertex(v[vn-2][0], v[vn-1][1]);
   endShape();
 }
 void render() {
   pushMatrix();
   {
     translate(x, y);
     trace();
     scale(-2, 4);
     trace();
   }
   popMatrix();
 }
 
} 

void keyPressed() { 
 if (key == '1') {
   for (int i = 0; i < ins.length; i++) {
     ins[i].init();
   }
 }
 if (key == '2') {
   for (int i = 0; i < ins.length; i++) {
     ins[i].tam--;
     ins[i].init();
   }
 }
 if (key == '3') {
   for (int i = 0; i < ins.length; i++) {
     ins[i].tam--;
     ins[i].init();

   }
 }
  
  if(key=='p'){
     saveFrame("insects.jpg"); // grabar imagen
  }
  
}