Demo desarrollada en Processing en la que se simula el comportamiento de una hoguera emitiendo partículas. El objetivo principal de este ejercicio ha sido el aprendizaje del correcto manejo de mayores cantidades de partículas.

Para crear las partículas se ha usado la siguiente función:

void update(float timeStep)
  {
  // Creation of the new Particles
  float npar = NT * _timeStep;
  for( int i = 0; i < npar; i++){
    color c = color( PARTICLE_COLOR[0], PARTICLE_COLOR[1], PARTICLE_COLOR[2]);
    PVector vel = new PVector( random(0, 10) -5, -3 - random(1, 3));
    PVector initPos = new PVector( random(0, 30) - 15, random(0, 30) - 15);
    this.addParticle( M, initPos, vel, R, c, L);
  }

  for (int i = _particles.size() - 1; i >= 0 ; i--)
  {
    Particle p = _particles.get(i);
    
    if (!p.isDead())
      p.update(timeStep);
    else
      _particles.remove(i);
  }
}