Edit and compile if you like:
\documentclass{standalone} %Drawing \usepackage{tikz} \tikzset{>=latex} \usetikzlibrary{calc} %Notation \usepackage{physics} % Colors \definecolor{blue1}{rgb}{0.0, 0.33, 0.71} \definecolor{blue2}{rgb}{0.29, 0.59, 0.82} %Newcommand %Newcommand %%Midline Label \newcommand{\midlinelabel}[3]% { \node (midlabel) at ($ (#1)!0.52!(#2) $) {#3}; \draw[<-,thick] (#1) -- (midlabel); \draw[->,thick] (midlabel) -- (#2); } \begin{document} \begin{tikzpicture} % Grid % \draw[line width = 0.05] (0,0) grid (12,12); % Bottom Rectangle \draw[line width = 2, blue1, fill = blue2!40] (3,1) rectangle (11,3); % Upper Rectangle \draw[shift = {(0,4)}, line width = 2, blue1, fill = blue2!40] (3,1) rectangle (11,3); % Gray Lines %% Bottom \draw[line width = 1.5, black!40, ->] (3.8,2) -- +(1,0); \draw[line width = 1, black!40, dashed] (5,1) -- +(0,2); \draw[line width = 1, black!40] (7,1) -- +(0,2); %% Top \draw[line width = 1, black!40] (5,5) -- +(0,2); % Points %% A and B %%% Bottom \foreach \x in {0,2} { \draw[shift = {(0,\x)}, fill=blue1] (7,1) circle (2.5pt); } %%% Top \foreach \x in {0,2} { \draw[shift = {(0,\x)}, fill=blue1] (5,5) circle (2.5pt); } %% Bottom Points Above x \foreach \x in {0,2} { \draw[shift = {(0,\x)}, fill=blue1] (5,1) circle (2.5pt); } % Nodes \node at (5,0.7) {\small$x$}; \node at (1,2) {$\vb{F}$}; \node[blue1] at (7,0.7) {\small$B$}; \node[blue1] at (7,3.3) {\small$A$}; \node at (6,2) {\small$\xi = \xi(x,t)$}; \node[blue1] at (5,4.7) {\small$B$}; \node[blue1] at (5,7.3) {\small$A$}; % L line \midlinelabel{3,4}{11,4}{$L$} % Force Vectors \foreach \x in {0,1,2} { \draw[shift = {(0,0.5*\x)}, line width = 1.5, ->] (1.5,1.5) -- ++(1,0); } % S Lines \midlinelabel{11.5,1}{11.5,3}{$S$} \midlinelabel{11.5,5}{11.5,7}{$S$} \end{tikzpicture} \end{document}
Click to download: rod-oscillation.tex
Open in Overleaf: rod-oscillation.tex
This file is available on GitHub.
See more on the author page of Alexandros Tsagkaropolulos.