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).
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.
For a fairly clear description of the algorithm see: Penrose Tilings Tied up in Ribbons