Simulating the beautiful complexity of patterns in nature with Python
Submitted by praveen patil (@gnovi) on Friday, 15 September 2017
Technical level: Beginner Status: Shortlisted
“Nature uses only the longest threads to weave her patterns, so that each small piece of her fabric reveals the organization of the entire tapestry”.
---- Richard P. Feynman
Patterns in nature are stunningly beautiful. They are everywhere, in minerals, plants, animals, rivers, snowflakes, dunes, clouds, mountains, bubbles and also in cracks. It is fascinating to take a closer look at the infinite world of patterns and try to understand their mysterious geometry.
These patterns can be explained at different levels by the knowledge of mathematics, physics, chemistry and biology. The infinite complexity of natural patterns is formed with relatively simple mathematical equations. By repeating pattern-generating equations many times, one can create beautiful patterns that are unique and recognizable.
Python provides easy and powerful way to simulate these patterns. The exclusive libraries like Matplotlib, Python-visual, PIL and Mayavi can be used to create amazing interactive visualizations to simulate a wide range of patterns. Python Imaging Library-PIL adds image processing capabilities.
Another python based tool that can be used to explore patterns is Turtle-graphics. It is a wonderful tool for introducing programing to kids. The amazing thing about Python-turtle is that you can draw quite very cool shapes with a couple of simple recursive instructions.
In this presentation I would like to make an effort to take the audience on a journey of exploring the beautiful, mysterious and stunning patterns found in flora, fauna and minerals with the help of
the language we love – Python.
- Introduction to patterns
- A visual tour of mesmesmerizing natural patterns like symmetries, spirals, meanders, tessellations and fractals
- The mathematical beauty of complex patterns
- Simulation with python - introduction to popular tools with demo examples
- Fractles with Turtle graphics-Fun with kids
- Mayavi for visualizing complex structures/phenomena
- Matplotlib for patterns, chaos, motion in force fields etc..
- Python gives power :)
Just curious brains…
A Physics Student who loves teaching.
Free software enthusiast, Fedora volunteer, loves python
FOSSASIA Google Summer of Code student alumnus (2014,15 and 16) Google Code-In and GSoC mentor.
Working on Python powered open source and low cost science lab tools -