First have a look at:
Kaleidoscope - Create kaleidoscopic images in spherical, Euclidic and hyperbolic space.
Kaleidoscope with quadrilaterals - Create hyperbolic and fractal tilings using reflections at the sides of quadrilaterals.
Kaleidoscope with a circle in a triangle - Create fractal tilings using reflections at two straight lines and two or three circles.
If you want to know more:
Bridges 2018 - A short interactive presentation.
"Kaleidoscopes for Non-Euclidean Space" - A paper which explains in detail how the kaleidoscope app generates the images.
My blog - A rambling discussion about geometry and programming, including kaleidoscopes. Look at the posts of early 2018.
Code repository - Has the code of the Kaleidoscope app and more.
Peter Stampfli, Rue de Lausanne 1, 1580 Avenches, Switzerland