If you’ve been following along #awegif2021 on twitter, you’ve seem me post a few animated gifs that look like the image above (days 1-6 specifically). These are known as Chladni figures, named after Ernst Chladni. He described the formulas that create the patterns that result when you use soundwaves to activate sand or powder on a flat surface. You can find a ton of videos on Youtube that feature real world examples of this. But it’s also fun to do in code.
Sometimes I like to take two random concepts and smash them together.
I previously had an incorrect concept of what curl noise was. This experiment demonstrates it. Although it isn’t what I thought it was, it’s still a pretty cool concept.
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.
Similar to one I did recently, but implemented with isometric cubes.
I could not be happier about the way this turned out. I could play with this for hours. Which is to say, I’ve been playing with this for hours.
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.
I have to admit, after yesterday’s excitement over discovering Canvas filters, and after digging into them a bit to write the last couple of posts about them, I was somewhat underwhelmed. They didn’t seem as exciting as I initially thought they would be. But had another go with them today, and now I am a believer.
This algorithm is painfully slow, but if kept to small areas it’s pretty neat.
Once again, draw on the canvas. This took well under an hour to create, which is really only a testament to how many times over the last 20 years I’ve re-written the same damn code. 🙂