Flow Field

The code for this artwork is as follows:

      var points = []
var mult = 0.002

function setup() {
  createCanvas(1000, 600);
  background (180)
  angleMode (DEGREES)
  noiseDetail(3)
  
  var density = 20
  var space = width / density
  
  for (var x = 0; x < width; x += space) {
    for (var y = 0; y < height; y += space) {
      var p = createVector(x + random(-15, 8), y + random(-27, 16))
      points.push(p)
    }
  }
}

function draw() {
  noStroke()
  fill(255)
  
  for (var i = 0; i < points.length; i++) {
    
    var angle = map(noise(points[i].x * mult, points[i].y * mult), 0, 1, 0, 720)
    
    points[i].add(createVector(cos(angle), sin(angle)))
    
    
    ellipse(points[i].x, points[i].y, 2)
  }
}