TikZ 線圈具有延伸、垂直的起點和終點

TikZ 線圈具有延伸、垂直的起點和終點

目標是嘗試繪製一個在其起點和終點具有矩形彎曲的線圈,所有這些都在一個path/draw命令中,如下所示:

正確的線圈

線圈本身是水平路徑,末端從兩端垂直向下,即呈90度角。

然而,儘管基本路徑(綠色)形成了正確的形狀,但雖然開始有效,但結束卻無效:

彎曲線圈

帶代碼

\documentclass{article}

\usepackage{tikz}

\usetikzlibrary{
    decorations.pathmorphing,
    arrows
}

\begin{document}
    \begin{tikzpicture}[
        thiscoil/.style={%
            decorate,%
            decoration={%
                coil,
                aspect=0.3,
                segment length=0.5em,
                amplitude=0.5em,
                pre=lineto,
                post=lineto,
                pre length=1.5em,
                post length=1.5em,
            },
            o-o,
        },
        thick
    ]
        % Same path, without coil:
        \draw[transform canvas={yshift=3em}, green] (0,0) |- ++ (5em,1em) -| ++ (0.5em,-1em);
        % A coil with horizontal straight endings:
        \draw[thiscoil, blue] (0,0) |- ++ (5em,1em) -| ++ (0.5em,-1em);
        % A coild without horizontal endings, only vertical ones:
        \draw[thiscoil, transform canvas={yshift=-3em}, red] (0,0) |- ++ (5em,1.5em) -| ++ (0.5em,-1.5em);
    \end{tikzpicture}
\end{document}

最好的情況下,線圈應該看起來像紅色範例的左側/開頭兩端。如果它在線圈中帶有水平縮進,例如藍色路徑的開始/左側和紅色路徑的結束/右側,那也沒關係。

如何才能做到這一點?

答案1

這是使用 Circuitikz CuteInductorShape 的解決方案。頂部使用連接器之間的指定寬度,而底部使用節點的“自然”寬度(可使用 進行調整\ctikzset)。

\documentclass[border=2pt]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{tikzpicture}
  \draw (0,1) to[short,o-] ++(0,1em) to[cute inductor] ++(5em,0) to[short,-o] ++(0,-1em);
  \draw (0,0) node[ocirc]{} |- ++(0.5pt,1em) node[cuteinductorshape,anchor=west,name=coil]{}
    (coil.east) -| ++(0.5pt,-1em) node[ocirc]{};
\end{tikzpicture}
\end{document}

示範

答案2

只是為了好玩:這是一個非常短的代碼,帶有pstricks.一些座標值必須透過反覆試驗來找到,因為指令 \psCoil在後台使用 3d 螺旋在平面上的投影,參數是該螺旋上的起始角度和結束角度。

\documentclass{article}
\usepackage{pst-coil, auto-pst-pdf}

\begin{document}

\begin{pspicture}(-1,0.5)(4,3)
\psset{coilheight=0.6, coilwidth =1.5, dotsize=4pt}
\rput(2,0){\psCoil{-110}{1910}}
\psline{-o}(1.506,-0.25)(1.506,-1.25)\psline{-o}(5.675,-0.25)(5.675,-1.25)
\end{pspicture}

\end{document} 

在此輸入影像描述

相關內容