Eduardo Arratia tarea Insectos 2012

De Casiopea
Revisión del 05:37 10 may 2012 de Eduardoarratia (discusión | contribs.) (Página creada con '{{Proyecto |Título=Eduardo Arratia tarea insectos 2012 |Tipo de Proyecto=Proyecto de Curso |Palabras Clave=tarea 7 |Carreras Relacionadas=Arquitectura |Cursos Relacionados=Imag...')
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)



TítuloEduardo Arratia tarea insectos 2012
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 7
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Eduardo Arratia
ProfesorHerbert Spencer

Insect[] ins; float margin = 100;

void setup() {

 size(700, 700);
 int ynum = 10;
 int xnum = 10;
 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(#A2A5C4);
 for (int i = 0; i < ins.length; i++) {
   ins[i].render();
 }

}


class Insect {

 float x, y;
 float[][] v; // vertices
 int vn;  // número aleatorio de vértices
 float tam;  // tamaño
 float w, h; // width, height
 Insect(float x, float y) {
   this.x = x;
   this.y = y;
   vn = round(random(7, 8));
   v = new float[vn][5];
   tam = 20;
   init();
 }
 void init() {
   w = tam ;
   h = tam;
   for (int i = 0; i < vn; i++) {
     v[i][0] = random(w);
     v[i][1] = random(-h, h);
   }
 }
 void trace() {
   noFill();
   stroke(#957065);
   strokeWeight(3);
   beginShape();
   vertex(v[1][1], v[1][1]);
   for (int i = 0; i < vn; i++) {
     curveVertex(v[0][0], v[i][1]);
   }
   vertex(v[vn-1][0], v[vn-1][1]);
   endShape();
 }
 void render() {
   pushMatrix();
   {
     translate(x, y);
     trace();
     scale(-1, 1);
     trace();
   }
   popMatrix();
 }

}

void keyPressed() {

 if (key == 'q') {
   for (int i = 0; i < ins.length; i=i+90) {
     ins[i].init();
   }
 }
 if (key == 'w') {
   for (int i = 0; i < ins.length; i=i+30) {
     ins[i].tam++;
     ins[i].init();
   }
 }
 if (key == 'e') {
   for (int i = 0; i < ins.length; i= i+5) {
     ins[9].tam--;
     ins[20].init();
   }
 }

}