Deuxième essai avec Processing. Surtout, mettez le son à fond.

5 comments

  1. niko février 17th, 2012 12:53 Reply
    #1

    J’avais fait une première version si vous êtes curieux.

    http://www.youtube.com/watch?v=McVQbZ8zaMQ

    La bande son aussi est différente.

  2. eric février 17th, 2012 8:05 Reply
    #2

    Très chouette. La musique va bien avec la synesthésie des cubes.

  3. miguel février 17th, 2012 10:20 Reply
    #3

    Trop fort!! C’est tes dessins au départ, je suppose? Faudra essayer Processing, ça a l’air vraiment sympa.

  4. virgi février 17th, 2012 4:26 Reply
    #4

    Les cubes dansent bien en rythme. Bravo pour la chorégraphie :)

  5. niko février 17th, 2012 8:07 Reply
    #5

    Et non, ce n’est pas du dessin: c’est tout simplement des cubes, avec un tremblement léger appliqué à la position et une compression vidéo qui donne cet effet. Je met le code ci-dessous si vous voulez le rejouer (tout y est, y compris les « changements de plans »). C’est tout bête.

    import processing.video.*;

    float z1 = -10.0;
    float noiseValue = 4.0;
    float noiseValue2 = 0.1;

    void setup()
    {
    size (600,600,P3D);
    fill (0);
    stroke(#000000);
    strokeWeight(1);
    smooth();
    lights();
    fill(255, 255, 255, 255);

    frameRate(60);
    }

    void draw()
    {
    background(255);

    int counter = frameCount/3;

    pushMatrix();

    rotateX((float)Math.sin(counter/16));
    rotateY((float)Math.sin(counter/16)*(float)Math.cos(counter/24));

    for ( int z = 80 ; z <= width-70 ; z+=80 )
    for ( int x = 80 ; x <= width-70 ; x+=80 )
    for ( int y = 80 ; y <= width-70 ; y+=80 )
    {
    float rot = (float)Math.random() ;

    pushMatrix();

    z1 = z1/2 – (float)Math.sin(counter) * (float)Math.cos(x*y*40) * 10.0;

    translate(x+(float)Math.random()*noiseValue,y+(float)Math.random()*noiseValue,z1*noiseValue-z);

    rotateX((float)Math.random()*noiseValue2-noiseValue2/2);
    rotateY((float)Math.random()*noiseValue2-noiseValue2/2);
    rotateZ((float)Math.random()*noiseValue2-noiseValue2/2 + (counter/8)%360);

    box(40);

    popMatrix();
    }

    popMatrix();

    }

Leave a comment

You must be logged in to post a comment.