# [GIF] :eyes: (Infinite Steiner chain)

Posted 1 month ago
707 Views
|
4 Replies
|
10 Total Likes
| :eyes:We're talking about conformal transformations in my complex analysis class, and I decided to show how to construct a Steiner chain for two tangent circles using conformal transformations. The map $f(z) = \frac{4}{z}$ sends the circles $\{z : |z-1| = 1\}$ and $\{z: |z-2|=2\}$ to the lines $\{z: \operatorname{Re}(z) = 2\}$ and $\{z:\operatorname{Re}(z) = 1\}$, respectively. Of course it is quite easy to construct infinitely many circles tangent to these two lines: I just had a static image, but then while I was showing it to the class I decided to animate it on the fly, which I fortunately didn't screw up.Anyway, here's the code (of course, it's more intuitive to use ParametricPlot, but I ended up making the circles with Polygon so that I could easily fill them in with a different color): With[{cols = RGBColor /@ {"#e5e7de", "#f54123", "#0b3536"}}, Manipulate[ Graphics[ {EdgeForm[None], cols[], Disk[{2, 0}, 2], cols[[-1]], Disk[{1, 0}, 1], cols[], Table[ Polygon[ Table[ReIm[4/(3/2 + I (y + s) + 1/2 E^(I θ))], {θ, 0., 2 π, 2 π/200}]], {y, -100, 100}]}, ImageSize -> 540, Background -> cols[[-1]], PlotRange -> {{-.6, 4.6}, {-2.6, 2.6}}], {s, 0, 1}] ] Answer
4 Replies
Sort By:
Posted 1 month ago
 Apparently emoji are not supported here? I tried to post this with the actual eyes emoji rather than ":eyes:", but got a "Message board not available" error. Answer
Posted 1 month ago
 Beautiful art, @Clayton, as usual, thanks for sharing! I will look into the emoji situation, thanks for the note. Answer
Posted 1 month ago
 Very nice.In fact, with a little more algebraic work (in my case, I used GroebnerBasis[] to help me), one can redo this to use Disk[] instead of Polygon[]: With[{cols = RGBColor /@ {"#e5e7de", "#f54123", "#0b3536"}}, Manipulate[Graphics[{EdgeForm[], cols[], Disk[{2, 0}, 2], cols[[-1]], Disk[{1, 0}, 1], cols[], Table[Disk[{6, -4 (s + y)}/(2 + (s + y)^2), 2/(2 + (s + y)^2)], {y, -100, 100}]}, ImageSize -> 540, Background -> cols[[-1]], PlotRange -> {{-.6, 4.6}, {-2.6, 2.6}}], {s, 0, 1}]] Answer
Posted 1 month ago - Congratulations! This post is now featured in our Staff Pick column as distinguished by a badge on your profile of a Featured Contributor! Thank you, keep it coming! Answer