Getting Creative with Perlin Noise Fields
69 points by 0x000xca0xfe 3 days ago | 14 comments

thomascountz 26 minutes ago
If you're into exploring this sort of thing yourself, I can extremely highly recommend Daniel Shiffman's Nature of Code[1]. It's among my top-5 recommended books about computing in general, let alone for algorithmic art.

[1]: https://natureofcode.com/

reply
jadar 18 minutes ago
If you have played Minecraft, you have a pretty good idea what kind of things Perlin Noise can generate. Maybe not the structures but definitely the terrain is generated by Perlin noise. (At least it was in the 1.4.7 days when I was in the code.)
reply
rikroots 3 hours ago
It turns out that adding noise to gradients is a really useful thing to do - so many new effects can be created with just a few additional parameters. Sadly, CSS and Canvas API gradients (linear, radial, conic) are very basic implementations (and SVG is not much more advanced).

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

reply
mvanga 3 hours ago
Author here. I wrote this many years ago (2017?) while exploring techniques to create art that I could put up on my walls :-) If you enjoyed this article there are more similar ones linked on the main page: https://sighack.com/
reply
liendolucas 31 minutes ago
Iteration 19 is particularly beautiful if you look at it with polarized glasses, it almost looks like a 3d effect.
reply
m12k 2 hours ago
Reminds me of this writeup that I read recently about using a different noise function (not Perlin) to emulate terrain erosion: https://blog.runevision.com/2026/03/fast-and-gorgeous-erosio...
reply
neomantra 2 hours ago
Really nice exploration, and their other posts are interesting too!

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

reply
tehrash 3 hours ago
Great write up! I also dove in to this topic a while ago over at https://damoonrashidi.me/articles/flow-field-methods, but putting the live processing sketches in was a very nice touch! Good job, and nice outputs!
reply
srean 3 hours ago
Very beautiful.

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.

reply
atulvi 3 hours ago
My old work using perlin noise https://a.tulv.in/noise-planets.html
reply
srean 2 hours ago
Please make an HN post out of your generative bad hand writing. Very cool.
reply
neuropacabra 2 hours ago
This is super nice article. Will revisit this one more time and try that out as well. In the age of AI slop, it is such a pleasure to read actual people blogs about what they do and are passionate about. Thank you this one!
reply
ameon 3 hours ago
some beautiful effects and good ideas. My favs are iterations 8, 20, 25
reply
chadgpt3 3 hours ago
This is awesome
reply
ttctciyf 3 hours ago
[dead]
reply