如何绘制以下费曼图?

如何绘制以下费曼图?

我尝试使用 Latex 中的 Tikzs 绘制下面的图表。但是,我失败了。我查看了文档,但没有弄明白。

图1

图表

任何帮助都将受到高度赞赏。

对于第一个图表,我尝试了以下方法,但这并不是我想要的

\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}

相关内容