Victor Espinoza insectario
De Casiopea
Título | insectario |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | tarea 7, imagen escrita 2012 |
Asignatura | Taller Inicial Común 1ª y 2ª Etapa, |
Del Curso | Imagen Escrita 2012, |
Alumno(s) | Víctor Espinoza |
Profesor | Herbert 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();} }
}