Alumnus Exemplar: Ciclo For, parte 2
De Casiopea
Título | Ciclo For, ejemplo avanzado |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | tarea 2 |
Asignatura | Imagen Escrita, |
Del Curso | Imagen Escrita 2013 - ARQ, Imagen Escrita 2013 - DIS, |
Carreras | Arquitectura, Diseñ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. |
Alumno(s) | Alumnus Exemplar |
Profesor | Herbert 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 / 3; yElems = (int) mouseY / 3; 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) { ellipse(x, y, 3, 3); } } } void calc() { xSpace = (width - 2 * margen) / (float)(xElems - 1); ySpace = (height - 2 * margen) / (float)(yElems - 1); }