Antonia Lara: Tarea 7 Insectario

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ítuloAntonia Lara: Tarea 7 Insectario
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 7, imagen escrita 2012
Período2012-2012
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)Antonia Lara
ProfesorHerbert Spencer

Insect[] ins; float margin = 50;

void setup() {

size(700, 700);
int ynum = 5;
int xnum = 6;
ins = new Insect[ynum * xnum];
float ysp = (height - (2 * margin)) / ((float)ynum - 1);
float xsp = (width - (2* margin)) / ((float)xnum - 1);
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++;
  }
} 
noSmooth();

}


void draw() {

background(#FBEDDC);
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(20, 20));
  v = new float[vn][15];
  tam = 59;
  init();
}
void init() {
  w = tam/1.5;
  h = tam;
  for (int i = 0; i < vn; i++) {
    v[i][0] = random(w);
    v[i][1] = random(-h/1.5, h/1.5);
  }
}
void trace() {
  noFill();
  stroke(#6B6156);
  strokeWeight(2.4);
  beginShape();
  vertex(v[0][1], 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 == 'x') {
  for (int i = 0; i < ins.length; i++) {
    ins[i].init();
  }
}

}