https://www.shadertoy.com/view/cd3fWs
Here's a GLSL script hosted in Shadertoy that extends the concept of Steiner chains from simple circles to Generalized Circles, and renders them in real-time with user controls.
The code permits specification of any containing circle or half-plane you like, specify the center of the inner circle (or half-plane) around which the chain circles are arranged, and specify the contact angle of the chain itself, with reference to either the containing or inner circle.
This demo chooses the configuration of the containing circle, the user controls the center of the inner circle with the mouse.
Click-and-drag the mouse to move the center of the white circle; use the arrow keys to fix the orientation of the key chain circle (the dark red one) to a particular direction. Various config parameters start around line 90.
I'd love feedback and suggestions, let me know!
Under the hood it's all based on finding just the right FLT to map a trivially-constructed concentric chain of length n within the unit circle to the desired config.
Hardcore fans may recall that a pre-rendered version of this was my first ever post : https://mathstodon.xyz/@KleinianArborist/110674924302552811