Valentina Véliz, tarea 7
De Casiopea
Título | Tarea 7, Insectitos loquillos |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | tarea 7, imagen escrita 2012 |
Período | 2012- |
Asignatura | Imagen Escrita 2012, Taller Inicial Común 1ª y 2ª Etapa, |
Del Curso | Imagen Escrita 2012, Taller Inicial 1ª y 2ª Etapa, |
Carreras | Arquitectura |
Alumno(s) | Valentina Véliz |
Profesor | Herbert Spencer |
/*La idea es que los supuestos insectos dados en el ejemplo del profesor en clases cambien de color azarosamente al igual que el orden en que aparecen*/
Insect[] ins; float margin = 70; color start=color(0, 0, 0); color finish; float amt = 0.0; void setup() { size(700, 700); stroke(start); finish = color(random(255), random(255), random(255)); int ynum = 7; int xnum = 7; 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(#676766); 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(25, 30)); v = new float[vn][10]; tam = 70; 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(); amt+=.01; if (amt >= 1) { amt = 0.0; start = finish; finish = color(random(255), random(255), random(255)); } stroke(lerpColor(start, finish, amt)); stroke(start); strokeWeight(.8); 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(y, x); trace(); scale(-1, 1); trace(); } popMatrix(); } } void keyPressed() { if (key == '3') { for (int i = 0; i < ins.length; i++) { ins[i].init(); } } if (key == '1') { for (int i = 0; i < ins.length; i++) { ins[i].tam++; ins[i].init(); } } if (key == '2') { for (int i = 0; i < ins.length; i++) { ins[i].tam--; ins[i].init(); } } }