Por @Alvy — 2 de Febrero de 2017

Un simulador de líquidos 2D y leyes físicas

Este simulador de líquidos utilizando autómatas celulares es una forma de mostrar cómo actúan este tipo de creaciones matemáticas que tienen «comportamientos complejos a partir de reglas simples». Su creador es JGallant y está programado en Unity. Utiliza dos tipos de celdas y tres reglas.

En esta especie de versión avanzada del Juego de la vida de Conway cada celda («píxel») del escenario sigue una serie de reglas. Cada celda puede albergar cierta cantidad de líquido (azul) que se almacena como un número – en otros autómatas el funcionamiento es más simple y «binario», pero aquí es necesario algo que requiere más detalle.

Un simulador de líquidos 2D y leyes físicas

La regla más sencilla del autómata es mover los líquidos hacia abajo («gravedad») siempre que la celda que hay inmediatamente encima contenga más líquido. La segunda regla se refiere a cómo hacer fluir el líquido a derecha o izquierda, lo cual también depende de que haya más o menos líquido en las celdas vecinas que en la que se está calculando: el contenido puede desplazarse a un lado, otro u ambos a la vez. La tercera regla controla la presión que impulsa el líquido hacia arriba si las celdas vecinas a derecha e izquierda tienen más líquido.

En la página de demostración puede jugarse con el simulador para ver su comportamiento, bastante realista para lo simple que es.

Botón izquierdo: dibujar paredes, botón izquierdo: soltar agua.

Variando algunos parámetros del código podrían conseguirse efectos como una mayor o menos viscosidad, conseguir que el líquido se quedara pegado a las paredes, efectos como el viento, etcétera. Todo con un pequeñísimo conjunto de reglas que funcionan en todas las celdas por igual. Para quien se anime, el código fuente está en Github.

Relacionado:

Compartir en Flipboard Publicar / Tuitear