I'm trying to draw a winding line like the solid black one in the following figures using tikz. However, I have no clue how to draw such a complex one.
Could anyone provide some suggestions?
Thanks ahead!
Update: I followed this thread, Spiral spring in TikZ, for generating the two spiral structures. Here is a snipet of my code
\documentclass[tikz,12pt]{standalone} % the code copied from the attached thread \newcommand\spiral{}% Just for safety so \def won't overwrite something \def\spiral[#1](#2)(#3:#4:#5){% \spiral[draw options](placement)(end angle:revolutions:final radius) \pgfmathsetmacro{\domain}{pi*#3/180+#4*2*pi} \draw [#1,line width=1pt, shift={(#2)}, domain=0:\domain,variable=\t,smooth,samples=int(\domain/0.08)] plot ({\t r}: {#5*\t/\domain}) } \begin{document} \begin{tikzpicture}[scale=1] % plot two spirals \spiral[black](8,1.6)(0:2:0.6); \spiral[black](8,1.6)(0:2:-0.6); \spiral[black](6.86, 1.00)(0:1:0.4); \spiral[black](6.86, 1.00)(0:1:-0.4); % connecting them \draw[black,line width=1pt] plot [smooth] coordinates {(7.18, 0.81) (7.26, 1) (7.4, 1.6) (7.43, 1.73) (7.48, 1.86)}; \draw[black,line width=1pt] plot [smooth] coordinates {(6.46, 1) (6.37, 0.84) (6.28, 0.69) (6.16, 0.57) (6.01, 0.47) (5.89, 0.41) (5.64, 0.34)}; \draw[black,line width=1pt] plot [smooth] coordinates {(8.6, 1.6) (8.64, 1.84) (8.69, 2.02) (8.77, 2.22)}; \end{tikzpicture} \end{document} And here is what I got
To connect the two spirals, I digitized the picture and measured some coordinates, then used these coordinates to draw the lines between them. However, the connections are not smooth.
I know this is a stupid way to do it. Any suggestion for a better way to do this is mostly welcomed!



hobbywhich can help with drawing smooth curves through points. It's a bit slower, but I think it'd be worth using for something like this where smoothness really matters and is tricky to get right.