Tool: OpenRNDR Concepts: Flow Fields


Some basic experiments with an initial Flow Fields which only produces angles (no magnitudes). The basic algorithm uses a few random scalers and offsets to feed the field with the following equation:

var angle =  
  360 * (scaler_a * (x_scaled + x_offst) * (y_scaled + y_offst) + (y_scaled) * scaler_b)

This produces a field with quite a bit of variety.

This uses the same palette as I used in R00_RandomCircles whcih was taken from ericyd on Github. I also added some basic extensions for Using OpenRNDR to take Screenshots so that I can press the SPACE bar and take a screenshot (then progress to the next image) or press the mouse button to continue using tools/visual/OpenRNDR in Presentation Mode

While making this I also added a few helper functions for generating random vectors, rounding to the nearest N where N is some Double, and other useful utilities.


Drawing the flow fields

Initially I played around with generating and drawing the flow fields.

Generate a few Single Lines

I decided to create circles at spacings to trace out the lines in sort of Pointalism inspired style. These were randomly distributed starting points on the flow field (allowed to start be outside of the canvas)

And I started playing with the underlying flow field and adding parameters to change its orientation, location, and also start to modulate the density and thickness of the lines and relative spacing to try to see what range i could get


Started generating boolean values that would modulate things like if we were using sharp edges or smooth curves (a technique of binning the flow field points into the spacing, essentially snapping them in after they have traveled their spacing distance), and also density and chunkyness.

These attributes need some work and some more formality. Joint Probabilities would be pretty useful to control the relationships of the attributes to eachother.


  • I sort of like the simple line drawings better (single circles), they have more flow, the others tend to be chaotic
  • I like the little bits of randomness in the drawing if done right. A gaussian noise might be best here
  • Composition is lacking
  • I like the sharp edges

Future Work

  • Tons to be done! fertile ground
  • Different fields
  • Attractors
  • Perlin Noise
  • Improve attributes
  • Improve composition
  • Try with different shapes and line types
  • Finish organizing these notes