Source: from stackoverflow
I want to draw a Banach Fractal as picture above.
- First step, draw a circle with radius $r$.
- Second step, draw 9 smaller circles with radius $s\cdot r$ ($s$ is factor scale, $0<s<1$) [one circle in center and 8 circles in circle side].
- Third step, each 9 smaller circle from second step, is drawn by 9 smaller circles with radius $s^2\cdot r$ [one circle in center and 8 circles in circle side].
- etc.
In picture above, from third step the smaller circle is overlap. Now, I want to calculate the factor scale $s$ such that the smaller circle is not overlap in $n$-th step as $n\to\infty$.
I try to calculate as follows.
For first step until infinity step, total radius of smaller circle is $$sr+s^2 r+s^3 r+\ldots = \dfrac{sr}{1-s}.$$
So, for first step until infinity step total diameter of smaller circle is $$T_d=2\dfrac{sr}{1-s}.$$
The circumference of first step circle is $2\pi r$.
Because of we draw 8 circles in first step circle side, now I divide circumference by 8.
So, total diameter per small circle in "first circle side" is
$$T_d=\dfrac{2\pi r}{8}=\dfrac{\pi r}{4}$$
Now, we have equality $$2\dfrac{sr}{1-s}=\dfrac{\pi r}{4}.$$
Solving the equality: \begin{align} &2\dfrac{sr}{1-s}=\dfrac{\pi r}{4}\\ \iff &\dfrac{s}{1-s}=\dfrac{\pi }{8}\\ \iff &8s=\pi-\pi s\\ \iff &(8+\pi) s=\pi \\ \iff & \dfrac{\pi}{8+\pi}. \end{align}
Now I have the factor scale $s=\dfrac{\pi}{8+\pi}$ such that between small circle is not overlap in $n$-th step as $n\to\infty$.
Is it correct answer?
I think it over a hour and I'm not sure with my answer.
I guess you could just draw it and see:
Close, but not quite. The correct value of
$$ s = \frac{\sin(\pi/8)}{\sin(\pi/8) + \sin(5\pi/8)} = \frac{1}{2+\sqrt{2}} $$
should yield the so-called octa-gasket:
You can see why this should work once you see how the following lines perfectly partition the pieces:
Once you get to that point, finding $s$ is a simple application of trigonometry.
You can find the code for the pictures on Observable.