更改 tikz 中连接两个节点的线的样式

更改 tikz 中连接两个节点的线的样式

我一直在尝试使用 TikZ 绘制箭筒图。到目前为止,我已经取得了一些进展,但我很难理解以下内容:

  1. 我怎样才能画出从节点到无处并以点的形式延伸的线?
  2. 我怎样才能在行之间插入一些点?

我附上了手绘草图以及我目前所做的工作。本质上,我在绘制箭筒右侧部分的线条时遇到了一些问题。

我想要实现的目标如下:

结果

我拥有的是:

迄今为止

代码

\documentclass[12pt]{article}
\pdfoutput=1
\usepackage{float}
\usepackage{tikz, pgfplots}
\usetikzlibrary{arrows.meta, calc, positioning}
\usetikzlibrary{decorations.pathmorphing}
\begin{document}
\begin{figure}[H]
\begin{center}
\begin{tikzpicture}
[
node distance = 17mm and 31mm,
b/.style={rectangle, draw=black!60, fill=gray!15, very thick, minimum size=35},
c/.style={circle, draw=black!60, fill=gray!15, very thick, minimum size=35}
]

%Nodes
\node[b]      (posFk)                               {$F_k$};
\node[c]      (posak)      [below=of posFk]         {$\alpha_k$};
\node[c]      (posmuk)     [below=of posak]         {$\mu_k$};
\node[b]      (posFtk)     [below=of posmuk]      {$\tilde{F}_k$};

\node[b]      (posFF)      [left=of posFk]          {$F_2$};
\node[c]      (posakk)     [below=of posFF]         {$\alpha_2$};
\node[c]      (posmukk)    [below=of posakk]      {$\mu_2$};
\node[b]      (posFtkk)    [below=of posmukk]     {$\tilde{F}_2$};

\node[b]      (posFFF)     [left=of posFF]          {$F_1$};
\node[c]      (posakkk)    [below=of posFFF]        {$\alpha_1$};
\node[c]      (posmukkk)   [below=of posakkk]     {$\mu_1$};
\node[b]      (posFtkkk)   [below=of posmukkk]    {$\tilde{F}_1$};

%Curved lines for the quiver
\draw[-, very thick] (posmuk.east)  .. controls  +(right:17mm) and +(right:17mm)    .. (posFk.east);
\draw[-, very thick] (posak.west)       .. controls  +(left:17mm) and +(left:17mm)          .. (posFtk.west);
\draw[-, very thick] (posmukk.east)     .. controls  +(right:17mm) and +(right:17mm)    .. (posFF.east);
\draw[-, very thick] (posakk.west)  .. controls  +(left:17mm) and +(left:17mm)          .. (posFtkk.west);
\draw[-, very thick] (posmukkk.east)    .. controls  +(right:17mm) and +(right:17mm)    .. (posFFF.east);
\draw[-, very thick] (posakkk.west)     .. controls  +(left:17mm) and +(left:17mm)          .. (posFtkkk.west);

%Lines for each column of the quivers
%Right
\draw[-, very thick, dashed] (posFk.south)                                                          to node[right] {} (posak.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posak.south)    to node[right] {} (posmuk.north);
\draw[-, very thick, dashed] (posmuk.south)                                                         to node[right] {} (posFtk.north);

%Middle
\draw[-, very thick, dashed] (posFF.south)                                                          to node[right] {} (posakk.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posakk.south)   to node[right] {} (posmukk.north);
\draw[-, very thick, dashed] (posmukk.south)                                                    to node[right] {} (posFtkk.north);

%Left
\draw[-, very thick, dashed] (posFFF.south)                                                         to node[right] {} (posakkk.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posakkk.south)  to node[right] {} (posmukkk.north);
\draw[-, very thick, dashed] (posmukkk.south)                                                   to node[right] {} (posFtkkk.north);

%Horizontal lines connecting the quiver
\draw[-, very thick] (posakkk.east)     to node[right] {} (posakk.west);
\draw[-, very thick] (posmukkk.east)  to node[right] {} (posmukk.west);
\draw[-, very thick] (posakk.east)      to node[right] {} (posak.west);
\draw[-, very thick] (posmukk.east)     to node[right] {} (posmuk.west);

