Una de loops

(El darrer post abans de començar el taller. Si heu notat que els posts es van tornant més curts i caòtics, a partir d’ara pot ser pitjor…)

No hi ha res com recórrer als mestres. En un curs a ITP, l’Amit Pitaru proposava el següent exercici per entendre a fer anar loops amb processing, que crec que pot ser molt útil.

Es tracta de reproduir amb codi les següents captures de pantalla.

(i si us pot la impaciència, una solució aquí, tot i que recomano barallar-se amb el codi, en aquest cas )

8 Responses to “Una de loops”

  1. albagcorral Says:

    int ancho =40;
    int alto =40;
    int cuadrados = 25;
    int espacio =5;
    int posy ;
    int posx;
    int posxini =posx;
    int posyini =posy;
    void setup()
    {
    framerate(10);

    size(225, 225);//ponemos el ancho y el alto de laventana
    noStroke();//deshabilita la posibilidad de poner borde

    posx = int(random(espacio));
    posy = int(random (espacio));
    }

    void draw()
    {
    //background(0,0,0);
    for(int i=1; i

  2. albagcorral Says:

    no se escribe el codigo completo :(

  3. joan Says:

    enviame’l a mi. No veig quin és el problema, però jo hi he pogut afegir coses :-|

  4. joan Says:

    fa mal dir-ho, però… la culpa és del firefox, i amb explorer funciona! (almenys pels test que he fet jo, i des de PC…)

  5. albagcorral Says:

    Ahora con Explorer, a ver si hay suerte!!

    int ancho =40;//ancho del rectangulo
    int alto =40;//alto del rectangulo
    int cuadrados = 50;//numero total de cuadrados
    int espacio =5;//espacio entre cuadrados
    int posy ;//variables que nos indicara la posicion de cada cuadrado
    int posx;
    int posxini;//posicion inicial x de cuadrado
    int posyini ;//posicion inicial y de cuadrado
    void setup()
    {
    framerate(10);

    size(225, 450);//ponemos el ancho y el alto de laventana
    noStroke();//deshabilita la posibilidad de poner borde

    }

    void draw()
    {
    posy = int(random(espacio));
    posx = int(random(espacio));
    // posy = int(espacio);
    //posx = int(espacio);
    posxini = posx; //inicializamos la posicion x
    posxini = posy;//inicializamos la posicion x

    for(int i=1; i

  6. joan Says:

    //El código de Alba
    int ancho =40;//ancho del rectangulo
    int alto =40;//alto del rectangulo
    int cuadrados = 50;//numero total de cuadrados
    int espacio =5;//espacio entre cuadrados
    int posy ;//variables que nos indicara la posicion de cada cuadrado
    int posx;
    int posxini;//posicion inicial x de cuadrado
    int posyini ;//posicion inicial y de cuadrado
    void setup()
    {
    framerate(10);

    size(225, 450);//ponemos el ancho y el alto de laventana
    noStroke();//deshabilita la posibilidad de poner borde

    }

    void draw()
    {
    posy = int(random(espacio));
    posx = int(random(espacio));
    // posy = int(espacio);
    //posx = int(espacio);
    posxini = posx; //inicializamos la posicion x
    posxini = posy;//inicializamos la posicion x

    for(int i=1; i<cuadrados+1; i++ ) {

    float esFinalLinea = i % espacio;//sacamos el resto de dividir el numero de cuadrado actual del loop y el espacio
    fill(0,random(255),0);
    //print(i);
    rect(posx, posy, ancho, alto);//x,y,width,height
    //damos posicion de la x sumando a la poscion actual el ancho del cuadrado y el espacio entre ellos
    posx = posx+ancho+espacio;
    //hacemos un salto de linea si el numero de cuadrados llega al numero de espacios
    if (esFinalLinea == 0 ){
    //damos posicion de la y sumando a la poscion actual el alto del cuadrado y el espacio entre ellos
    posy = posy+alto+espacio;
    posx = posxini;
    }
    }
    }

    void mousePressed() {

    noLoop();
    }

    void mouseReleased() {
    background(0,0,0);//variaciion
    loop();
    }

  7. albagcorral Says:

    http://www.albagcorral.com/processing/ejemplo1/

    y aqui una variación

    http://www.albagcorral.com/processing/ejemplo2/

  8. albagcorral Says:

    Y otro ejemplito

    http://www.albagcorral.com/processing/ejemplo3/

    En este se puede apreciar bien el efecto que produce dibujar una linea que no es recta.

Leave a Reply

You must be logged in to post a comment.