Victor Espinoza 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ítuloinsectario
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 7, imagen escrita 2012
AsignaturaTaller Inicial Común 1ª y 2ª Etapa,
Del CursoImagen Escrita 2012,
Alumno(s)Víctor Espinoza
ProfesorHerbert Spencer

Insect[] ins; float margin = 65;

void setup() {

size(700,700); int ynum = 6; 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++;
}

} smooth();

}


void draw() {

background(#AEB404); 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(20, 30));
v = new float[vn][10];
tam = 58;
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/2, h/2);
}

} void trace() {

noFill();
stroke(225);
strokeWeight(1);
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 == ' ') {

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

}

if (key == 'v') {

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

} if (key == 'c') {

for (int i = 0; i < ins.length; i++) {
  ins[i].tam--;
  ins[i].init();}
}

}