
답변1
환영! 타원의 접선이 사라지는 지점만 찾으면 됩니다. 오른쪽 타원의 회전 각도를 alpha
, "반지름" a
및 이라고 합시다 b
. 그러면 이 각도는 입니다 atan(b*cot(alpha)/a)
. 다음은 의 예입니다 R=1;a=2.7;b=1.8;alpha=30;
. 여기서 R
는 원의 반지름입니다.
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[declare function={R=1;a=2.7;b=1.8;alpha=30;},
nodes={fill=white,font=\sffamily,align=center}]
\pgfmathsetmacro{\myt}{atan(b*cot(alpha)/a)}
\draw (0,R) circle[radius=R*1cm] (0,2*R) node {test 3\\more\\ text};
\draw[rotate=alpha] (\myt:a*1cm and b*1cm)
circle[x radius=a*1cm,y radius=b*1cm]
(\myt:a*2.5cm and b*1cm) node{test 2\\ more text};
\draw[rotate=180-alpha] (-\myt:a*1cm and b*1cm)
circle[x radius=a*1cm,y radius=b*1cm]
(-\myt:a*2.5cm and b*1cm) node{test 1\\ more text};
%
\begin{scope}[xshift={sqrt(2)*a*2cm+1cm}]
\draw (0,R) circle[radius=R*1cm] (0,2*R) node {test 3};
\draw[rotate=alpha] (\myt:a*1cm and b*1cm)
circle[x radius=a*1cm,y radius=b*1cm]
(\myt:a*2.2cm and b*1cm) node{test 2};
\draw[rotate=180-alpha] (-\myt:a*1cm and b*1cm)
circle[x radius=a*1cm,y radius=b*1cm]
(-\myt:a*2.2cm and b*1cm) node{test 1};
\end{scope}
\end{tikzpicture}
\end{document}
결과에 만족하려면 값 2.5
과 레이블에 2.2
곱해지는 값을 조정해야 합니다.a