如何使用TiKZ繪製垂直螺旋?

如何使用TiKZ繪製垂直螺旋?

我想畫下圖:
在此輸入影像描述

我嘗試使用以下命令繪製圖表:

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

這產生:
在此輸入影像描述 但它沒有給出我想要的實際圖表。如何使用 TiKZ 繪製所需的圖表?

答案1

唯一的新事物是使用bending庫來彎曲箭頭。

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

在此輸入影像描述

答案2

繪製螺旋線的簡單方法是使用參數方程,即

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

很天真地說,在這種形式中,n表示螺旋圈的數量,x,y座標實際上是一個圓。透過為方程式提供一些係數,我們可以製作圓錐形螺旋或產生順時針/逆時針螺旋。我將把數學的學習留給你。這裡有一個基本的您可以修改它以滿足您的要求。

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

在此輸入影像描述

透過調整增益、參數和軸視圖,您可以產生您想要的結果。

相關內容