0

How do I draw such a diagram? quoted, multi-line spiral

From similar examples, I found only this: Plotting Archimedes's spiral

For my task, there is no need to use the Archimedes spiral. A simple spiral fits my diagram. "Connection" in the diagram may look different.

Thanks for the help!

Rmano
  • 40,848
  • 3
  • 64
  • 125
Youra_P
  • 1,054

1 Answers1

5

It is rather easy to accomplish this. This draws the diagram and shows in examples how to add texts and other things.

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{arrows.meta,bending}
\begin{document}
\begin{tikzpicture}[declare function={rr(\t)=0.5+\t/180;},samples=51]
 \draw[line width=1mm] (0,-0.8) to[bend left] (-110:{rr(110)}) --
 plot[smooth,variable=\t,domain=110:450]
  (-\t:{rr(\t)});
 \draw[thick] plot[smooth,variable=\t,domain=810:450]
   (-\t:{0.96*rr(\t)}) --
  plot[smooth,variable=\t,domain=450:810]
   (-\t:{1.04*rr(\t)});
 \draw[thick] plot[smooth,variable=\t,domain=1120:810]
   (-\t:{0.94*rr(\t)}) --
  plot[smooth,variable=\t,domain=810:1120]
   (-\t:{0.98*rr(\t)})
  plot[smooth,variable=\t,domain=1120:810]
   (-\t:{0.96*rr(\t)})
  plot[smooth,variable=\t,domain=830:810]
   (-\t:{1.06*rr(\t)}) --
  plot[smooth,variable=\t,domain=810:835]
   (-\t:{1.02*rr(\t)});
 \draw[densely dotted] plot[smooth,variable=\t,domain=830:850]
   (-\t:{1.06*rr(\t)})
   plot[smooth,variable=\t,domain=835:850]
   (-\t:{1.02*rr(\t)})
  foreach \X in {0.94,0.96,0.98}
  {plot[smooth,variable=\t,domain=1120:1140]
   (-\t:{\X*rr(\t)})};
 \draw[line width=1mm,-{Stealth[bend]}] 
  (20:7) arc[start angle=20,end angle=225,radius=7];
 \draw[dashed,node font=\bfseries] 
  (20:7.5) arc[start angle=20,end angle=270,radius=7.5]
  coordinate[pos=0] (p1) node[pos=0.025,right]{Text}
  coordinate[pos=0.05] (p2) node[pos=0.1,right]{Text}
  coordinate[pos=0.15] (p3) 
  -- (0,7.5)
  foreach \X in {1,2,3} {(0,0) edge (p\X)};
 \path[nodes={circle,draw,dash pattern=on 0.4pt off 0.8pt,inner sep=0.8ex,thick}] 
  (-450:{rr(450)}) node(c1){}
  (-810:{0.96*rr(810)}) node(c2){}
  (-810:{1.04*rr(810)}) node(c3){};
 \path (2,-7.5)  node[right](c){connections} foreach \X in {1,2,3}
 {(c) edge[-stealth] (c\X)};
 \draw[stealth-,shorten <=0.5mm] (-240:{rr(240)}) -- ++ (120:7)  
 node[above,align=center]{Text\\ Text Text};
\end{tikzpicture}
\end{document}

enter image description here