joulev
I am trying to draw this in Ti*k*Z.

This is what I have done, so far.


\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{3d}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}[x=(-45:1.2),z=(45:1.2)]
\draw (0,0,0) -- (4,0,0) node[right] {$x$}
(0,0,0) -- (0,3,0) node[above] {$y$}
(0,0,2) -- (0,0,-2) node[left] {$z$};
\begin{scope}[canvas is xy plane at z=0]
\draw[thick,red,->] (0,0) -- (80:2) node[above right] {$\mathbf{v}$};
\draw (.4,0) arc (0:80:.4);
\coordinate (x) at (30:.2);
\end{scope}
\draw (x) -- ++ (-.5,0) node[left] {\ang{85.0}};
\draw[thick,green!50!black,->] (1,0,-1) -- (3,0,-1)
node[midway,below left] {$\mathbf{B}$};
\draw (1,0,2) -- (1,0,3) (2,0,2) -- (2,0,3);
\draw[<->] (1,0,2.5) -- (2,0,2.5) node[midway,below left] {$p$};
\end{tikzpicture}
\end{document}


The spiral is 3d-ish and has many dashed segments. That is where I got stuck: at least to me, coil from decoration libraries isn't helpful in this case.

So how can I draw the spiral?

Thanks in advance.
marmot
You can just draw a parametric curve. I added such a curve to your code.

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{3d,arrows.meta,bending}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}[x=(-45:1.2),z=(45:1.2),declare function={r=1;s=1/600;}]
\draw (0,0,0) -- (4,0,0) node[right] {$x$}
(0,0,0) -- (0,3,0) node[above] {$y$}
(0,0,2) -- (0,0,-2) node[left] {$z$};
\begin{scope}[canvas is xy plane at z=0]
\draw[thick,red,->] (0,0) -- (80:2) node[above right] {$\mathbf{v}$};
\draw (.4,0) arc (0:80:.4);
\coordinate (x) at (30:.2);
\end{scope}
\draw (x) -- ++ (-.5,0) node[left] {\ang{85.0}};
\draw[thick,green!50!black,->] (1,0,-1) -- (3,0,-1)
node[midway,below left] {$\mathbf{B}$};
\draw (1,0,2) -- (1,0,3) (2,0,2) -- (2,0,3);
\draw[<->] (1,0,2.5) -- (2,0,2.5) node[midway,below left] {$p$};
\foreach \X in {0,...,4}
{\ifnum\X=4
\draw[orange,thick,dashed]
plot[variable=\t,domain=180:270,smooth,samples=5]
(s*\X*360+s*\t,{r*sin(\t)},{r-r*cos(\t)});
\else
\draw[orange,thick,dashed]
plot[variable=\t,domain=180:360,smooth,samples=9]
(s*\X*360+s*\t,{r*sin(\t)},{r-r*cos(\t)});
\fi
\draw[orange,thick,-{Stealth[bend,length=3mm,width=1.5mm]}]
plot[variable=\t,domain=0:90,smooth,samples=5]
(s*\X*360+s*\t,{r*sin(\t)},{r-r*cos(\t)});
\draw[orange,thick] plot[variable=\t,domain=0:180,smooth,samples=9]
(s*\X*360+s*\t,{r*sin(\t)},{r-r*cos(\t)});}
\end{tikzpicture}
\end{document}


If you install an orthographic projection, you get something like

\documentclass[tikz,margin=3mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d,arrows.meta,bending}
\usepackage{siunitx}
\begin{document}
\tdplotsetmaincoords{60}{70}
\begin{tikzpicture}[tdplot_main_coords,declare function={r=1;s=1/600;}]
\path (0,0,1) coordinate (ey) (1,0,0) coordinate (ex) (0,1,0) coordinate (ez);
\begin{scope}[x={(ex)},y={(ey)},z={(ez)}]
\draw (0,0,0) -- (4,0,0) node[right] {$x$}
(0,0,0) -- (0,3,0) node[above] {$y$}
(0,0,2) -- (0,0,-2) node[left] {$z$};
\begin{scope}[canvas is xy plane at z=0]
\draw[thick,red,->] (0,0) -- (80:2) node[above right] {$\mathbf{v}$};
\draw (.4,0) arc (0:80:.4);
\coordinate (x) at (30:.2);
\end{scope}
\draw (x) -- ++ (-.5,0) node[left] {\ang{85.0}};
\draw[thick,green!50!black,->] (1,0,-1) -- (3,0,-1)
node[midway,below left] {$\mathbf{B}$};
\draw (1,0,2) -- (1,0,3) (2,0,2) -- (2,0,3);
\draw[<->] (1,0,2.5) -- (2,0,2.5) node[midway,below left] {$p$};
\foreach \X in {0,...,4}
{\ifnum\X=4
\draw[orange,thick,dashed]
plot[variable=\t,domain=180:270,smooth,samples=5]
(s*\X*360+s*\t,{r*sin(\t)},{r-r*cos(\t)});
\else
\draw[orange,thick,dashed]
plot[variable=\t,domain=180:360,smooth,samples=9]
(s*\X*360+s*\t,{r*sin(\t)},{r-r*cos(\t)});
\fi
\draw[orange,thick,-{Stealth[bend,length=3mm,width=1.5mm]}]
plot[variable=\t,domain=0:90,smooth,samples=5]
(s*\X*360+s*\t,{r*sin(\t)},{r-r*cos(\t)});
\draw[orange,thick] plot[variable=\t,domain=0:180,smooth,samples=9]
(s*\X*360+s*\t,{r*sin(\t)},{r-r*cos(\t)});}
\end{scope}
\end{tikzpicture}
\end{document}

![Screen Shot 2020-10-14 at 9.01.12 AM.png](/image?hash=72e43e734aa1ba506c9da769653e445a9335636dc812bc1bd06466b9bbfba350)

You can adjust the parameters of \tdplotsetmaincoords{60}{70} to change the view. Note that your coordinate system has an unconventional orientation in that the orthogonal transformation that installs the view has determinant -1. In other words, in your picture the righthanded rather the lefthanded particles participate in the weak interactions. As illustrated [here](https://xkcd.com/2364/)

![Screen Shot 2020-10-14 at 9.04.56 AM.png](/image?hash=5ea13d3e3e30d69cc335cf0ccb462b90782d475f76e36b0b320b4ca47167c35b)

this may have unpleasant consequences. :smile_cat:

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.