diff -r 8a21bec5d45f -r e4e7db2435f8 front_processing/src/Fluid_manipulation/particle.pde --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/front_processing/src/Fluid_manipulation/particle.pde Thu Mar 22 16:00:17 2012 +0100 @@ -0,0 +1,65 @@ +/* +* This file is part of the TraKERS\Front Processing package. +* +* (c) IRI +* +* For the full copyright and license information, please view the LICENSE_FRONT +* file that was distributed with this source code. +*/ + +class particle +{ + float x; + float y; + float xvel; + float yvel; + int pos; + + particle(float xIn, float yIn) + { + x = xIn; + y = yIn; + } + + void updatepos() + { + float col1; + if(x > 0 && x < WIDTH && y > 0 && y < HEIGHT) + { + //stroke(#cccccc); + //line(x,y,x+xvel,y+yvel); + int vi = (int)(x/RES); + int vu = (int)(y/RES); + vsquare o = v[vi][vu]; + //xvel += o.xvel*0.05; + //yvel += o.yvel*0.05; + + float ax = (x%RES)/RES; + float ay = (y%RES)/RES; + + xvel += (1-ax)*v[vi][vu].xvel*0.05; + yvel += (1-ay)*v[vi][vu].yvel*0.05; + + xvel += ax*v[vi+1][vu].xvel*0.05; + yvel += ax*v[vi+1][vu].yvel*0.05; + + xvel += ay*v[vi][vu+1].xvel*0.05; + yvel += ay*v[vi][vu+1].yvel*0.05; + + o.col += 4; + + x += xvel; + y += yvel; + } + else + { + x = random(0,WIDTH); + y = random(0,HEIGHT); + xvel = 0; + yvel = 0; + } + + xvel *= 0.5; + yvel *= 0.5; + } +}