%Diagonal lines connecting the quiver
\draw[-, very thick, dashed] (posakkk.east)     to node[right] {} (posmukk.west);
\draw[-, very thick, dashed] (posmukkk.east)  to node[right] {} (posakk.west);

\end{tikzpicture}
\end{center}
\end{figure}
\end{document}

答案1

由于您已经加载了该calc库,您可以使用它提供的语法来计算相对于两个现有坐标的坐标。

正如另一个答案已经提到的,该语法的($(nodeA)!0.5!(nodeB)$)意思是“将坐标设置在nodeA和之间的一半(50%) nodeB。所以,0.5这里指的是两个坐标之间距离的50%。

这种语法的优点在于,您甚至可以使用小于 0 或大于 1 的数字来放置不在两个坐标之间的坐标。

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, positioning, decorations.pathmorphing}

\begin{document}
\begin{tikzpicture}
[
node distance = 17mm and 31mm,
b/.style={rectangle, draw=black!60, fill=gray!15, very thick, minimum size=35},
c/.style={circle, draw=black!60, fill=gray!15, very thick, minimum size=35}
]

%Nodes
\node[b] (posFk) {$F_k$};
\node[c] (posak) [below=of posFk] {$\alpha_k$};
\node[c] (posmuk) [below=of posak] {$\mu_k$};
\node[b] (posFtk) [below=of posmuk] {$\tilde{F}_k$};

\node[b] (posFF) [left=of posFk] {$F_2$};
\node[c] (posakk) [below=of posFF] {$\alpha_2$};
\node[c] (posmukk) [below=of posakk] {$\mu_2$};
\node[b] (posFtkk) [below=of posmukk] {$\tilde{F}_2$};

\node[b] (posFFF) [left=of posFF] {$F_1$};
\node[c] (posakkk) [below=of posFFF] {$\alpha_1$};
\node[c] (posmukkk) [below=of posakkk] {$\mu_1$};
\node[b] (posFtkkk) [below=of posmukkk] {$\tilde{F}_1$};

%Curved lines for the quiver
\draw[-, very thick] (posmuk.east) 
    .. controls +(right:17mm) and +(right:17mm) 
    .. (posFk.east);
\draw[-, very thick] (posak.west) 
    .. controls +(left:17mm) and +(left:17mm) 
    .. (posFtk.west);
\draw[-, very thick] (posmukk.east) 
    .. controls +(right:17mm) and +(right:17mm) 
    .. (posFF.east);
\draw[-, very thick] (posakk.west) 
    .. controls +(left:17mm) and +(left:17mm) 
    .. (posFtkk.west);
\draw[-, very thick] (posmukkk.east) 
    .. controls +(right:17mm) and +(right:17mm) 
    .. (posFFF.east);
\draw[-, very thick] (posakkk.west) 
    .. controls +(left:17mm) and +(left:17mm) 
    .. (posFtkkk.west);

%Lines for each column of the quivers
%Right
\draw[-, very thick, dashed] (posFk.south) 
    to node[right] {} (posak.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posak.south) 
    to node[right] {} (posmuk.north);
\draw[-, very thick, dashed] (posmuk.south) 
    to node[right] {} (posFtk.north);

%Middle
\draw[-, very thick, dashed] (posFF.south) 
    to node[right] {} (posakk.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posakk.south) 
    to node[right] {} (posmukk.north);
\draw[-, very thick, dashed] (posmukk.south) 
    to node[right] {} (posFtkk.north);

%Left
\draw[-, very thick, dashed] (posFFF.south)
    to node[right] {} (posakkk.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posakkk.south) 
    to node[right] {} (posmukkk.north);
\draw[-, very thick, dashed] (posmukkk.south) 
    to node[right] {} (posFtkkk.north);

%Horizontal lines connecting the quiver
\draw[-, very thick] (posakkk.east) to node[right] {} (posakk.west);
\draw[-, very thick] (posmukkk.east) to node[right] {} (posmukk.west);
%\draw[-, very thick] (posakk.east) to node[right] {} (posak.west);
%\draw[-, very thick] (posmukk.east) to node[right] {} (posmuk.west);

