finally complete! This took a lot of math click your mouse to move in a direction press the flag to update N and K settings N --- the number of edges in a polygon K --- the number of polygons that meet at a vertex Only certain values of N and K work; invalid values are reset press Z to increase the max number of polygons best here: https://turbowarp.org/852092751?turbo&hqpen Shadertoy version: www.shadertoy.com/view/ctt3z8 ======================================= To tile the hyperbolic plane, I copy the first polygon and reflect is across its edges repeatedly. This site was useful for determining the first polygon's size: www.malinc.se/noneuclidean/en/poincaretiling.php This textbook was useful for understanding reflections, translations, and rotations in the poincare model of hyperbolic geometry: mphitchman.com/geometry