如何构造四个相切的圆(基于 YouTube 视频)

如何构造四个相切的圆(基于 YouTube 视频)

昨天我看了一个非常有趣的视频,讲的是如何确定圆之间的面积/直径关系。我认为你必须自己看一看才能明白,这到底是怎么回事!以下是链接:Youtube:Epic Circles - Numberphile

基本上最后会是这个样子:

所以我尝试用 TikZ 构建整个圆圈(我尝试更深入地研究它,所以我认为这将是一个很好的练习)

显然,我在第一步就失败了:构建四个“接吻”圆圈。这是我尝试的:

\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}

我得到的结果相当令人失望,因为它甚至不起作用(除此之外,多次执行它也太复杂了!):

你知道我该怎么做吗?尤其是以一种可以快速复制给所有其他“接吻”圈的方式?还有一件事:我将不胜感激所有能做到的解决方案不是使用tkz-euclide。我知道,它可能有一些奇特的功能,但由于我不懂法语,并且想了解我通常所做的事情(而不仅仅是这个例子),所以我想继续使用有更好文档记录的 tikz 函数。

提前致谢!

答案1

修改后的答案。遗憾的是,我并不完全认同你对这个视频的热情,在我看来,它花了很长时间来解释琐碎的事情,而忽略了真正的解释。但这当然只是一种观点。

我从视频中学到的唯一东西是数字序列1/151/23等等,我只会说明前两个数字。至于从内部接触大圆的圆的半径,它们的半径完全由对称性决定1/2,等等1/31/6所以你不需要任何交点。

然后我将利用已知相切圆半径这一事实。由于它们相切,它们的圆心必须远离封闭圆的中心加上已知半径。换句话说,它们的圆心位于封闭圆中心周围稍大一些的圆的交点上。我使用您的conline样式绘制它们,计算交点,然后绘制并填充圆。

\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}

在此处输入图片描述

相关内容