\draw[-, very thick, blue] (posakk.east) -- ($(posakk)!0.33!(posak)$);
\draw[-, very thick, dashed, blue] ($(posakk)!0.33!(posak)$) -- ($(posakk)!0.67!(posak)$);
\draw[-, very thick, blue] ($(posakk)!0.67!(posak)$) -- (posak.west);

\draw[-, very thick, blue] (posmukk.east) -- ($(posmukk)!0.33!(posmuk)$);
\draw[-, very thick, dashed, blue] ($(posmukk)!0.33!(posmuk)$) -- ($(posmukk)!0.67!(posmuk)$);
\draw[-, very thick, blue] ($(posmukk)!0.67!(posmuk)$) -- (posmuk.west);

\draw[-, very thick, blue] (posak.east) -- ($(posakk)!1.33!(posak)$);
\draw[-, very thick, dashed, blue] ($(posakk)!1.33!(posak)$) -- ($(posakk)!1.67!(posak)$);

\draw[-, very thick, blue] (posmuk.east) -- ($(posmukk)!1.33!(posmuk)$);
\draw[-, very thick, dashed, blue] ($(posmukk)!1.33!(posmuk)$) -- ($(posmukk)!1.67!(posmuk)$);

%Diagonal lines connecting the quiver
\draw[-, very thick, dashed] (posakkk.east) to node[right] {} (posmukk.west);
\draw[-, very thick, dashed] (posmukkk.east) to node[right] {} (posakk.west);

\end{tikzpicture}
\end{document}

在此处输入图片描述


此外,也许-|and|-运算符可能会有所帮助:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, positioning, decorations.pathmorphing}

\begin{document}
\begin{tikzpicture}
[
node distance = 17mm and 31mm,
b/.style={rectangle, draw=black!60, fill=gray!15, very thick, minimum size=35},
c/.style={circle, draw=black!60, fill=gray!15, very thick, minimum size=35}
]

%Nodes
\node[b] (posFk) {$F_k$};
\node[c] (posak) [below=of posFk] {$\alpha_k$};
\node[c] (posmuk) [below=of posak] {$\mu_k$};
\node[b] (posFtk) [below=of posmuk] {$\tilde{F}_k$};

\node[b] (posFF) [left=of posFk] {$F_2$};
\node[c] (posakk) [below=of posFF] {$\alpha_2$};
\node[c] (posmukk) [below=of posakk] {$\mu_2$};
\node[b] (posFtkk) [below=of posmukk] {$\tilde{F}_2$};

\node[b] (posFFF) [left=of posFF] {$F_1$};
\node[c] (posakkk) [below=of posFFF] {$\alpha_1$};
\node[c] (posmukkk) [below=of posakkk] {$\mu_1$};
\node[b] (posFtkkk) [below=of posmukkk] {$\tilde{F}_1$};

%Curved lines for the quiver
\draw[-, very thick] (posmuk.east) 
    .. controls +(right:17mm) and +(right:17mm) 
    .. (posFk.east);
\draw[-, very thick] (posak.west) 
    .. controls +(left:17mm) and +(left:17mm) 
    .. (posFtk.west);
\draw[-, very thick] (posmukk.east) 
    .. controls +(right:17mm) and +(right:17mm) 
    .. (posFF.east);
\draw[-, very thick] (posakk.west) 
    .. controls +(left:17mm) and +(left:17mm) 
    .. (posFtkk.west);
\draw[-, very thick] (posmukkk.east) 
    .. controls +(right:17mm) and +(right:17mm) 
    .. (posFFF.east);
\draw[-, very thick] (posakkk.west) 
    .. controls +(left:17mm) and +(left:17mm) 
    .. (posFtkkk.west);

%Lines for each column of the quivers
%Right
\draw[-, very thick, dashed] (posFk.south) 
    to node[right] {} (posak.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posak.south) 
    to node[right] {} (posmuk.north);
\draw[-, very thick, dashed] (posmuk.south) 
    to node[right] {} (posFtk.north);

%Middle
\draw[-, very thick, dashed] (posFF.south) 
    to node[right] {} (posakk.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posakk.south) 
    to node[right] {} (posmukk.north);
