¿Cómo dibujar una espiral vertical usando TiKZ?

¿Cómo dibujar una espiral vertical usando TiKZ?

Quiero dibujar el siguiente diagrama:
ingrese la descripción de la imagen aquí

Intenté dibujar el diagrama usando el siguiente comando:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[dotted] (-4,-3) grid (4,7);
\draw[thick] (0,0) ellipse (2cm and 0.5cm);
    \draw[thick,->] (0,1) to [in=1, out=1](2,1.5)--(-2,2)--(2,2.5)--(-2,3)--(2,3.5)--(0,4);
 \end{tikzpicture}
\end{document}  

Esto produce:
ingrese la descripción de la imagen aquí Pero no proporciona el diagrama real que quiero. ¿Cómo puedo dibujar el diagrama requerido usando TiKZ?

Respuesta1

Lo único nuevo es el uso de bendingla biblioteca con punta de flecha doblada.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{arrows.meta,bending}
\begin{document}
\begin{tikzpicture}
\draw[dotted] (-4,-3) grid (4,7);
\draw[thick] (0,0) ellipse (2cm and 0.5cm);
    \draw[thick,decoration={aspect=0.31, segment length=7mm,
     amplitude=2cm,coil},decorate,arrows = {<[bend]-}] (0,4) --(0,1);
\node[draw,fill=white,circle,inner sep=1pt] at (0,1){};
 \end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Una forma sencilla de trazar una espiral es utilizar ecuaciones paramétricas, es decir,

t = [0..2*n*pi]
x = sin(t)
y = cos(t)
z = t

Hablando muy ingenuamente, en esta forma, n indica el número de vueltas en espiral y la coordenada x,y es en realidad un círculo. Al proporcionar algún coeficiente a la ecuación, se pueden hacer espirales cónicas o generar espirales en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj. Te dejaré el estudio de las matemáticas. Aquí hay unbásicopunto de partida que puede modificar para satisfacer sus necesidades.

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis} [
    view={0}{30},
    axis lines=none,
    ymin=-2,
    ymax=5,
    xmin=-2,
    xmax=2]

    \addplot3 [thick, ->, blue, domain=3:7*pi, samples = 100, samples y=0] ({sin(deg(-x))}, {cos(deg(-x))}, {x});
    \addplot3 [thick, red , domain=0:2*pi, samples = 100, samples y=0] ({sin(deg(x))}, {cos(deg(x))}, -3);
    \addplot3 [thick, only marks, blue, mark=o] ({sin(deg(-3))}, {cos(deg(-3)}, {3});
\end{axis}
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Al jugar con las ganancias, los parámetros y la vista del eje, puedes generar lo que quieras.

información relacionada