答案1
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) coordinate[label=180:{$C_1$\hspace*{0.6cm}}] (X0) plot[variable=\x,samples=100,domain=0:4]
({0.15*\x*cos(360*\x)},{0.15*\x*sin(-360*\x)});
\coordinate (L0) at (0,1.5);
\coordinate (B0) at (0,-1.5);
\foreach \i in {1,2,3}
{
\coordinate[label=225:{$C$\hspace*{0.4cm}}] (X\i) at ({3*\i},0);
\draw[shift=(X\i)] plot[variable=\x,samples=100,domain=0:4]
({0.1*\x*cos(360*\x)},{0.1*\x*sin(-360*\x)});
\fill (X\i) circle(2pt);
\coordinate (B\i) at (X\i|-B0);
}
\coordinate (X4) at (12,0);
\coordinate (L4) at (X4|-L0);
\coordinate (B4) at (X4|-B0);
\draw[latex-latex] (B0) -- (B1) node[midway,below] {$a$};
\draw[latex-latex] (B1) -- (B2) node[midway,below] {$a$};
\draw[latex-latex] (B3) -- (B4) node[midway,below] {$a$};
\draw(X0)--(X2);
\draw[dashed,shorten <=5mm,shorten >=5mm](X2)--(X3);
\draw(X3)--(X4);
\draw[fill=https://tex.stackexchange.com/questions/422196/spiral-line-inside-black-points-in-physical-diagramwhite](0,0)--(0.2,-0.4)--(-0.2,-0.4)--cycle;
\draw[fill=white](0,0) circle (2pt);
\shade[top color=gray!60,bottom color=gray!20] (-0.6,-0.4) rectangle (0.6,-0.8);
\draw[thick,latex-latex,shorten >=3pt] (L0) -- (L4) node[midway,above] {$L$};
\draw[thick,-latex,shorten >=3pt] (L4) -- (X4) node[midway,right]{$P$};
\end{tikzpicture}
\end{document}
答案2
跟随这如果你对螺旋的细节感兴趣
\documentclass[border = 5mm, tikz]{standalone}
\usetikzlibrary{calc}
% source: https://tex.stackexchange.com/questions/29147/spiral-spring-in-tikz
\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,shift={(#2)}, domain=0:\domain,variable=\t,smooth,samples=int(\domain/0.08)] plot ({\t r}: {#5*\t/\domain})
}
\begin{document}
\begin{tikzpicture}
\spiral[blue](0, 0.5)(0 : 4 : 0.5);
\fill[top color = black!40] (-0.5, -0.5) rectangle (0.5, 0);
\draw[] (-0.2, 0) -- (0, 0.5) -- (0.2, 0);
\draw[fill = white] (0, 0.5) circle (0.1) node[label = {[left = 0.5cm]$C_1$}] (C1){};
\foreach \x [count = \i] in {2.5, 5.0, 7.5} {
\draw[fill = black] (\x, 0.5) circle (0.1) node[label = {[left = 0.5cm, below = 0.3cm]$C$}] (A\i){};
\spiral[](\x, 0.5)(0 : 4 : 0.5);
}
\coordinate (D) at (10, 0.5);
\draw[<->] ($(C1) + (0, -1.5cm)$) -- ($(A1) + (0, -1.5cm) $) node[midway, below]{$a$};
\draw[<->] ($(A1) + (0, -1.5cm)$) -- ($(A2) + (0, -1.5cm) $) node[midway, below]{$a$};
\draw[<->] ($(A3) + (0, -1.5cm)$) -- ($(D) + (0, -1.5cm) $) node[midway, below]{$a$};
\draw[<->] ($(C1) + (0, 1.5cm)$) -- ($(D) + (0, 1.5cm) $) node[midway, above]{$L$};
\draw[<-] ($(D) + (0.5cm, 0)$) -- ($(D) + (0.5, 1.5cm) $) node[midway, right]{$P$};
\draw[] (C1) -- (A2) (A3) -- (D);
\draw[dashed] (A2) -- (A3);
\end{tikzpicture}
\end{document}