Concept
I wanted to create realistic clouds as I was inspired by the beautiful skies and sunsets I grew up seeing in Vancouver. I was not able to capture a video myself as Abu Dhabi is relatively cloudless, so I used a video from the internet as a reference point. The clouds were not moving at a constant rate and did not move in only one directions. I used acceleration to achieve this random effect.
Code Snippet
noiseVector = createVector(0, 0); // Starting position noiseVelocity = createVector(0.03, 0); // Initial velocity moves from left to right noiseAcceleration = createVector(random(-0.005, 0.005), random(-0.005, 0.005)); // Small acceleration for drift // Update the noise field noiseVelocity.add(noiseAcceleration); noiseVector.sub(noiseVelocity); // Move noise field slightly in all directions noiseAcceleration.x = random(-0.0005, 0.0005); noiseAcceleration.y = random(-0.0005, 0.0005);
Embedded Sketch
Reflections
I had a lot of trial and error with the cloud movement. Using Perlin noise helped create the cloud like shape, but in the video I was referencing, the clouds were moving and changing constantly. I think modifying the acceleration helped create the cloud movement and make it look more natural/random, but I was not able to modify the acceleration a lot as this would make the movement erratic, so the result ended up being more subtle. In the future, I want to look into other ways to modify Perlin noise.