Hackpact.Mx |

Arte Generativo

  Inicio ¿qué es?   participantes

Ligas de interés

¿cómo subir los códigos?  

  Eduardo H Obieta | 07 Processing
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
   

Your browser does not support the canvas tag.

artegenerativo04

 
     
  TENSEGRITY La representación de superficies orgánicas a partir de líneas es siempre algo que me atrae, en este caso me imagino un espacio distorsionado por la sutileza de textiles en tensión (como mi oficina), para lograr las tensiones en ocasiones es necesario tener otros objetos en compresión, ambos en equilibrio es algo que se conoce como tensegrity, mi fascinación como arquitecto. El ruido agrega una sensación ligeramente orgánica al gráfico resultante.  
 

código:

artegenerativo06

/*por Eduardo H Obieta
hackpact de arte generativo
www.artegenerativo.laad.com.mx
*/

//ahora algo con sols líneas, rebotando por doquier, ah y con color
int q = 10;
float[] px, py, incx, incy, ruix, ruiy;
float vel=10;
float sep=0.1;

void setup () {
size(800, 400 );
background(240);
smooth();

px = new float[q];
py = new float[q];
incx = new float[q];
incy = new float[q];
ruix = new float[q];
ruiy = new float[q];

for (int i=0; i < q; i++) {

px[i]=random(100, width-100);
py[i]=random(100, height-100);
incx[i]=random(-sep, sep)*vel;
incy[i]=random(-sep, sep)*vel;
}
}

void draw() {
strokeWeight(0.25);
for (int i=0; i < q; i++) {
noStroke();
fill(20);
ellipse(px[i], py[i], 3, 3);
px[i]+=incx[i]*ruix[i];
py[i]+=incy[i]*ruiy[i];
ruix[i]=noise(px[i])*3;
ruiy[i]=noise(py[i])*3;
}
stroke(50, 0, 50, 50);
for (int i=0; i < q-1; i++) {
line(px[i], py[i], px[i+1], py[i+1]);
}
stroke(50, 50, 50, 20);
line(px[0], py[0], px[q-1], py[q-1]);

for (int l=0; l<q; l++) {
if ((px[l]>=width-2) || (px[l]<= 2)) {
incx[l]= -incx[l];
}
if ((py[l]>height-2) || (py[l]<= 2)) {
incy[l]= -incy[l];
}
}
}