Painting flow fields

The source code is available on GitHub

This project was born out of a deeper exploration into dimensional noise with the knowledge gained from my [Visualizing dimensional noise algorithms] project. In this app, a dimensional noise feel is used to guide particle that leave a colorful trail behind them. The trails combine over time to reveal the "flow" of dimensional noise. Several noise algorithms are available to guide the particles. This visualization contains a UI for easy modification of the app's configuration. Particles can be placed individually by left clicking or painted by holding the right mouse button.

There are also some keyboard controls:

KeyAction
SpaceSpawn new particle in a random location
AToggle On/Off. Automatically spawn a particle every frame unless too many already exist
BClear the screen and change the background
CSwitch to the next color palette
LSwitch to the next line cap type
NGenerate a new noise seed and reset the field
~Show or hide the UI

Note: Because of how the flowing lines are painted, the UI won't immediately disappear and must be painted over, either by changing the background or by painting particles over it.

Examples

Turbo palette painted over noise produced by the billow algorithm

Turbo palette painted over noise produced by the billow algorithm


Viridis palette painted over noise produced by the billow algorithm

Viridis palette painted over noise produced by the billow algorithm


Fantasy palette painted over noise produced by the Worley algorithm

Fantasy palette painted over noise produced by the Worley algorithm