Reaction-Diffusion system simulation using the Gray-Scott model, in Dyalog APL and BQN.
Install Dyalog APL and Netpbm (apt-get install netpbm
). Then run
make
. This will create the img.pnm
and img.png
files in the
current directory.
The images are generated from APL by creating a Netpbm file, which are
nice because they are just plain-text. It is then converted to PNG
using pnmtopng
.
Clone bqn-graphics at the same level than this repository. Run the
./generate_animation.sh
script. It requires GNU Parallel, Netpbm,
and ffmpeg.
PNM and PNG images are in the out
directory, and the animation is in
out.mp4
.
All the parameters are defined directly in grayscott.dyalog.
The parameters of the model are:
dt
: the time step,da
: the diffusion rate for A,db
: the diffusion rate for B,f
: the feed rate for A,k
: the kill rate for B.
Additionally, you can change N
, the size of the grid, and steps
,
the number of time steps to simulate.
Finally, the function mat2pbm
exports to a bitmap (black and white)
format, while mat2pgm
exports a grayscale image.
This page gives a good explanation of the Gray-Scott model. This notebook gives a nice example of implementation in Python with Numpy. For even more details on the model and a classification of pattern, see this page.