tikz pgf

TikZ에서 타원이 있는 주변 노드

다음 코드는 정삼각형의 둘레를 따라 6개의 노드를 배치합니다.

\begin{tikzpicture}[every node/.style={draw}] 

\node (l1) at (0,0) [circle] {};
\node (l2) at (2,0) [circle] {};
\node (l3) at (4,0) [circle] {};
\node (m1) at (1, 1.732) [circle] {};
\node (m2) at (3, 1.732) [circle] {};
\node (h1) at (2, 3.464) [circle] {};

\end{tikzpicture}

다음과 유사한 방식으로 삼각형의 각 "다리"를 타원으로 어떻게 둘러쌀 수 있습니까?


calc 라이브러리를 사용하여 회전된 타원을 그리는 한 가지 가능성 :

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,shapes}

\begin{document}

\begin{tikzpicture}[every node/.style={draw}] 
\node (l1) at (0,0) [circle] {};
\node (l2) at (2,0) [circle] {};
\node (l3) at (4,0) [circle] {};
\node (m1) at (1, 1.732) [circle] {};
\node (m2) at (3, 1.732) [circle] {};
\node (h1) at (2, 3.464) [circle] {};
\draw let \p1=(h1), \p2=(l1), \n1={atan2(\y2-\y1,\x2-\x1)}, \n2={veclen(\y2-\y1,\x2-\x1)}
  in ($ (h1)!0.5!(l1) $) ellipse [x radius=\n2/2+20pt, y radius=0.7cm,rotate=90-\n1];
\draw let \p1=(h1), \p2=(l3), \n1={atan2(\y2-\y1,\x2-\x1)}, \n2={veclen(\y2-\y1,\x2-\x1)}
  in ($ (h1)!0.5!(l3) $) ellipse [x radius=\n2/2+20pt, y radius=0.7cm,rotate=90-\n1];
\draw let \p1=(l1), \p2=(l3), \n1={atan2(\y2-\y1,\x2-\x1)}, \n2={veclen(\y2-\y1,\x2-\x1)}
  in ($ (l1)!0.5!(l3) $) ellipse [x radius=\n2/2+20pt, y radius=0.7cm,rotate=90-\n1];
\end{tikzpicture}

\end{document}




Gonzalo의 답변을 바탕으로 약간의 명령을 작성했습니다.

\newcommand{\fitellipsis}[2] % first and second node names without parentheses
{\draw let \p1=(#1), \p2=(#2), \n1={atan2(\y2-\y1,\x2-\x1)}, \n2={베클렌(\y2-\y1,\x2-\x1) }
    in ($ (\p1)!0.5!(\p2) $) ellipse [x radius=\n2/2+1cm, y radius=1.5cm, rotate=\n1];
}

트릭을 안정적으로 수행합니다. 추가된(cm) 단위는 필요에 맞게 조정할 수 있습니다.