numbers
if(@Frame % 2){ vector center = {0,0,5}; vector pos ; pos = set(-(nrandom()-0.5),0,2); int pt = addpoint(0,pos); vector vel = set(0,0,-4*nrandom()); setpointattrib(0,"v",pt,vel); setpointattrib(0,"m",pt,1); }
vector grad = volumegradient(1,0,@P); vector dir_g = normalize(grad); vector dir_v = normalize(@v); int sig = sign(dot(grad,@v))*-1; float strength = 5*(1-dot(dir_g,dir_v)); @force += strength *grad*sig; if(@P.y >0) @force.y += -1.98; if(@P.y <= 0) @force += 0.5*vector(onoise(@P));
@accel = @force/@m; @v += @accel*@TimeInc; @v = clamp(length(@v),0.2,4)*normalize(@v); @v.x= 0; @P += @v *@TimeInc ; @force = {0,0,-0.1};