如何画出圆内接的图形?

如何画出圆内接的图形?

在一道几何题中,出现了一个内接于圆的图形,其轮廓由 8 个半圆组成,见左图。每个半圆的半径为 1。

在此处输入图片描述

通过一些计算,很容易得出圆的半径是$\sqrt{10}$

对于该问题的解决方法,观察右图很有趣。

\begin{center}

\begin{tikzpicture}

\draw (1,1) circle [radius=3.16];

\draw (0.5,0) arc(0:-180:1);

\draw (1.5,0) arc(0:180:1);

\draw (0,1.5) arc(-90:-270:1); 

\end{tikzpicture}

\end{center}

答案1

还有一个版本元帖子,依靠小圆上的切点必须与point外接圆上的切点相同这一事实,并使用一些颜色很漂亮

在此处输入图片描述

prologues := 3;
outputtemplate := "%j%c.eps";

input colorbrewer-cmyk

beginfig(1);

    path base, edge, propeller, circumcircle, square;

    base = halfcircle shifted 1/2 right;
    edge = (base & reverse base rotated 180) shifted up scaled 89;
    propeller = for i=0 upto 3: edge rotated 90i .. endfor cycle;
    circumcircle = fullcircle scaled 2 abs(point 1/45 angle 
                    1/2[point 0 of edge, point 4 of edge] of edge);
    square = for i=0 upto 3: point 9i of propeller -- endfor cycle;

    picture P[];
    P1 = image(
        fill circumcircle withcolor Blues 8 5;
        fill propeller withcolor Blues 8 4;
        draw propeller;
    );
    P2 = image(
        fill square withcolor Blues 8 5;
        fill propeller withcolor Blues 8 4;
        clip currentpicture to square;
    );
    P3 = image(
        fill propeller withcolor Blues 8 2;
        draw P2;
        draw propeller;
    );
    draw P1;
    draw P3 shifted 300 right;

endfig;
end.

答案2

虽然不是一个答案,但应该解决半径的问题。

推导

答案3

你不需要知道大圆的半径

\documentclass{standalone} 
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage{tkz-euclide}

\begin{document} 

\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B,2/2/O,3/4/X,4/1/Y,1/0/Z,
              0/3/W,3/0/R,4/3/S,1/4/T,0/1/U}
\tkzDefSquare(A,B)\tkzGetPoints{C}{D}
\tkzInterLC(O,X)(X,C) \tkzGetSecondPoint{F}
% or \tkzDefPointWith[colinear normed=at X,K=1](O,X) \tkzGetPoint{F}
\begin{scope}
  \tkzFillCircle[fill=MidnightBlue](O,F)
  \tkzFillPolygon[purple!40](A,...,D)
  \tkzClipPolygon(A,...,D)
  \foreach \c/\t in {S/C,R/B,U/A,T/D}
  {\tkzFillCircle[MidnightBlue](\c,\t)}
\end{scope}
\foreach \c/\t in {X/C,Y/B,Z/A,W/D}
{\tkzFillCircle[purple!40](\c,\t)}
  \foreach \c/\t in {S/C,R/B,U/A,T/D}
  {\tkzFillCircle[MidnightBlue](\c,\t)}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案4

在此处输入图片描述

我认为大圆的半径是 \sqrt{5}+1。这里 XY=4(两个小圆直径= 2*(1+1))YZ=2。所以 XZ=\sqrt{4^2+2^2}=\sqrt{20},所以大圆的半径将是 (\sqrt{20}+2)/2=\sqrt{5}+1。我使用了 @Schrödinger 的 cat 代码,但使用了 radius=\sqrt{5}+1。下图就是这个样子。

在此处输入图片描述

相关内容