I am trying to draw this in Ti*k*Z. ![original figure](https://topanswers.xyz/image?hash=48e4f2d7f99451a9257c7a86f0517033c8077d6f981d615728814d0ee2b0de24) 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} ``` ![attempt so far](https://topanswers.xyz/image?hash=b99e5503a97601fe1548cf468bbbabbd7c51e5449be5b866edf6d6802914be7e) 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.

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} ``` ![Screen Shot 2020-10-14 at 8.43.44 AM.png](/image?hash=d669cc57df6778ea68ce68e12f9174280cadbe596050b93d1eaa27ad5fe932ba) 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: