Forces

dms::Vector3 gravityAccel = gravity_ * dt;
dms::Vector3 windAccel = wind_ * dt;
for (int i=0; i < numParticles_; i++)
    {
    particles_[i].velocity += gravityAccel;
    particles_[i].velocity += windAccel;
    particles_[i].tailPosition = particles_[i].position;
    particles_[i].position += particles_[i].velocity * dt;
    }

Examples: