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}

여기에 이미지 설명을 입력하세요

게인, 매개변수 및 축 보기를 조작하여 원하는 것을 생성할 수 있습니다.

관련 정보