Some Field-Producing Algorithms
Here are a few simulation algorithms that can fill a page in an interesting way. I chose these because I was able to find nice tutorials/demos; this is by no means a restricted list.
- Perlin Noise Flow Fields; article; article (Hobbs); @ Coding Train; demo
- Circle-Packing, Polygon packing; @ Coding Train; demo
- Poisson-Disc Distribution [Bostock]; @ Coding Train; demo
- Diffusion-Limited Aggregation (& Webb’s article); @ Coding Train; demo
- Space Colonization; @ Coding Train; demo
- Reaction-Diffusion (& Sims’s tutorial); @ Coding Train; demo
Many more algorithms are described in these resources:
- By Jason Webb: https://github.com/jasonwebb/morphogenesis-resources
- By Taru Muhonen & Raphaël de Courville: https://thatcreativecode.page/
- By v3ga: https://github.com/v3ga/Processing
Here’s an excellent Observable notebook with interactive illustrations of Perlin Noise flow fields:
Here’s Dan Shiffman offering an explanation as well on the Coding Train.
Here’s a p5 demo I made.
Examples of artworks using Perlin Noise flow fields.
By Nadieh Bremer:
By Tyler Hobbs:
By Mark Webster:
By Lionel Radisson:
By Fred Briolet:
By Itay Niv:
By Julien Gachadoat:
By Alexis Colby:
— Alexis Colby (@alexis_o_O) July 8, 2021
By Jessica In:
Force lines 4 one of my #fluid particle sims. Theese repel the particles & add tangent force at the same time.Particles have local density attrib which makes them move faster when the density is higher than a certain threshold. #generarive #generativeart #houdini #creativecoding pic.twitter.com/WiZ1hOJWkx
— Ehsan Parizi (@ehsan_parizi) August 15, 2021
Neurogenesis I, tribute Santiago Ramón y Cajal. pic.twitter.com/dkngCoyBwM
— ⸘Jack Rusher‽ (@jackrusher) September 17, 2021
Blending Algorithmic Approaches
In this article, Tyler Hobbs shows how different algorithms (including circle packing) can be used to seed the initial positions of moving particles — which can affect how a Perlin Noise flow field looks.
In this example (discussed here), Jason Webb shows how a Diffusion-Limited Aggregation simulation can be expressively altered, when the diffusing particles are not simply moving in a random way, but are moving along gradients of another simulation (in this case, a Perlin Noise flow field).
In this example below, a creator has accelerated a Physarium simulation by seeding the terrain with Perlin Noise, instead of having the terrain arise (slowly) exclusively through the actions of the particles:
Another variation. In this version I seed the "trail map" with chemoattractant ahead of time (with Perlin noise). The previous GIFs have no pre-seeding: the agents themselves are the only means of generating chemoattractant, and this happens at each simulation step. pic.twitter.com/BQafukPZyP
— incre.ment (@incre_ment) July 1, 2021