Quasi Crystalizer Version 0001

Created by Claude Zervas.

Marginally tested with current versions of Chrome and Firefox on MacOS and Linux. So if you're using some other janky old browser, well then good luck and I hope it works. (But please don't complain if it doesn't. Try upgrading your browser first).

Some Technical Details

This version of the tiling generator is implemented in Javascript/ES6 (a meth addled red assed baboon of a programming language) and compiled using Google's Closure Compiler. (Compiling Javascript means rewriting it as shitty and unreadable, but more efficient, Javascript.)

The tiling is generated and rendered with SVG entirely in the browser. There are no server-side components.

This algorithm implements the "Generalized Dual Method"1 or GDM, also referred to as the Pentagrid Method when generating five degree (Penrose) tiling.

This implementation is an ES6 port of code from a python Inkscape plugin I wrote that itself was originally inspired by C code from Eric Weeks quasi.c.

The run time is where n is the number of grid lines and s is the degree of symmetry. Obviously this is terrible, and quickly gets expensive with larger values of n and s.

Bibliography

  1. de Bruijn, Mathematics, Proceedings A 84 (1), March 20, 1981, Algebraic theory of Penrose's non-periodic tilings of the plane (1981) PDF
  2. Socolar, Steinhardt, Levine, Physical Review B, Vol. 32 No. 8, Quasicrystals with arbitrary symmetry (1985). PDF
  3. Socolar, Steinhardt, Physical Review B, Vol. 34 No. 2, Quasicrystals. II. Unit-cell configurations (1986).

For a fairly clear description of the algorithm see: Penrose Tilings Tied up in Ribbons

Other implementations, online demos, and resources