Valentina Olivares tarea 7

De Casiopea


Puntitostarea7.jpg


TítuloValentina Olivares tarea 7
Tipo de ProyectoProyecto de Curso
Período2012-
Del CursoImagen Escrita 2012
CarrerasArquitectura, Diseño Gráfico, Diseño Industrial
Alumno(s)Valentina Olivares
ProfesorHerbert Spencer

gusanitos en movimiento se mueven con "q" x" y "b"


Insect[] ins; float margin = 80;

void setup() {

size(800, 800); int ynum = 11; int xnum = 9; ins = new Insect[ynum * xnum]; float ysp = (height - (4 * margin)) / ((float)ynum - 3); float xsp = (width - (4 * margin)) / ((float)xnum - 3); 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(230); 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(21, 21));
 v = new float[vn][3];
 tam = 57;
 init();

} void init() {

 w = tam+8;
 h = tam/40;
 for (int i = 0; i < vn; i++) {
   v[i][0] = random(h);
   v[i][1] = random(h/8, h+5);
 }

} void trace() {

 noFill();
 stroke(5);
 strokeWeight(.3);
 beginShape();
 vertex(v[0][1], v[1][2]);
 for (int i = 0; i < vn; i++) {
   curveVertex(v[i][0], v[i][0]);
 }
 vertex(v[vn-1][0], v[vn-1][2]);
 endShape();

} void render() {

 pushMatrix();
 {
   translate(x, y);
   trace();
   scale(2, -2);
   trace();
 }
 popMatrix();

} }

void keyPressed() {

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

} if (key == 'b') {

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

} }