Tarea 7-circulos que se transforman

De Casiopea
{{{Título}}}


Título
Tipo de ProyectoProyecto de Taller
Palabras Clavetarea 7
AsignaturaImagen Escrita 2012,
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Constanza Hills
ProfesorHerbert Spencer

Basado en el ejemplo del profesor herbert, cree circulos que al modificar su tamaño, se transforman en circunferencias con partes de triangulos. circulos[] circ; float margin = 70; //import processing.pdf.*;

void setup() {

 size(609, 1223);//, PDF, "cir-##.pdf");
 int ynum = 11;
 int xnum = 9;
 circ = new circulos[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) {
     circ[c] = new circulos(x, y);
     c++;
   }
 } 
 smooth();

}


void draw() {

 background(255);
 for (int i = 0; i < circ.length; i++) {
   circ[i].render();
 }
//println("listo.presiona cmd + K para ver el PDF");
//exit();

}


class circulos {

 float x, y;
 float[][] v; // vertices
 int vn;  // número aleatorio de vértices
 float tam;  // tamaño
 float w, h; // width, height
 circulos(float x, float y) {
   this.x = x;
   this.y = y;
   vn = round(random(50, 10));
   v = new float[vn][22];
   tam = 10;
   init();
 }
 void init() {
   w = tam/20;
   h = tam/20;
   for (int i = 0; i < vn; i++) {
     v[0][0] = random(w);
     v[0][1] = random(-h/2, h/2);
   }
 }
 void trace() {
   noFill();
   stroke(0);
   strokeWeight(30);
   beginShape();
   vertex(v[0][0], v[0][1]);
   for (int i = 0; i < vn; i++) {
     curveVertex(v[0][0], v[0][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 == 'r') {
   for (int i = 0; i < circ.length; i++) {
     circ[i].init();
   }
 }
 if (key == 'a') {
   for (int i = 0; i < circ.length; i++) {
     circ[i].tam++;
     circ[i].init();
   }
 }
 if (key == 'z') {
   for (int i = 0; i < circ.length; i++) {
     circ[i].tam--;
     circ[i].init();
   }
 }
 if (key == 'w') {
   saveFrame("circilos-###.jpg");
 }

}