如何在 Latex 中绘制下图

如何在 Latex 中绘制下图
\begin{center}
\begin{tikzpicture}[scale=0.50,
       thick,
       acteur/.style={
         circle,
         fill=black,
         thick,
         inner sep=2pt,
         minimum size=0.cm,scale=0.50
       }
     ] 




           \node (a5) at (4.5,1.8) [acteur,label=above:\scriptsize{}]{}; 
           \node (a21) at (3.5,.95) [acteur,label=right:\small{\hspace{-1mm}$v_{i_j}$}]{};
           \node (a22) at (3.40,-.75) [acteur,label=right:\small{\hspace{-1mm}$v_{i_m}$}]{};

           \node (a23) at (2.30,1.5) [acteur,label=left:\small{$w_j$}]{};
           \node (a24) at (2.30,-1.2) [acteur,label=left:\small{$w_m$}]{};
           \node (a41) at (1.30,3.5) [acteur,label=above:\small{},color=white]{};

           \node (a6) at (6,1.6) [acteur,label=above:\scriptsize{}]{};
           \node (a7) at (7.5,1.4) [acteur,label=below:\small{$v_{i_2}$}]{};
           \node (a8) at (9,1.2) [acteur,label=above:\scriptsize{}]{};
           \node (a19) at (7.5,2.8) [acteur,label=above:\small{$w_{2}$}]{};
           \node (a9) at (10.5,1) [acteur,label=above:\scriptsize{}]{};
           \node (a10) at (12,0) [acteur,label=below:\small{\hspace{2.5mm}$v_{i_1}$}]{};
           \node (a11) at (13.5,0) [acteur,label=right:\small{$w_1$}]{};
           \node (a42) at (0.5,1) [acteur,label=above:\small{},color=white]{};
           %\node[shape=circle,draw=black] (A) at (0.5,1) {a42};
           \node (a43) at (.2,-.35) [acteur,label=above:\small{},color=white]{};
           \node (a44) at (.895,-2.9) [acteur,label=above:\small{},color=white]{};




           \node (a14) at (6,-1.6) [acteur,label=below:\small{}]{};
           \node (a15) at (7.5,-1.4) [acteur,label=above:\scriptsize{$v_{i_r}$}]{};
           \node (a20) at (7.5,-2.8) [acteur, label=below:\small{$w_k$}]{};
           \node (a16) at (9,-1.2) [acteur,label=below:\scriptsize{}]{};
           \node (a17) at (10.5,-1) [acteur,label=below:\scriptsize{}]{};
           \node (a18) at (4.5,-1.8) [acteur,label=below:\scriptsize{}]{};


            \draw  (a21) -- (a23);
            \draw  (a22) -- (a24);
            \draw  (a20) -- (a15);
            \draw  (a7) -- (a19);
            \draw  (a5) -- (a6);
            \draw  (a6)[dotted] -- (a7);
            \draw  [dotted](a7) -- (a8);
            \draw  (a8) -- (a9);
            \draw  [dotted](a9) -- (a10);
            \draw  (a10) -- (a11);
            \draw  (a18) -- (a14);
            \draw  (a14)[dotted] -- (a15);
            \draw  [dotted](a15) -- (a16);
            \draw  (a16) -- (a17);
            \draw  [dotted](a10) -- (a17);
            \draw  [dotted](a5)edge[out=185, in=185](a18) ;

            \draw  [dashed](a23) to [bend right=30](a41) ;
            \draw  [dashed](a23) to [bend left=30](a42) ;
            \draw  [dashed](a24) to [bend right=30](a43) ;
            \draw  [dashed](a24) to [bend left=30](a44) ;

            \draw [dashed](14.5,1.8) to[bend right=70] (14.5,-1.8);
            \draw [dashed](6,3.65) to[bend right=70] (9,3.65);
            \draw [dashed](6,-3.65) to[bend left=70] (9,-3.65);
\end{tikzpicture}
\end{center}

在此处输入图片描述

我正在尝试在 Latex 中绘制下图。我差不多画出来了,但我无法在各个顶点处绘制曲线,如附图所示。如何绘制这样的曲线?

答案1

