答案1
答案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}