Davor: Ciclo for

De Casiopea



TítuloCiclo For 1
Tipo de ProyectoProyecto de Taller
Palabras Clavetarea 2
Período2013-2013
AsignaturaImagen Escrita 2013 - DIS
Del CursoImagen Escrita 2013 - DIS
CarrerasDiseño Gráfico, Diseño Industrial
Alumno(s)Davor Koscina
ProfesorHerbert Spencer


float margen, xSpace, ySpace;
// el margen, el espaciador horizontal y el vertical

int xElems, yElems;
// la cantidad de elementos horizontales y verticales

void setup() {
  
  size(500, 500);
  
  // al modificar estos valores, modifico el resultado final
  margen = 100;
  xElems = 20;
  yElems = 20;
  
  // una función personalizada, que se especifica más abajo
  calc();
  
  // impido que el mouse parta con las coordenadas (0,0)
  mouseX = xElems;
  mouseY = yElems;
}

void draw() {
  
  background(255);
  
  // recalculo la cantidad de elementos de 
  // acuerdo a la posición del mouse.
  // (lo divido por 3 sólo para efectos prácticos de escala)
  
  xElems = (int) mouseX / 4;
  yElems = (int) mouseY / 4;
  
  calc();
  
  // 2 ciclos for anidados, para armar un patrón bidimensional (2D)
  
  for (float y = margen; y <= height-margen; y += ySpace) {
    for (float x = margen; x <= width-margen; x += xSpace) {
      triangle(x, y, 3, 3, 9, 9);
    }
  }
}

void calc() {
  xSpace = (width - 2 * margen) / (float)(xElems - 1);
  ySpace = (height - 2 * margen) / (float)(yElems - 1);
}