这是对您的代码的一点修改,使用您自己的坐标。

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[scale=0.50,
       thick,
       acteur/.style={
         circle,
         fill=black,
         thick,
         inner sep=2pt,
         minimum size=0.cm,scale=0.50
       }
     ] 
           \node (a5) at (4.5,1.8) [acteur,label=above:\scriptsize{}]{}; 
           \node (a21) at (3.5,.95) [acteur,label=right:\small{\hspace{-1mm}$v_{i_j}$}]{};
           \node (a22) at (3.40,-.75) [acteur,label=right:\small{\hspace{-1mm}$v_{i_m}$}]{};
           \node (a23) at (2.30,1.5) [acteur,label=above:\small{$w_j$}]{};
           \node (a24) at (2.30,-1.2) [acteur,label=above:\small{$w_m$}]{};
           \node (a41) at (1.30,3.5) [acteur,label=above:\small{},color=white]{};
           \node (a6) at (6,1.6) [acteur,label=above:\scriptsize{}]{};
           \node (a7) at (7.5,1.4) [acteur,label=below:\small{$v_{i_2}$}]{};
           \node (a8) at (9,1.2) [acteur,label=above:\scriptsize{}]{};
           \node (a19) at (7.5,2.8) [acteur,label=right:\small{$w_{2}$}]{};
           \node (a9) at (10.5,1) [acteur,label=above:\scriptsize{}]{};
           \node (a10) at (12,0) [acteur,label=below:\small{\hspace{2.5mm}$v_{i_1}$}]{};
           \node (a11) at (13.5,0) [acteur,label=above:\small{$w_1$}]{};
           \node (a42) at (0.5,1) [acteur,label=above:\small{},color=white]{};
           %\node[shape=circle,draw=black] (A) at (0.5,1) {a42};
           \node (a43) at (.2,-.35) [acteur,label=above:\small{},color=white]{};
           \node (a44) at (.895,-2.9) [acteur,label=above:\small{},color=white]{};
           \node (a14) at (6,-1.6) [acteur,label=below:\small{}]{};
           \node (a15) at (7.5,-1.4) [acteur,label=above:\scriptsize{$v_{i_r}$}]{};
           \node (a20) at (7.5,-2.8) [acteur, label=right:\small{$w_k$}]{};
           \node (a16) at (9,-1.2) [acteur,label=below:\scriptsize{}]{};
           \node (a17) at (10.5,-1) [acteur,label=below:\scriptsize{}]{};
           \node (a18) at (4.5,-1.8) [acteur,label=below:\scriptsize{}]{};
            \draw  (a21) -- (a23);
            \draw  (a22) -- (a24);
            \draw  (a20) -- (a15);
            \draw  (a7) -- (a19);
            \draw  (a5) -- (a6);
            \draw  (a6)[dotted] -- (a7);
            \draw  [dotted](a7) -- (a8);
            \draw  (a8) -- (a9);
            \draw  [dotted](a9) -- (a10);
            \draw  (a10) -- (a11);
            \draw  (a18) -- (a14);
            \draw  (a14)[dotted] -- (a15);
            \draw  [dotted](a15) -- (a16);
            \draw  (a16) -- (a17);
            \draw  [dotted](a10) -- (a17);
            \draw  [dotted](a5)edge[out=185, in=185](a18) ;
            \draw  [dashed](a23) to [out=30,in=-150,relative,looseness=2](a41) ;
            \draw  [dashed](a23) to [out=-30,in=150,relative,looseness=2](a42) ;
            \draw  [dashed](a24) to [out=30,in=-150,relative,looseness=2](a43) ;
            \draw  [dashed](a24) to [out=-30,in=150,relative,looseness=2](a44) ;
            %\draw [dashed](14.5,1.8) to[bend right=70] (14.5,-1.8);
            \draw[dashed] (a19) to[out=-30,in=150,relative,looseness=2] (6,3.65)
                (a19) to[out=30,in=-150,relative,looseness=2] (9,3.65);
            \draw[dashed] (a11) to[out=-30,in=150,relative,looseness=2] (14.5,1.8)
                (a11) to[out=30,in=-150,relative,looseness=2] (14.5,-1.8);
            %\draw [dashed](6,3.65) to[bend right=70] (9,3.65);
            \draw[dashed] (a20) to[out=30,in=-150,relative,looseness=2] (6,-3.65)
                (a20) to[out=-30,in=150,relative,looseness=2] (9,-3.65);
            %\draw [dashed](6,-3.65) to[bend left=70] (9,-3.65);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

我只需定义一个pic并将其放置在路径上。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[pics/actor/.style={code={%
\draw[solid] (0,0) -- (0,1) (-1,1.5) to[out=45,in=180] (0,1) 
to[out=0,in=60] ++(0.2,0.2) to[out=60,in=60] ++(-60:0.2)
to[out=-120,in=-135] (1,1.5)
;}},
act/.style={postaction={decorate,decoration={markings,
mark=at position #1 with {\pic[transform shape]{actor};}}}}]

 \draw[dashed,act/.list={1/3,2/3}] (-2,-2) coordinate(p1) 
 arc[start angle=270,end angle=90,radius=2]  coordinate(p2);
 \draw (p2) -- ++ (2,-1/3) coordinate (p3);
 \draw[dashed,act=0.5] (p3) -- ++ (2,-1/3) coordinate (p4);
 \draw (p4) -- ++ (2,-1/3) coordinate (p5);
 \draw[dashed] (p5) -- ++ (1,-1) coordinate (m)
 -- ++ (-1,-1) coordinate (p6);
 \pic[rotate=-90] at (m) {actor};
 \draw (p6) -- ++ (-2,-1/3) coordinate (p7);
 \draw[dashed,act=0.5] (p7) -- ++ (-2,-1/3) coordinate (p8);
 \draw (p8) -- (p1);
 \foreach \X in {1,...,8} {\draw[fill=white] (p\X) circle[radius=1.5pt];}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容