\draw[-, very thick, dashed] (posmukk.south) 
    to node[right] {} (posFtkk.north);

%Left
\draw[-, very thick, dashed] (posFFF.south)
    to node[right] {} (posakkk.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posakkk.south) 
    to node[right] {} (posmukkk.north);
\draw[-, very thick, dashed] (posmukkk.south) 
    to node[right] {} (posFtkkk.north);

%Horizontal lines connecting the quiver
\draw[-, very thick] (posakkk.east) to node[right] {} (posakk.west);
\draw[-, very thick] (posmukkk.east) to node[right] {} (posmukk.west);
%\draw[-, very thick] (posakk.east) to node[right] {} (posak.west);
%\draw[-, very thick] (posmukk.east) to node[right] {} (posmuk.west);

\draw[-, very thick, blue] (posakk.east) -- ($(posakk)!0.4!(posak)$);
\node[blue] at ($(posakk)!0.5!(posak)$) {$\ldots$};
\draw[-, very thick, blue] ($(posakk)!0.6!(posak)$) -- (posak.west);

\draw[-, very thick, blue] (posmukk.east) -- ($(posmukk)!0.4!(posmuk)$);
\node[blue] at ($(posmukk)!0.5!(posmuk)$) {$\ldots$};
\draw[-, very thick, blue] ($(posmukk)!0.6!(posmuk)$) -- (posmuk.west);

\draw[-, very thick, blue] (posak.east) -- ($(posakk)!1.4!(posak)$);
\node[blue] at ($(posakk)!1.5!(posak)$) {$\ldots$};

\draw[-, very thick, blue] (posmuk.east) -- ($(posmukk)!1.4!(posmuk)$);
\node[blue] at ($(posmukk)!1.5!(posmuk)$) {$\ldots$};

%Diagonal lines connecting the quiver
\draw[-, very thick, dashed] (posakkk.east) to node[right] {} (posmukk.west);
\draw[-, very thick, dashed] (posmukkk.east) to node[right] {} (posakk.west);

\coordinate (helperA) at ($(posakk)!0.5!(posmukk)$);
\coordinate (helperB) at ($(posakk)!0.4!(posak)$);
\coordinate (helperC) at ($(posakk)!0.6!(posak)$);

\node[blue] at ($(posakk)!0.5!(posmuk)$) {$\ldots$};

\draw[-, very thick, dashed, blue] (posakk.east) -- (helperA -| helperB) -- (posmukk.east);
\draw[-, very thick, dashed, blue] (posak.west) -- (helperA -| helperC) -- (posmuk.west);

\coordinate (helperD) at ($(posak)!0.5!(posmuk)$);
\coordinate (helperE) at ($(posakk)!1.4!(posak)$);
\coordinate (helperF) at ($(posakk)!1.5!(posak)$);

\node[blue] at (helperD -| helperF) {$\ldots$};

\draw[-, very thick, dashed, blue] (posak.east) -- (helperD -| helperE) -- (posmuk.east);

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

我擅自将您的图表重新组织成 TikZ-CD。

它可能不是一个交换图,但它是一堆像物质一样在网格中排列的节点(即\matrix),它们之间只有几条线。

当然,这并不能立即解决您的点问题,但现在实现起来要容易得多。

实际上这里有两种半方法:

  1. middle dotted line取自我的评论在相关的问答中,它只是中断一条线,并在中断的空间中放置另一条线(作为边缘),并使用特殊的虚线图案。值.45.55是估计值。我们可以稍微重写一下这种样式,使其与中间保持固定的距离。

  2. node on line结合一张只有虚线的图片,周围有一个特殊命名的节点,这样它就可以用作节点,node on line但以后也可以用适当的名称引用。

  3. dash patterntrail off解决方案。


