Skip to content

Repository files navigation

McGill Physics Hackathon (2020) - Mathematical Modeling of Animal Patterns

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.

Graphic User Interface

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.

3D Printed Model

References

[1] Turing, A. M. (1990). The chemical basis of morphogenesis. Bulletin of mathematical biology, 52(1-2), 153-197.

About

McGill Physics Hackathon 2020 entry. Mathematical modelling of animal patterns using reaction diffusion models.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages