Edit and compile if you like:
% Author: Izaak Neutelings (January 2021)
\documentclass[border=3pt,tikz]{standalone}
\usepackage{amsmath}
\usepackage{etoolbox} % ifthen
\usepackage{tikz}
\usepackage{ifthen}
\usetikzlibrary{arrows.meta} % for arrow size
\tikzset{>=latex} % for LaTeX arrow head
\colorlet{xcol}{blue!70!black}
\colorlet{vcol}{green!60!black}
\colorlet{myred}{red!80!black}
\colorlet{myblue}{blue!80!black}
\colorlet{mypurple}{blue!50!red!80}
\colorlet{metalcol}{blue!25!black!30!white}
\tikzstyle{metal}=[draw=metalcol!10!black,rounded corners=0.1,
top color=metalcol,bottom color=metalcol!80!black,shading angle=10]
\tikzstyle{ring}=[metalcol!20!black,double=metalcol!70!black,double distance=1.2,line width=0.3]
\tikzstyle{rope}=[brown!20!black,double=brown!70!black,
double distance=0.8,line width=0.1] %very thick,line cap=round
\tikzstyle{wood}=[draw=brown!80!black,rounded corners=0.1,
top color=brown!80,bottom color=brown!80!black!80,shading angle=10]
%\tikzstyle{myarr}=[-{Latex[length=3,width=2]},vcol!40]
%\tikzstyle{mydoublearr}=[{Latex[length=3,width=2]}-{Latex[length=3,width=2]},vcol!40]
\def\L{6.0}
\def\t{0.12}
\def\H{0.22} % mount height
\def\h{0.12} % fret height
\def\r{0.05} % fret radius
\def\w{0.18} % fret width
\def\A{0.5*\h} % amplitude
\def\mount#1{
\draw[metal] ({(1-#1)*\L},0)++(160:\r) arc(160:20:\r)
-- ({(1-#1)*\L+\w/2},-\H) --++ (-\w,0) -- cycle;
}
\def\fret#1{
\def\x{(1-#1)*\L}
\def\xf{\L-#1*\L-0.57*\w}
%\draw[fill=pink!60!white,line width=0.1,rounded corners=1]
% ({\L-#1*\L-1.5*\w},0.033) rectangle++ (0.7*\w,-1.8*\h)
% ({\L-#1*\L-2.2*\w},0.033) rectangle++ (0.7*\w,-1.8*\h);
\draw[fill=pink!60!white,line width=0.1]
({\xf},0.035) circle({0.5*\w} and {0.4*\w});
\draw[pink!80!black!30,fill=pink!90!black!11,line width=0.1]
({\xf},0.035)++(170:{0.47*\w} and {0.4*\w})
to[out=10,in=170]++ ({2*cos(10)*0.47*\w},0) to[out=125,in=55] cycle;
\draw[metal] ({(1-#1)*\L},\h-\H)++(160:\r) arc(160:20:\r)
-- ({\x+\w/2},-\H) --++ (-\w,0) -- cycle;
}
\def\guitar{
\clip (-2.3*\w,2.35*\A) rectangle (1.28*\L,-3.3*\H); % ensure same canvas height
\draw[wood] (-2*\w,-\H) rectangle (\L+2*\w,-1.6*\H);
\mount{0}
\mount{1}
}
\def\wave#1{
\def\lam{2*#1*\L} % wavelength
\def\om{360/(\lam)} % omega (degrees)
\def\a{(1-#1)*\L}
\ifthenelse{\lengthtest{#1 pt > 0.9 pt}}{
\draw[dashed,samples=100,smooth,variable=\x,domain=\a:\L]
plot(\x,{-\A*sin(\om*(\x-\a))-0.03});
\draw[rope,samples=100,smooth,variable=\x,domain=0:\L]
plot(\x,{\A*sin(\om*(\x-\a))});
}{
\draw[dashed,samples=100,smooth,variable=\x,domain=\a:\L]
plot(\x,{-\A*sin(\om*(\x-\a))-0.025+0.026/(#1*\L)*(\x-\L)});
\draw[rope,samples=100,smooth,variable=\x,domain=\a:\L]
(0,0) -- (\L-#1*\L-0.46*\w,-0.054) to[out=-2,in=187]
(\L-#1*\L-0.0145,-0.0275) -- plot(\x,{\A*sin(\om*(\x-\a))+0.0265/(#1*\L)*(\x-\L)});
}
}
\begin{document}
% STANDING WAVE ON STRING
\begin{tikzpicture}
\draw[<->] (\L,-2.4*\H) --++ (-\L,0)
node[midway,fill=white,inner sep=0.5,scale=0.9] {$L$};
\node[below=2,right,scale=0.9] at (1.08*\L,0) {$f_1$};
\wave{1}
\guitar
\end{tikzpicture}
% 4/5 - major third
\begin{tikzpicture}
\draw[<->] (\L,-2.5*\H) --++ (-4*\L/5,0)
node[midway,fill=white,inner sep=0.5,scale=0.9] {$4L/5$};
\node[below=2,right,scale=0.9] at (1.08*\L,0) {$5f_1/4$};
\wave{0.8}
\guitar
\fret{0.8}
\end{tikzpicture}
% 3/4 - perfect fourth
\begin{tikzpicture}
\draw[<->] (\L,-2.5*\H) --++ (-3*\L/4,0)
node[midway,fill=white,inner sep=0.5,scale=0.9] {$3L/4$};
\node[below=2,right,scale=0.9] at (1.08*\L,0) {$4f_1/3$};
\wave{0.75}
\guitar
\fret{0.75}
\end{tikzpicture}
% OCTAVE UP
\begin{tikzpicture}
\draw[<->] (\L,-2.5*\H) --++ (-\L/2,0)
node[midway,fill=white,inner sep=0.5,scale=0.9] {$L/2$};
\wave{0.5}
\guitar
\node[below=2,right=-2,scale=0.9] at (1.08*\L,0) {$f_2=2f_1$};
\fret{0.5}
\end{tikzpicture}
\end{document}Click to download: waves_standing_string.tex • waves_standing_string.pdf
Open in Overleaf: waves_standing_string.tex



