Sebastián Aguilera tarea 7

De Casiopea


TítuloSebastián Aguilera tarea 7
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 7
AsignaturaImagen Escrita 2012,
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.
Alumno(s)Sebastián Aguilera
ProfesorHerbert Spencer

Insect[] ins; float margin = 70;

void setup() {

size(700, 700);
int ynum = 5;
int xnum = 5;
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(#F8F84A);
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(60, 50));
  v = new float[vn][4];
  tam =100;
  init();
}
void init() {
  w = tam/3;
  h = tam;
  for (int i = 0; i < vn; i++) {
    v[i][0] = random(w+5);
    v[i][1] = random(-h/3, h/5);
  }
}
void trace() {
  noFill();
  stroke(0);
  strokeWeight(.25);
  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(x, y);
    trace();
    scale(-1, 1);
    trace();
  }
  popMatrix();
}

} void keyPressed (){

 if (key == 's') { // graba
 saveFrame("img/#####.jpg");

} if (key == 'r') { // hace nueva forma , redibuja

 redraw();

} }