Bobina TikZ con inicio y final extendidos y perpendiculares.

Bobina TikZ con inicio y final extendidos y perpendiculares.

El objetivo es intentar dibujar una bobina con una curva rectangular al principio y al final, todo en un solo comando path/ draw, así:

bobina correcta

La bobina en sí tiene una trayectoria horizontal y los extremos descienden verticalmente desde ambos extremos, es decir, en un ángulo de 90 grados.

Sin embargo, aunque el inicio funciona, el final no, a pesar de que el camino base (verde) tiene la forma correcta:

bobina torcida

con codigo

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

En el mejor de los casos, la bobina debería verse como la izquierda/inicio del ejemplo rojo.en ambos extremos. Si viene con una muesca horizontal en la bobina, como el inicio/izquierda del camino azul y el final/derecha del camino rojo, eso también está bien.

¿Cómo se puede hacer esto?

Respuesta1

Aquí hay una solución que utiliza la forma del inductor lindo de Circuitikz. La parte superior usa un ancho específico entre los conectores, mientras que la parte inferior usa el ancho "natural" del nodo (que se puede ajustar usando \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}

manifestación

Respuesta2

Sólo por diversión: es un código muy corto con pstricks. Algunos valores de coordenadas tuvieron que encontrarse mediante prueba y error, ya que el \psCoilcomando, en segundo plano, utiliza la proyección de una hélice 3D en un plano, y los argumentos son el ángulo inicial y el ángulo final de esta hélice.

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

ingrese la descripción de la imagen aquí

información relacionada