Davor: Ciclo for

De Casiopea
Revisión del 18:15 12 may 2013 de Dkd (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)


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 Gráfico" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property.
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);
}