Coding Challenge #136.1: Polar Perlin Noise Loops
Why Stack Overflow recommends it
Stack Overflow users link it when asking about or explaining how to make noise loop seamlessly by walking in a circle through noise space, in 2D or 3D.
Recommended by 2 people across 2 different months, 2019 to 2022.
What it is
Daniel Shiffman of The Coding Train shows how to build perfectly looping GIF animations by sampling a Perlin noise field along a circular path in polar coordinates. He live-codes the idea in p5.js, drawing on Etienne Jacob's looping-noise technique, and then moves on to exporting the loop as a GIF in a follow-up part.
What people said
Recommends Iggy · 2019-07 · Stack Overflow · on “Trying to map a sphere with Perlin Noise”
@MateoPérezMurillo Here's [this video] a pretty good example of what you should be trying to do, it's the same idea in 3D.
Recommends Tornado_code · 2022-06 · Stack Overflow · on “Converting custom javascript noise/offset functions to p5's native functions”
I took a sketch from Processing's Java version and adapted it to p5.js that creates a field of nice wavy lines. But I am learning p5.js and looking to simplify the code further by getting the noise and the offset values through p5's in-built functions like noise() , lerp() etc. I am trying a lot to get my head over achieving the 2 functions, periodicFunction() and offset() and the value of t somehow with p5 's own helper functions but no luck yet. I watched Daniel Shiffman's amazing video [this video] on Polar Perlin Noise Loops several times but still can't progress because instead of linking the noise values to a circular shape (like in his video), I want to adapt it to my sketch here. Any help
Cites W268 · 2021-01 · Stack Overflow · on “What is the intent of using 4D OpenSimplex Noise instead of 2D Perlin Noise to create a looping noise?”
While I was learning about ways to create a looping generative art GIF, I encountered two different ways of making noise loops. Etienne Jacob's example code in his tutorial [LINK] uses 4D OpenSimplex Noise as follows. (float)noise.eval(scl * x, scl * y, R * cos(TWO_PI * t), R * sin(TWO_PI * t)); Daniel Shiffman's example code in his tutorial [this video] uses 2D Perlin Noise as follows. noise(cos(a) + 1, sin(a) + 1); [LINK] What I understand is that both achieves the loop by "walking in circle" in the noise space like above gif. But the difference between two are unclear to me. What is the intent of choosing 4D OpenSimplex over 2D Perlin Noise to create a looping noise?