Valentina Cornejo, tarea 7

De Casiopea
Tarea 7


TítuloTarea 7
Tipo de ProyectoProyecto de Taller, Proyecto de Curso
Palabras Clavetarea 7
Período2012-
AsignaturaImagen Escrita 2012,
Del CursoTaller Inicial Común 1ª y 2ª Etapa, Imagen 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)Valentina Cornejo
ProfesorHerbert Spencer

Insect[] ins; float margin = 60;

void setup() {

 size(700, 700);
 int ynum = 11;
 int xnum = 9;
 ins = new Insect[ynum * xnum];
 float ysp = (height - (2 * margin)) / ((float)ynum - 1);
 float xsp = (width - (2 * margin)) / ((float)xnum - 1);
 int c = 0; // counter
 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() {

 background(255);
 for (int i = 0; i < ins.length; i++) {
   ins[i].render();
 }

}


void keyPressed() {

 if (key == 'q') {
   for (int i = 0; i < ins.length; i++) {
     ins[i].init();
   }
 }
 if (key == 'a') {
   for (int i = 0; i < ins.length; i++) {
     ins[i].tam++;
     ins[i].init();
   }
 }
 if (key == 'z') {
   for (int i = 0; i < ins.length; i++) {
     ins[i].tam--;
     ins[i].init();
   }
 }

}


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(15, 10));
   v = new float[vn][2];
   tam = 50;
   init();
 }
 void init() {
   w = tam/2;
   h = tam;
   for (int i = 0; i < vn; i++) {
     v[i][0] = random(w);
     v[i][1] = random(-h/3, h/3);
   }
 }
 void trace() {
   noFill();
   stroke(#0B610B);
   strokeWeight(.7);
   beginShape();
   vertex(v[0][0], v[0][1]);
   for (int i = 0; i < vn; i++) {
     curveVertex(v[i][0], v[i][1]);
   }
   vertex(v[vn-1][0], v[vn-1][1]);
   endShape();
 }
 void render() {
   pushMatrix();
   {
     translate(y, x);
     trace();
     scale(-1, 1);
     trace();
   }
   popMatrix();
 }

}