\documentclass[crop,border=3,tikz,convert={outext=.svg,command=\unexpanded{pdf2svg \infile\space\outfile}},multi=false]{standalone}
\usetikzlibrary{math,decorations.pathmorphing,patterns}
\begin{document}
\begin{tikzpicture}[>=latex,scale=1.2]
\fill[white] (-1.1,-4.8) rectangle (7.1,0.6);
\fill [pattern = north east lines] (-1,0) rectangle (1,0.5);
\draw[thick] (-1,0) -- (1,0);
\draw[thick] (0,0) -- (0,-0.1);
\draw[thick,decoration={aspect=0.2, segment length=4.6,
amplitude=3mm,coil},decorate] (0,-0.1) -- (0,-2) node[blue,midway,right,inner sep=4mm]{$D$};
\draw[thick,blue,dotted] (-0.2,-2) -- (1.7,-2);
\draw[blue,<->] (1.5,-2) -- (1.5,-3) node[midway, right]{$s_0$};
\begin{scope}[shift={(3,0)}]
\fill [pattern = north east lines] (-1,0) rectangle (1,0.5);
\draw[thick] (-1,0) -- (1,0);
\draw[thick] (0,0) -- (0,-0.1);
\node[draw,anchor=north,circle,fill=gray,inner sep=1.5mm] (m) at (0,-3) {$m$};
\draw[thick,decoration={aspect=0.2, segment length=2.57mm,
amplitude=3mm,coil},decorate] (0,-0.1) -- (m);
\node[blue,anchor=north, outer sep=5mm] (F) at (m){$m\cdot g=D\cdot s_0$};
\draw[thick,blue,dotted] (-1.7,-3) -- (1.65,-3) node[]{$0$};
\end{scope}
\begin{scope}[shift={(6,0)}]
\def\myx{-2.2}
\tikzmath{\mysegment=(-\myx-0.3)*2.7;}
\fill[pattern = north east lines] (-1,0) rectangle (1,0.5);
\draw[thick] (-1,0) -- (1,0);
\draw[thick] (0,0) -- (0,-0.1);
\draw[thick,decoration={aspect=0.2, segment length=\mysegment,
amplitude=3mm,coil},decorate] (0,-0.1) -- (0,\myx);
\node[draw,anchor=north,circle,fill=gray,inner sep=1.5mm] (m) at (0,\myx) {$m$};
\draw[thick,blue,dotted] (-1.6,\myx) -- (0.2,\myx);
\tikzmath{\myforcestart=\myx-0.4;}
\tikzmath{\myforcestop=-3.4+(-\myforcestart-3.4)*1.3;}
\draw[ultra thick,red,->,tips=proper] (0,\myforcestart) -- (0,\myforcestop) node[anchor=west]{$\vec{F}_R$};
\draw[blue,thick,->] (-1.5,-4.5) -- (-1.5,-1.5) node[above]{$s(t)$};
\foreach \a in {-4,-3.5,...,-2}{
\draw[blue] (-1.55,\a) -- (-1.45,\a);
}
\end{scope}
\end{tikzpicture}
\end{document}