Tikz의 관계 그림

Tikz의 관계 그림

Tikz에서 다음 두 가지 유형의 그림을 작성하는 방법을 묻고 싶습니다.

수치

나는 그것에 대해 비슷한 질문을 찾지 못했습니다.

감사합니다.

답변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

관련 정보