This is our entry for the McGill Physics Hackathon (2020). We built a numerical model to generate patterns commonly seen on animals, fish and flora. Our approach uses a reaction-diffusion model originally proposed by Alan Turing [1]. We focused mainly on the Gray-Scott model and produced a bunch of graphics which can be seen in the 'output' folder.
The reaction-diffusion model leads to a diverse array of patterns defined by three model parameters: diffusion rate, feed rate, and kill rate. Varying these parameters can lead to a variety of stable and unstable states allowing us to closely model animal coat patterns ranging from stripes to dots.
In addition to setting invariant model parameter for each run, we've experimented with spatially varying model parameters resulting in the following patterns.
In order to effectively visualize the evolution of the patterns given different initial conditions and model parameters, we created a GUI using pyQt5 in conjunction with matplotlib. The GUI can be run by executing '''/reaction-diffusion-gui/main.py'''. Note that the dependencies are the following: pyQt5, numpy, scipy, sklearn, and matplotlib.
[1] Turing, A. M. (1990). The chemical basis of morphogenesis. Bulletin of mathematical biology, 52(1-2), 153-197.









