Eduardo Arratia tarea Insectos 2012

De Casiopea


Dalkjdaljdlad3334rkjfl.png



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

el número de elementos rompe el esquema de la cuadrilla oculta bajo el espesor de los trazos que forman cada elemento.

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 - .8);
  float xsp = (width - (2 * margin)) / ((float)xnum - .8);

  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() {
  background(#A2A5C4);
  for (int i = 0; i < ins.length; i++) {
    ins[i].render();
  }
}


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(12, 40));
    v = new float[vn][5];
    tam = 50;
    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/4);
    }
  }

  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-5][0], v[vn-1][1]);
    endShape();
  }

  void render() {
    pushMatrix();
    {
      translate(x, y);
      trace();
      scale(-3, 3);
      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();
    }
  }
}
}