Paulina Mora: Tramo distancia

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.



TítuloTamo distancia
Tipo de ProyectoProyecto de Curso
AsignaturaTaller Inicial 1ª y 2ª Etapa,
Del CursoImagen Escrita,
Alumno(s)Paulina Mora
ProfesorHerbert Spencer

float mx, my, nx, ny; float[][] coords; void setup() {

 size(800, 400); 
 mx = 50; // margen horizontal
 my = 50; // margen vertical 
 nx = 25; // número de elementos en X
 ny = 25; // número de elementoa en Y
 // defino el # de coordenadas
 coords = new float[(int)(nx*ny)][2];
 
 float spx, spy, px, py;
 
 // calculo los espaciadores verticales y horizontales
 spx = (width - (2 * mx))  / (nx-1);
 spy = (height - (2 * my)) / (ny-1);
 // construyo todos los puntos
 for (int y = 0; y < ny; y++) {
   for (int x = 0; x < nx; x++) {
     coords[(int)((ny*y)+x)][0] = mx + (x * spx);
     coords[(int)((ny*y)+x)][1] = my + (y * spy);
   }
 }
 smooth();
 background(260);

}

void draw() {

 for (int i = 0; i < nx*ny; i++) {
   for (int j = 0; j < i; j++) {
     // calcula la distancia entre los puntos 'i' y 'j'
     float d = dist(coords[i][0], coords[i][1], coords[j][0], coords[j][1]); 
     // si la distancia es menor que ... 
     if (d < 20) {
       // dibuja la línea
       stroke(0);
       line(coords[i][0], coords[i][1], coords[j][0], coords[j][1]);
     }
   }
   // mueve un poco los puntos
   coords[i][0] += random(-4, 2);
   coords[i][1] += random(-2, 2);
   
   // dibuja los puntos
   ellipse(coords[i][0], coords[i][1],4, 4);
 }
 // dibujo un velo blanco para que se dibuje la estela
 noStroke();
 fill(255, 15);
 rect(0, 0, width, height);

}