Esta simulación empezó siendo simplemente un conjunto de partículas libres, que podrían servir para ejemplificar el movimiento de las moléculas de un gas ideal. Después le añadí el vector velocidad para saber hacia donde se mueven. Y por último, algo de interacción con el usuario, al hacer click o tocar la pantalla, se genera un impulso repulsivo en todas las partículas cercanas. Hasta ahí, es lo que se puede ver en la primera opción.
En la segunda opción, me decidí a incluir interacciones entre las propias partículas. Se trata de una fuerza repulsiva que disminuye con el cuadrado de la distancia (igual que la fuerza electrostática o gravitatoria). El resultado es que las partículas tienden a desviarse para no acercarse demasiado entre ellas. Además, debido al efecto combinado de todas las repulsiones en conjunto, se produce una acumulación de partículas en los bordes. Este efecto es similar al que se produce en los electrones dentro de un conductor, que tienden a repartirse por la superficie. Si se hace click o se toca la pantalla también se produce el efecto de la primera opción.
Por último, para observar mejor cómo tienden a separarse las partículas cuando existe repulsión entre ellas, en el tercer ejemplo he puesto un rozamiento para conseguir que las partículas se detengan en sus posiciones de equilibrio. También he puesto un «rayito» entre cada partícula y su vecina más cercana. Esto es meramente orientativo, porque la fuerza se calcula a partir de todas las partículas, no solo la más cercana. Aquí también se puede interaccionar con el ratón o el dedo para empujar las partículas.
En el tercer ejemplo, es interesante ver cómo las partículas tienden a ocupar todo el volumen accesible repartiéndose y separándose lo más posible entre ellas. Además también se produce la acumulación en los bordes.