xxxxxxxxxx
82
var inc = 0.1;
var scl = 10;
var cols, rows;
var zoff = 0;
var particles1 = [];
var particles2 = [];
var particles3 = [];
var flowfield;
function setup() {
createCanvas(600, 400);
cols = floor(width / scl);
rows = floor(height / scl);
fr = createP('');
flowfield = new Array(cols * rows);
for (var i = 0; i < 1000; i++) {
particles1[i] = new Particle(129, 12, 95);
}
for (var j = 0; j < 1000; j++) {
particles2[j] = new Particle(126, 64, 81);
}
for (var k = 0; k < 1000; k++) {
particles3[k] = new Particle(135, 107, 220);
}
background(55);
}
function draw() {
// background(51);
var yoff = 0;
for (var y = 0; y < rows; y++) {
var xoff = 0;
for (var x = 0; x < cols; x++) {
var index = x + y * cols;
// var angle= sin(x * 0.01) + sin(y * 0.01)*(PI * 2)
var angle = noise(xoff, yoff, zoff) * random(TWO_PI) ;
var v = p5.Vector.fromAngle(angle);
v.setMag(1);
flowfield[index] = v;
xoff += inc;
stroke(0, 50);
}
yoff += inc;
zoff += 0.0003;
}
for (var i = 0; i < particles1.length; i++) {
particles1[i].follow(flowfield);
particles1[i].update();
particles1[i].edges();
particles1[i].show();
}
for (var j = 0; j < particles2.length; j++) {
particles2[j].follow(flowfield);
particles2[j].update();
particles2[j].edges();
particles2[j].show();
}
for (var k = 0; k < particles3.length; k++) {
particles3[k].follow(flowfield);
particles3[k].update();
particles3[k].edges();
particles3[k].show();
}
// fr.html(floor(frameRate()));
}