Simulating particles flying in the wind
In this recipe, we will explain how you can apply Brownian motion to your particles. Particles are going to behave like snowflakes or leaves flying in the wind.
Getting ready
In this recipe we are going to use the code base from the Creating a particle system in 2D recipe.
How to do it…
We will add movement to particles calculated from the Perlin noise and sine function. Perform the following steps to do so:
Add the necessary headers.
#include "cinder/Perlin.h"
Add properties to your application's main class.
float mFrequency; Perlin mPerlin;
Set the default value inside the
setup
method.mFrequency = 0.01f; mPerlin = Perlin();
Change the number of the particles, their radius, and mass.
int numParticle = 300; float radius = 1.f; float mass = Rand::randFloat(1.f, 5.f);
At the beginning of the
update
method, add the following code snippet:Vec2f oscilationVec; oscilationVec.x = sin(getElapsedSeconds()*0.6f)*0.2f; oscilationVec.y = sin(getElapsedSeconds()*0.2f...