front_processing/src/Fluid_manipulation/particle.pde
author bastiena
Fri, 06 Apr 2012 11:48:00 +0200
changeset 24 2bdf5d51d434
parent 10 925b7ee746e3
child 27 6c08d4d7219e
permissions -rw-r--r--
Front IDILL : TuioPoint class header modified in order to manage 3D points TuioContainer class header modified in order to manage 3D points TuioCursor class header modified in order to manage 3D points TuioClient class header modified in order to manage 3D points TuioClient class modified in order to manage 3D points client class header modified in order to manage 3D points client class modified in order to manage 3D points
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     1
/*
8
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     2
* This file is part of the TraKERS\Front Processing package.
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     3
*
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     4
* (c) IRI <http://www.iri.centrepompidou.fr/>
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     5
*
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     6
* For the full copyright and license information, please view the LICENSE_FRONT
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     7
* file that was distributed with this source code.
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     8
*/
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     9
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    10
class particle
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    11
{
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    12
    float x;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    13
    float y;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    14
    float xvel;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    15
    float yvel;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    16
    int pos;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    17
    
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    18
    particle(float xIn, float yIn)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    19
    {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    20
        x = xIn;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    21
        y = yIn;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    22
    }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    23
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    24
    void updatepos()
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    25
    {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    26
        float col1;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    27
        if(x > 0 && x < WIDTH && y > 0 && y < HEIGHT)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    28
        {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    29
            //stroke(#cccccc);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    30
            //line(x,y,x+xvel,y+yvel);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    31
            int vi = (int)(x/RES);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    32
            int vu = (int)(y/RES);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    33
            vsquare o = v[vi][vu];
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    34
            //xvel += o.xvel*0.05;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    35
            //yvel += o.yvel*0.05;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    36
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    37
            float ax = (x%RES)/RES;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    38
            float ay = (y%RES)/RES;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    39
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    40
            xvel += (1-ax)*v[vi][vu].xvel*0.05;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    41
            yvel += (1-ay)*v[vi][vu].yvel*0.05;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    42
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    43
            xvel += ax*v[vi+1][vu].xvel*0.05;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    44
            yvel += ax*v[vi+1][vu].yvel*0.05;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    45
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    46
            xvel += ay*v[vi][vu+1].xvel*0.05;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    47
            yvel += ay*v[vi][vu+1].yvel*0.05;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    48
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    49
            o.col += 4;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    50
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    51
            x += xvel;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    52
            y += yvel;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    53
        }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    54
        else
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    55
        {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    56
            x = random(0,WIDTH);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    57
            y = random(0,HEIGHT);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    58
            xvel = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    59
            yvel = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    60
        }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    61
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    62
        xvel *= 0.5;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    63
        yvel *= 0.5;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    64
    }
9
0f44b7360c8d Installer updated
bastiena
parents: 8
diff changeset
    65
}