Fernanda Adam Insectos

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.
Fernanda Adam rayitas


TítuloFernanda Adam rayitas
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 7
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)Fernanda Adam
ProfesorHerbert Spencer
Insect[] ins; float margin =50;

void setup() {

size(700, 700);
int ynum = 11;
int xnum = 9;
ins = new Insect[ynum * xnum];
float ysp = (height - (2 * margin)) / ((float)ynum - .5);
float xsp = (width - (2 * margin)) / ((float)xnum - .5);
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(255);
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(15, 20));
  v = new float[vn][2];
  tam = 25;
  init();
}
void init() {
  w = tam/.8;
  h = tam;
  for (int i = 0; i < vn; i++) {
    v[i][0] = random(h);
    v[i][1] = random(-h/2, h/2);
  }
}
void trace() {
  noFill();
  stroke(#9EF20F);
  strokeWeight(1);
  beginShape();
  vertex(v[0][1], v[0][0]);
  for (int i = 0; i < vn; i++) {
    curveVertex(v[i][0], v[i][1]);
  }
  vertex(v[vn-2][0], v[vn-3][1]);
  endShape();
  noFill();
  stroke(0);
  strokeWeight(1);
  beginShape();
  vertex(v[0][1], v[0][0]);
  for (int i = 0; i < vn; i++) {
    curveVertex(v[i][1], v[i][0]);
  }
  vertex(v[vn-2][0], v[vn-3][1]);
  endShape();
}
void render() {
  pushMatrix();
  {
    translate(x, y);
    trace();
    scale( 2, - 2);
    trace();
  }
  popMatrix();
}

}

void keyPressed() {

if (key == 'v') { //disminuir
  for (int i = 0; i < ins.length; i++) {
    ins[i].tam--;// disminuir el tamaño
    ins[i].init();
  }
}
if (key == 'c') { //crecer
  for (int i = 0; i < ins.length; i++) {
    ins[i].tam++;// aumentar el tamaño
    ins[i].init();
  }
}
if (key == 'f') { // foto
    saveFrame("img/rayitas###.jpg");
  }
}