Getting Creative with Perlin Noise Fields
131 points - last Saturday at 10:55 PM
SourceComments
[1] https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph2007-cu... [2] https://github.com/smcameron/gaseous-giganticus [3] https://en.wikipedia.org/wiki/OpenSimplex_noise
https://020406.org/processing/PerlinNoiseBounds1.png
https://020406.org/processing/PerlinNoiseBounds2.png
https://020406.org/processing/PerlinNoiseBounds3.png
The Processing code I wrote to make them is here: https://github.com/Brian-Fearn/Processing/blob/main/PerlinNo...
Recently I did some work to add software gradient enhancements to my canvas library. Because these run on the CPU rather than GPU they're computationally intense, but still worth the effort just to see what can be done with different spreads (pad, repeat, reflect, transparent) and noise engine operations inserted while calculating stuff like gradient color selection, and pixel positioning.
Linear gradient demo test - https://scrawl-v8.rikweb.org.uk/demo/canvas-003.html
The reason these add so much visual interest to a simple noise function is that each pixels color now relies on many more of the random values. Generative art blossoms with this extra computational effort.
We used Perlin noise for demos of our Golang/BubbleTea terminal Glyph heatmap widget and then later with our Picture widget.
Live WASM demos of the Golang terminal programs:
https://nimblemarkets.github.io/ntcharts/demos/heatmap-perli...
https://nimblemarkets.github.io/ntcharts/demos/heatpicture-p... Press 't' to switch between glyph/image modes
I am a complete newbie, so I might be asking about something obvious -- does anyone know how some of these would relate to plotting random Polya vector fields ?
For example, one can take a sum of complex rational functions of the form
f_i(z) = r_i / (z - p_i)
where (r_i,p_i) are complex numbers drawn from some random point process, say a generalized Poisson one.One needs to plot the conjugate of sum_i f_i(z).
EDIT: so many lovely pages pointed to in the comments ! Let me convey collective thanks to all, rather than clutter this page with individual thanks.
@ttctciyf you are marked dead. Not sure why.