Alyssa Ruts: Tarea 7

De Casiopea
La versión para imprimir ya no se admite y puede contener errores de representación. Actualiza los marcadores del navegador y utiliza en su lugar la función de impresión predeterminada del navegador.
{{{Título}}}


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 Gráfico" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property.
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
  }
  
}