如何用 Tikz 制作此图表

如何用 Tikz 制作此图表

我有这个图表,您如何用tikz代码绘制图表?

翻译:在所示的图形中,我们有 AQ=5cm、QP=4cm 和 BC=3cm(D、C 和 T 是切线点)。计算阴影区域(AOP)的面积。

大概A) 至 E) 是多项选择题答案。

在此处输入图片描述


为了使图表有意义:AP 必须为 7.6088,AQ 必须为 2.8875。在此处输入图片描述

答案1

您可以使用 geogebra 绘制它并导出到 tikz

答案2

我建议下面针对绘图提出一个基本解决方案,但并不针对您的问题所讨论的配置。该配置不存在。解决方案使用一个参数。在通常的笛卡尔坐标系中,参数为b, 这X的坐标大圆的半径也是如此。因为公元前=3,角度的测量目录取决于b;所以大圆的切线在电视也是已知的。此外,由于答:AQ=5,线(问)也是已知的。因此,b这样(原帖)与小圆相切于.但对于这个值b帕金森病不相等4就像声明的那样。

注释代码可让您验证。 只是改变b值并观察会发生什么。

\documentclass[tikz, border=1cm, 11pt]{standalone}
\usetikzlibrary{arrows, matrix, intersections, math, calc}

\begin{document}

\tikzmath{%
  real \b, \ang, \r;
  \b = 4.9107;
  \ang = 2*atan((3/(2*\b-3)));
  \r = (\b-3)/cos(\ang);
}
\begin{tikzpicture}
  \path[clip] (-\b-1, -1) rectangle (\b+1, 2*\b);
  \path 
  (0, 0) coordinate (O)
  (\b, 0) coordinate (B)
  (-\b, 0) coordinate (A)
  (\b-3, 0) coordinate (C)
  (\ang: \b) coordinate (T);
  
  \draw[name path=circle] (O) circle (\b);
  \draw ($(A)!-.1!(B)$) -- ($(A)!1.1!(B)$);
  
  \path[name path=circle_A] (A) circle (5);
  \path[name intersections={of=circle and circle_A, by={Q}}];
  \draw[name path=AQ] (A) -- ($(A)!2!(Q)$);
  
  \path[name path=OT] (O) -- (T);
  \path[name path=CO'] (C) -- +(0, \b);
  \path[name intersections={of=OT and CO', by={O'}}];
  \draw[name path=small circle] (O')
    let \p1 = ($(O')-(C)$) in circle ({veclen(\x1,\y1)});
  
  \draw[name path=tangent_T] ($(T)!1!90:(O')$) -- ($(T)!1.7!-90:(O)$);
  \path[name intersections={of=AQ and tangent_T, by={P}}];
  \draw[name path=OP] (P) -- (O);
  \path[name intersections={of=small circle and OP, by={D}}];
  
  \fill[gray, fill opacity=.2] (A) -- (P) -- (O) -- cycle;
  
  % %%% verifying the tangency condition at D
  % \draw[red, thin,
  % name intersections={of=small circle and OP, name=I, total=\t}]
  % \foreach \i in {1,...,\t}{(I-\i) circle (\i)};
  % \fill[red] (I-1) circle (1.7pt) node[right] {$D$};
  % \draw[red, thin] (Q) circle (4);
  
  \foreach \P/\pos in {%
    O/below left, A/below left, B/below right, C/below,
    T/above right, O'/above left, Q/above left, P/right, D/right%
  }{%
    \draw[fill=white] (\P) circle (1.5pt) node[\pos] {$\P$};
  }
\end{tikzpicture}

\end{document}

相关内容