/pywonderland

Render beautiful images and animate interesting algorithms in math with Python. Fractals, Penrose tilings, reaction-diffusion, Wilson's uniform spanning tree algorithm, domino shuffling algorithm, coupling from the past, 3D and 4D polytopes, Mobius transformations, hyperbolic tilings. www.pywonderland.com.

Primary LanguagePythonMIT LicenseMIT

A Tour in the Wonderland of Math with Python

A collection of python scripts for drawing beautiful figures or animating interesting algorithms in mathematics.

About this repo

Math is beautiful, but to truly enjoy it one has to walk a long and painful way before he could stand on the hill and see the full landscape. I hope this repo could help those people without a strong math background get some intuitive understanding of the beauty of math. The topics are chosen largely due to my personal taste:

  1. They should produce appealing results.
  2. There should be some non-trivial math behind them.
  3. The code should be as simple as possible.

I'll use only popular python libs and build all math stuff from the gound. (sage, sympy and mathemetica are not used here)

You can visit the website for this repository to see how to use these scripts and get more information of the math behind them.

I'm still building the docs so that there will be more usage & math explanations for each program.

The history commits are deleted (sorry for this) but will not be deleted any more.

This repository will be always under construction since there are too many interesting things in math that can be shown by code. Pull requests, issues, questions, and suggestions are all welcomed!

Warning: I'll not maintain support for python<=2.7 any more, please run the code with python>=3.

Featured images

  1. Reaction-Diffusion Simulation

  2. Polytopes and Todd-Coxeter Algorithm

  3. Wilson's Uniform Spanning Tree Algorithm Animation

  4. Aperiodic Rhombus Tilings

Programs to come:

  • Fractals with orbit trap
  • 2D hyperbolic tilings (Escher's circle limit)
  • 3D hyperbolic honeycombs

Dependencies

Python libs: pip install -r requirements.txt.

Softwares:

  • ImageMagick
  • FFmpeg
  • POV-Ray

License

see the LICENSE file.