xxxxxxxxxx
let scl = 10;
let inc = 0.1;
let rows, cols;
var fr;
var zoff = 0;
let particles = [];
let flowField;
function setup() {
createCanvas(windowWidth, windowHeight);
rows = floor(height/scl);
cols = floor(width/scl);
fr = createP('');
flowField = new Array(rows*cols);
for(var i =0; i<400; i++){
particles.push(new Particle());
}
}
function draw() {
//background(250);
let yoff = 0;
for(let y=0; y<rows; y++){
let xoff = 0;
for(x=0;x<cols;x++){
let index = (x + y * cols);
let r = noise(xoff, yoff, zoff);
let angle = r * TWO_PI * 1;
let v= p5.Vector.fromAngle(angle);
v.setMag(0.1);
flowField[index] = v;
xoff += inc;
// stroke(0,100);
// strokeWeight(1);
// push();
// translate(x*scl, y*scl);
// rotate(v.heading());
// line(0,0,scl,0);
// pop();
}
yoff+=inc;
}
for(var i =0; i<400; i++){
particles[i].follow(flowField);
particles[i].update();
particles[i].show();
}
zoff += 0.0007;
fr.html(floor(frameRate()));
}