6

Yesterday I saw a very interesting video about a way to determine area/diameter relations bewteen circles. I think you have to watch it yourself to understand, what it all is about! Here ist the link: Youtube: Epic Circles - Numberphile

Basicly it will look like this in the end:

So I tried to construct this whole circle-thing with TikZ (I try to get into it a bit deeper, so I thought it would be a great exercise)

Apparently, I already fail in the very first step: to construct the four "kissing" circles. This is what I tried:

\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, intersections}

\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\Radius}{5}
\tikzset{conline/.style={gray, thin, densely dotted}}


\draw[thick, red, name path=bigcircle]  (0,0)               coordinate (M)  circle (\Radius);
\draw[thick, red, name path=circle1]    (0,-0.5*\Radius)    coordinate (MU) circle (0.5*\Radius);
\draw[thick, red, name path=circle2]    (0,0.5*\Radius)     coordinate (MO) circle (0.5*\Radius);


\draw[conline, name path=line] (MO) -- ++(-.7*\Radius,0);
\path[name intersections={of= line and circle2, by=A}];
\draw[radius=2pt] (A) circle;
\draw[conline, name path=line] (A) coordinate (MO1) let \p1= ($(M)-(MO1)$), \n1={veclen(\x1,\y1)} in circle (\n1);

\path[name intersections={of= circle1 and line}];
\draw[radius=2pt] (intersection-2) coordinate (B) circle;
\draw[conline, name path=line] (MU) -- ($(MU)!2!(B)$);
\draw[conline, name path=midline] (M) -- (-\Radius,0);

\path[name intersections={of=line and midline}];
\draw[radius=2pt] (intersection-1) circle;
\draw[thick, red] (intersection-1) coordinate (M1) let \p1=($(M1)-(B)$), \n1={veclen(\x1,\y1)} in circle (\n1);

\end{tikzpicture}
\end{document}

What I get is rather disappointing, since it doesn't even work (and in addition to that it's way to complicated to do it multiple times!):

Do you know, how I could do it? Especially in a way that can be reproduced quickly for all the other "kissing" circles? One more thing: I would appreciate all solutions that do not use tkz-euclide. I know, that it might have some fancy functions, but as I don't understand french and want to understand what I do in general (and not only for this example), I would like to stay with the better documented tikz-functions.

Thanks in advance!

  • Tkz-euclide mnemonics are written entirely in English, the manual although it is in French is structured with all the options available in tables for each section, you can learn what effect each command has, but nowhere in the manual is there any mathematical explanation or the algorithms of each command, means that the users of this package either take things superficially, or are experts in the matter and do not require reinventing the wheel. First look how to do it with vector algebra and the algorithm can be implemented with the tikz calculation tools. – J Leon V. Sep 2 '18 at 5:19
  • Some of the circles were part of a Pappus chain, so tex.stackexchange.com/questions/365062/the-pappus-chain might be of interest. – Torbjørn T. Sep 2 '18 at 6:17
5

Revised answer. Sadly, I do not fully share your enthusiasm about the video, IMHO it spends ages on explaining trivial things and leaves out the real explanations. But of course this is just an opinion.

The only thing I take from the video is the number sequence 1/15, 1/23 and so on, I will only illustrate the firs two numbers. As for the radii of the circles touching the big circle from inside, their radii are entirely determined by the symmetries to be 1/2, 1/3, 1/6 etc. So you do not need any intersections for those.

Then I will exploit the fact that the radii of the touching circles are know. Since they touch, their center has to be away from the centers of the enclosing circles plus the known radius. In other words, their center is on the intersection of somewhat larger circles around the centers of the enclosing circles. I draw them using your conline style, compute the intersection and then draw and fill the circle.

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, intersections}

\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\Radius}{5}
\tikzset{conline/.style={gray, thin, densely dotted}}


\draw[thick, red, name path=bigcircle]  (0,0)               coordinate (M)  circle (\Radius);
\draw[thick, red, name path=circle1]    (0,-0.5*\Radius)    coordinate (M1) circle (0.5*\Radius);
\draw[thick, red, name path=circle2]    (0,0.5*\Radius)     coordinate (M2) circle (0.5*\Radius);
\draw[thick, red, name path=circle3] (-2*\Radius/3,0) coordinate(M3) circle (\Radius/3);
\draw[thick, red, name path=circle4] (M1-|M3) coordinate(M4) circle (\Radius/6);
\draw[thick, red, name path=circle5] (M2-|M3) coordinate(M5) circle (\Radius/6);

% 1/15
\fill[blue!60] (M3) ++ ({(\Radius/3+\Radius/15)*1cm},0) coordinate (M6) circle (\Radius/15);

% 1/23
\draw[conline,name path=concirc1] (M5) circle ({\Radius*(1/6+1/23)});
\draw[conline,name path=concirc2] (M2) circle ({\Radius*(1/2+1/23)});
\fill[name intersections={of=concirc1 and concirc2, by={dummy,M7}},blue!60] (M7)  circle (\Radius/23);

\draw[conline,name path=concirc3] (M4) circle ({\Radius*(1/6+1/23)});
\draw[conline,name path=concirc4] (M1) circle ({\Radius*(1/2+1/23)});
\fill[name intersections={of=concirc3 and concirc4, by={M8,dummy}},blue!60] (M8)  circle (\Radius/23);

\end{tikzpicture}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.