![如何绘制以下费曼图?](https://linux22.com/image/467781/%E5%A6%82%E4%BD%95%E7%BB%98%E5%88%B6%E4%BB%A5%E4%B8%8B%E8%B4%B9%E6%9B%BC%E5%9B%BE%EF%BC%9F.png)
我尝试使用 Latex 中的 Tikzs 绘制下面的图表。但是,我失败了。我查看了文档,但没有弄明白。
任何帮助都将受到高度赞赏。
对于第一个图表,我尝试了以下方法,但这并不是我想要的
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[declare function={a=1.2;b=1.5;}]
\draw[teal,dashed,rotate=-22.5] (90:a)
foreach \X in {45,0,...,-180}
{-- (\X:a) edge ++ (\X:0.5)} -- (135:a);
\draw node[circle,fill,draw,inner sep=0.8ex](O){}
foreach \X [count=\Y] in {45,0,...,-225}
{(\X:b) node[circle,draw,thin,inner sep=0.5ex](p\Y){} edge[very thick] (O)};
\path foreach \X [count=\Y from 2] in {n-1,n,1,2,3} {(p\Y) (O)};
\end{tikzpicture}
\end{document}
答案1
好的,我已经设法自己做了;这是六边形的代码
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[declare function={a=1.2;b=1.5;}]
\draw[thick,blue,dash pattern=on 2pt off 2pt,line cap=round] (180:0.8) edge ++ (180:0.4)
-- (120:0.8) edge ++ (120:0.4)
-- (60:0.8) edge ++ (60:0.4)
-- (0:0.8) edge ++ (0:0.4) -- (-60:0.8) edge ++ (-60:0.4)-- (-120:0.8) edge ++ (-120:0.4) -- cycle;
node[anchor=west]{};
\draw[thick] (0,0) node[circle,fill,inner sep=3pt,draw](O) {}
(150:1.1) node[circle,draw,inner sep=1.2pt]{}
edge (O)
(90:1.1) node[circle,draw,inner sep=1.2pt]{}
edge (O)
(30:1.1) node[circle,draw,inner sep=1.2pt]{}
edge (O)
(-30:1.1) node[circle,draw,inner sep=1.2pt]{}
edge (O)
(-90:1.1) node[circle,draw,inner sep=1.2pt]{}
edge (O)
(-150:1.1) node[circle,draw,inner sep=1.2pt]{}
edge (O);
\end{tikzpicture}
\end{document}
这是双盒
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[thick,blue,dash pattern=on 2pt off 2pt,line cap=round] (-0.55,0.6) edge ++ (-0.3,0.2)
-- (-0.55,-0.6) edge ++ (-0.3,-0.2)
-- (0.55,-0.6) edge ++ (0,-0.35)
-- (1.6,-0.6) edge ++ (0.3,-0.2)
-- (1.6,0.6) edge ++ (0.3,0.2)
-- (0.55,0.6) edge ++ (0,0.35) -- cycle ;
\draw[thick,blue,dash pattern=on 2pt off 2pt,line cap=round] (0.55,0.6) -- (0.55,-0.6) ;
\draw[thick] (0,0) node[circle,fill,inner sep=3pt,draw](O) {}
(1.1,0) node[circle,fill,inner sep=3pt,draw](OO) {}
(180:1) node[circle,draw,inner sep=1.2pt]{}edge (O)
(90:1) node[circle,draw,inner sep=1.2pt]{}
edge (O)
(270:1) node[circle,draw,inner sep=1.2pt]{}
edge (O)
(0:1) node[circle,draw,inner sep=1.2pt]{}
edge (O)
(1.1,1.1) node[circle,draw,inner sep=1.2pt]{}
edge (OO)
(1.1,-1.1) node[circle,draw,inner sep=1.2pt]{}
edge (OO)
(2.1,0) node[circle,draw,inner sep=1.2pt]{}
edge (OO);
\end{tikzpicture}
\end{document}