您还可以使用额外的列和额外的行(行和列的间隔较小,然后在那里画一条虚线。(数学模式点\cdots需要手动垂直调整才能正确使用。)

代码

\documentclass[tikz]{standalone}
\usepackage{tikz-cd}
\usetikzlibrary{arrows.meta, calc, positioning}
\usetikzlibrary{decorations.pathmorphing}
\makeatletter
\tikzset{
  pic/.code=\tikz@node@is@pictrue,% https://tex.stackexchange.com/a/667155/16595
  @node on line/.style 2 args={   % https://tex.stackexchange.com/a/667341/16595
    to path={
      \pgfextra{%
        \edef\tikz@temp{% rescuing nodes and target for edge
          edge[
            line to, path only, % line to = --, path only = no draw, no fill, …
            every edge quotes/.append style={auto=false},% node *on* the line
            nodes={alias=@nodeonline@}]
          \unexpanded\expandafter{\tikz@tonodes}(\tikztotarget)
        }\expandafter}\tikz@temp
      -- (@nodeonline@#1)(@nodeonline@#2) -- (\tikztotarget)}},
  node on line/.style={@node on line={}{}},
  node on line'/.style args={#1 and #2}{@node on line={.#1}{.#2}}}
\makeatother
\tikzset{% https://tex.stackexchange.com/a/660100/16595
  rows/.style 2 args={/utils/tempa/.style={
    /tikz/row ##1/.append style={#2}},/utils/tempa/.list={#1}},
  rows*/.style 2 args={rows={#1}{nodes={#2}}},
  dotted/.pic={
    \path[name prefix ..]node[anchor=center, path only, inner sep=+0pt,
      outer sep=+0pt, minimum width=+5mm, minimum height=+\the\pgflinewidth]
        (#1){};
    \draw[line cap=round, dash expand off,
      dash pattern/.expanded=on 0pt off \the\dimexpr2\pgflinewidth\relax
    ] (left:2.5mm) -- (right:2.5mm);},
  middle dotted line/.style args={#1 and #2}{
    to path={% https://tex.stackexchange.com/questions/639726/how-to-draw-parts-of-a-line-dotted-with-tikz/659674#comment1641423_639809
      --($(\tikztostart)!#1!(\tikztotarget)$) coordinate(@s)
        ($(\tikztostart)!#2!(\tikztotarget)$) coordinate(@e)
      --(\tikztotarget) (@s)edge[line to, line cap=round,
        dash pattern/.expanded=on 0pt off \the\dimexpr2\pgflinewidth\relax,
        dash expand off](@e)}},
  mdl/.style={middle dotted line=.45 and .55},
  coily/.style={
    decorate, line join=round, decoration={
      coil, aspect=0, pre length=1mm, pre=lineto, segment length=5.9mm}}}
\tikzcdset{
  curve right/.style={start anchor=east, end anchor=east,
    out control=+(right:17mm), in control=+(right:17mm)},
  curve left/.style={start anchor=west, end anchor=west,
    out control=+(left:17mm), in control=+(left:17mm)},
  trail off main/.style 2 args={
    /tikz/arrows=-, line cap=round, start anchor={#1},
    /tikz/dash pattern/.expanded=on \the\dimexpr\pgfmatrixcolumnsep/2\relax
                                 off \the\dimexpr2\pgflinewidth\relax
                                 on 0pt off \the\dimexpr2\pgflinewidth\relax
                                 on 0pt off \the\dimexpr2\pgflinewidth\relax
                                 on 0pt off \the\dimexpr2\pgflinewidth\relax
                                 on 0pt off \the\dimexpr2\pgflinewidth\relax,
    to path={-- ++ (#2:.5*\pgfmatrixcolumnsep+10\pgflinewidth)\tikztonodes}},
  trail off/.default=right, trail off/.is choice,
  trail off/right/.style={trail off main={east}{right}},
  trail off/left/.style={trail off main={west}{left}}}
\begin{document}
\begin{tikzcd}[
  /tikz/b/.style={
    rectangle, draw=black!60, fill=gray!15, very thick, minimum size=35},
  /tikz/c/.style={
    circle, draw=black!60, fill=gray!15, very thick, minimum size=35},
  rows*={1,4}{b}, rows*={2,3}{c},
  row sep=17mm, column sep=31mm, arrows={very thick, -},
]
   F_1 \arrow[d, densely dashed] \arrow[dd, curve right]
 & F_2 \arrow[d, densely dashed] \arrow[dd, curve right]
 & F_k \arrow[d, densely dashed] \arrow[dd, curve right]
\\
   \alpha_1 \arrow[r]
            \arrow[d, coily]
            \arrow[dr, densely dashed]
 & \alpha_2 \arrow[r, mdl]          \arrow[d, coily]
            \arrow[densely dashed, node on line'=west and east, dr, "dotted=dot" pic]
 & \alpha_k \arrow[trail off=right, "" {coordinate, at end, name=end2}]
            \arrow[d, coily]
            \arrow[densely dashed, from=dot.east]
\\
   \mu_1    \arrow[r]
            \arrow[ur, densely dashed]
 & \mu_2    \arrow[r, mdl]
            \arrow[densely dashed, to=dot.west]
 & \mu_k    \arrow[trail off=right, "" {coordinate, at end, name=end3}]
   \arrow[path only, from=end2, to=end3, "dotted=dot23" pic]
   \arrow[densely dashed, to=dot23.west]
   \arrow[densely dashed, from=2-3, to=dot23.west]
\\
   \tilde F_1 \arrow[u, densely dashed] \arrow[uu, curve left]
 & \tilde F_2 \arrow[u, densely dashed] \arrow[uu, curve left]
 & \tilde F_k \arrow[u, densely dashed] \arrow[uu, curve left]
\end{tikzcd}
\end{document}

输出

在此处输入图片描述

答案3

您需要的是具有相对位置的虚线或点图案。虚线或点图案:https://tikz.dev/tikz-actions#sec-15.3.2

您可以在图片末尾添加以下几行:

            \draw (posmuk)[dash pattern=on 20pt off 10pt]  -- +(3,0);
            \draw (posak) [dash pattern=on 20pt off 10pt] -- +(3,0);
            \end{tikzpicture}

解释:

我要求 tikz--在命名的节点和远离的posmuk坐标之间绘制一条路径(也可能是一条边)+3x,0yposmuk

虚线图案可以是任何您喜欢的图案,在开启和关闭之间交替: [dash pattern=on 2pt off 1pt on 40pt off 100pt]

它也可能是点。

如果将这个推理扩展到想要绘制的每个其他节点,您可能需要查看midwayhttps://tikz.dev/tikz-shapes#tikz/midway

甚至在calc图书馆:https://tikz.dev/tikz-coordinates#tikz-lib-calc 它提供了一个有用的语法:

($(nodeA)!0.5!(nodeB)$)

nodeA这将在和的平均位置上放置一个新节点或坐标nodeB

答案4

虽然我粗略浏览了一下,已经有一些很棒的答案,但我还是设法完成了它,并分享给其他人,以防它有用。我想说我的答案不如其他人的好。

代码如下

\documentclass[12pt]{article}
\pdfoutput=1
\usepackage{mathtools}
\usepackage{float}
\usepackage{tikz, pgfplots}
\usetikzlibrary{arrows.meta, calc, positioning}
\usetikzlibrary{decorations.pathmorphing}
\begin{document}
\begin{figure}[H]
\begin{center}
\begin{tikzpicture}
[
node distance = 17mm and 31mm,
b/.style={rectangle, draw=black!60, fill=gray!15, very thick, minimum size=35},
c/.style={circle, draw=black!60, fill=gray!15, very thick, minimum size=35}
]

%Nodes
\node[b]      (posFk)                               {$F_k$};
\node[c]      (posak)      [below=of posFk]         {$\alpha_k$};
\node[c]      (posmuk)     [below=of posak]         {$\mu_k$};
\node[b]      (posFtk)     [below=of posmuk]      {$\tilde{F}_k$};

\node[b]      (posFF)      [left=of posFk]          {$F_2$};
\node[c]      (posakk)     [below=of posFF]         {$\alpha_2$};
\node[c]      (posmukk)    [below=of posakk]      {$\mu_2$};
\node[b]      (posFtkk)    [below=of posmukk]     {$\tilde{F}_2$};

\node[b]      (posFFF)     [left=of posFF]          {$F_1$};
\node[c]      (posakkk)    [below=of posFFF]        {$\alpha_1$};
\node[c]      (posmukkk)   [below=of posakkk]     {$\mu_1$};
\node[b]      (posFtkkk)   [below=of posmukkk]    {$\tilde{F}_1$};

%Curved lines for the quiver
\draw[-, very thick] (posmuk.east)  .. controls  +(right:17mm) and +(right:17mm)    .. (posFk.east);
\draw[-, very thick] (posak.west)       .. controls  +(left:17mm) and +(left:17mm)          .. (posFtk.west);
\draw[-, very thick] (posmukk.east)     .. controls  +(right:17mm) and +(right:17mm)    .. (posFF.east);
\draw[-, very thick] (posakk.west)  .. controls  +(left:17mm) and +(left:17mm)          .. (posFtkk.west);
\draw[-, very thick] (posmukkk.east)    .. controls  +(right:17mm) and +(right:17mm)    .. (posFFF.east);
\draw[-, very thick] (posakkk.west)     .. controls  +(left:17mm) and +(left:17mm)          .. (posFtkkk.west);

%Lines for each column of the quivers
%Right
\draw[-, very thick, dashed] (posFk.south)                                                          to node[right] {} (posak.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posak.south)    to node[right] {} (posmuk.north);
\draw[-, very thick, dashed] (posmuk.south)                                                         to node[right] {} (posFtk.north);

%Middle
\draw[-, very thick, dashed] (posFF.south)                                                          to node[right] {} (posakk.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posakk.south)   to node[right] {} (posmukk.north);
\draw[-, very thick, dashed] (posmukk.south)                                                    to node[right] {} (posFtkk.north);

%Left
\draw[-, very thick, dashed] (posFFF.south)                                                         to node[right] {} (posakkk.north);
\draw[-, very thick, decorate,decoration={coil,aspect=0,segment length=5.9mm}] (posakkk.south)  to node[right] {} (posmukkk.north);
\draw[-, very thick, dashed] (posmukkk.south)                                                   to node[right] {} (posFtkkk.north);

%Horizontal lines connecting the quiver
\draw[-, very thick] (posakkk.east)     to node[right] {} (posakk.west);
\draw[-, very thick] (posmukkk.east)  to node[right] {} (posmukk.west);

%Diagonal lines connecting the first part of the quiver
\draw[-, very thick, dashed] (posakkk.east)     to node[right] {} (posmukk.west);
\draw[-, very thick, dashed] (posmukkk.east)  to node[right] {} (posakk.west);

%Finishing off the middle part of the quiver
\node at (31mm,-43mm) (aux0) {$\bf\textcolor{black}{\ldots}$};
\draw[-, very thick, dashed] (posak) to node[right] {} (aux0.west);
\draw[-, very thick, dashed] (posmuk) to node[right] {} (aux0.west);

%Finishing off the straight lines
\node at (34mm,-29.5mm) (aux1) {$\bf\textcolor{black}{\ldots}$};
\node at (34mm,-58.5mm) (aux2) {$\bf\textcolor{black}{\ldots}$};
\draw[-, very thick]  (posak) to node[right] {} (aux1);
\draw[-, very thick] (posmuk) to node[right] {} (aux2);

%Connecting the middle part of the quiver diagram
\node at (-21mm,-43mm) (aux3) {$\bf\textcolor{black}{\ldots}$};
\draw[-, very thick, dashed] (posakk) to node[right] {} (aux3.west);
\draw[-, very thick, dashed] (posmukk) to node[right] {} (aux3.west);
\draw[-, very thick, dashed] (posak) to node[left] {} (aux3.east);
\draw[-, very thick, dashed] (posmuk) to node[left] {} (aux3.east);
\node at (-21mm,-29.5mm) (aux4) {$\bf\textcolor{black}{\ldots}$};
\draw[-, very thick] (posakk) to node[right] {} (aux4.west);
\draw[-, very thick] (posak) to node[left] {} (aux4.east);
\node at (-20mm,-59.5mm) (aux5) {$\bf\textcolor{black}{\ldots}$};
\draw[-, very thick] (posmukk) to node[right] {} (aux5.west);
\draw[-, very thick] (posmuk) to node[left] {} (aux5.east);

\end{tikzpicture}
\end{center}
\end{figure}
\end{document}

和输出

颤动

相关内容