Curl Noise, Demystified


In my recent post on mapping Perlin noise to angles, I was put on to the subject of Curl noise, which I thought I understood, but did not. I figured out what Curl noise really was in a subsequent post and then posted my earlier incorrect (but still interesting and perhaps useful) concept of Curl noise in yet another post. Although I kind of understood what Curl noise was at that point, I wanted to give myself a more complete understanding, which I usually do by digging into the code, making sure I understand every line 100% and seeing what else I can do with it, trying to make multiple visualizations with it to test my understanding, etc.

Curl Noise


My last post on Perlin noise wound up on hitting Hacker News, which generated an enormous amount of views, and a fair number of comments – here, on Twitter, and on HN itself. Of course, there was the usual eye-rolling, condescending, “why doesn’t he just do ….? that would be the obvious approach” kind of comments there, but a fair amount of actual helpful ideas, explanations, and links. One thing that came up over and over was the idea of using curl noise. So, when I got a chance, I went ahead and used curl noise.

7 Days of Code : July ’21 : 07. Divide

7 days of code, experiments, minicomps

I spent WAAAAAAAY too long on this last weekend. I was possessed. It was fun. The code is hideous. Microcomps? Too bad they don’t do anything. Would be fun to build this out a bit. Clean up the code and modularize things, get them animated and maybe some bit of interactivity. But I doubt I’ll be doing that any time soon.