Tarea 7-circulos que se transforman
De Casiopea
Título | |
---|---|
Tipo de Proyecto | Proyecto de Taller |
Palabras Clave | tarea 7 |
Asignatura | Imagen Escrita 2012, |
Del Curso | Imagen Escrita 2012, |
Carreras | Arquitectura |
Alumno(s) | Constanza Hills |
Profesor | Herbert 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"); }
}