Because I just so much love pic
s:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\newif\iforbitalwavedrawlabel
\tikzset{
pics/orbital wave/.style={
code={
\tikzset{orbital wave/.cd, #1}
\foreach \s [evaluate=\s as \t using \s/(\pgfkeysvalueof{/tikz/orbital wave/steps} + 1)]
in {0,...,\pgfkeysvalueof{/tikz/orbital wave/steps}} {
\ifnum\s=0\relax
\draw[orbital wave/circle]
\else
\ifnum\s=\pgfkeysvalueof{/tikz/orbital wave/steps}\relax
\draw[orbital wave/wave]
\else
\draw[orbital wave/step]
\fi
\fi
plot[domain=0:360, samples=181]
({\x}:{
\pgfkeysvalueof{/tikz/orbital wave/circle radius} +
cos(\x * \pgfkeysvalueof{/tikz/orbital wave/frequency}) *
\pgfkeysvalueof{/tikz/orbital wave/amplitude} * \t
});
}
\iforbitalwavedrawlabel
\draw[orbital wave/segment]
(\pgfkeysvalueof{/tikz/orbital wave/segment start angle}:\pgfkeysvalueof{/tikz/orbital wave/segment radius})
-- (0,0)
-- (\pgfkeysvalueof{/tikz/orbital wave/segment end angle}:\pgfkeysvalueof{/tikz/orbital wave/segment radius});
\draw[orbital wave/segment angle]
(\pgfkeysvalueof{/tikz/orbital wave/segment start angle}:{\pgfkeysvalueof{/tikz/orbital wave/segment radius}-\pgfkeysvalueof{/tikz/orbital wave/segment label indent}})
arc[start angle=\pgfkeysvalueof{/tikz/orbital wave/segment start angle}, end angle=\pgfkeysvalueof{/tikz/orbital wave/segment end angle}, radius={\pgfkeysvalueof{/tikz/orbital wave/segment radius}-\pgfkeysvalueof{/tikz/orbital wave/segment label indent}}]
node[orbital wave/segment label] {\pgfkeysvalueof{/tikz/orbital wave/segment label text}};
\fi
}
},
orbital wave/steps/.initial={2},
orbital wave/frequency/.initial={3},
orbital wave/amplitude/.initial={1cm},
orbital wave/circle radius/.initial={1cm},
orbital wave/circle/.style={dashed},
orbital wave/step/.style={thin},
orbital wave/wave/.style={thick},
orbital wave/draw label/.is if={orbitalwavedrawlabel},
orbital wave/draw label,
orbital wave/segment/.style={thin},
orbital wave/segment angle/.style={stealth-stealth},
orbital wave/segment label/.style={midway, circle, fill=white, inner sep=1pt},
orbital wave/segment label indent/.initial={5pt},
orbital wave/segment radius/.initial={2.5cm},
orbital wave/segment start angle/.initial={90/\pgfkeysvalueof{/tikz/orbital wave/frequency}},
orbital wave/segment end angle/.initial={450/\pgfkeysvalueof{/tikz/orbital wave/frequency}},
orbital wave/segment label text/.initial={$\lambda_{\pgfkeysvalueof{/tikz/orbital wave/frequency}}$},
}
\begin{document}
\begin{tikzpicture}
\pic at (0,5) {orbital wave};
\pic[rotate=90] at (0,0) {orbital wave={
steps=4,
frequency=6,
amplitude=0.5cm,
wave/.append style={violet}
}};
\pic at (5,1.75) {orbital wave={
steps=6,
frequency=10,
circle radius=2cm,
draw label=false,
circle/.style={red},
step/.style={red!25}
}};
\pic at (5,6) {orbital wave={
frequency=4,
circle radius=0.5cm,
amplitude=0.25cm,
segment radius=1cm,
segment label indent=0pt,
segment label text={\pgfkeysvalueof{/tikz/orbital wave/frequency}},
segment label/.append style={text=green!75!black},
segment/.style={red},
segment angle/.style={blue},
wave/.append style={orange}
}};
\end{tikzpicture}
\end{document}
The pictures you show seem to contain some sort of offset copy, so I added this to the pic
:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\newif\iforbitalwavedrawlabel
\newif\iforbitalwaveoffsetcopy
\tikzset{
pics/orbital wave/.style={
code={
\tikzset{orbital wave/.cd, #1}
\foreach \s [evaluate=\s as \t using \s/(\pgfkeysvalueof{/tikz/orbital wave/steps} + 1)]
in {0,...,\pgfkeysvalueof{/tikz/orbital wave/steps}} {
\ifnum\s=0\relax
\draw[orbital wave/circle]
\else
\ifnum\s=\pgfkeysvalueof{/tikz/orbital wave/steps}\relax
\draw[orbital wave/wave]
\else
\draw[orbital wave/step]
\fi
\fi
plot[domain=0:360, samples=181]
({\x}:{
\pgfkeysvalueof{/tikz/orbital wave/circle radius} +
cos(\x * \pgfkeysvalueof{/tikz/orbital wave/frequency}) *
\pgfkeysvalueof{/tikz/orbital wave/amplitude} * \t
});
\iforbitalwaveoffsetcopy
\ifnum\s=0\relax\else
\draw[orbital wave/copy] plot[domain=0:360, samples=181]
({\x + 180/\pgfkeysvalueof{/tikz/orbital wave/frequency}}:{
\pgfkeysvalueof{/tikz/orbital wave/circle radius} +
cos(\x * \pgfkeysvalueof{/tikz/orbital wave/frequency}) *
\pgfkeysvalueof{/tikz/orbital wave/amplitude} * \t
});
\fi
\fi
}
\iforbitalwavedrawlabel
\draw[orbital wave/segment]
(\pgfkeysvalueof{/tikz/orbital wave/segment start angle}:\pgfkeysvalueof{/tikz/orbital wave/segment radius})
-- (0,0)
-- (\pgfkeysvalueof{/tikz/orbital wave/segment end angle}:\pgfkeysvalueof{/tikz/orbital wave/segment radius});
\draw[orbital wave/segment angle]
(\pgfkeysvalueof{/tikz/orbital wave/segment start angle}:{\pgfkeysvalueof{/tikz/orbital wave/segment radius}-\pgfkeysvalueof{/tikz/orbital wave/segment label indent}})
arc[start angle=\pgfkeysvalueof{/tikz/orbital wave/segment start angle}, end angle=\pgfkeysvalueof{/tikz/orbital wave/segment end angle}, radius={\pgfkeysvalueof{/tikz/orbital wave/segment radius}-\pgfkeysvalueof{/tikz/orbital wave/segment label indent}}]
node[orbital wave/segment label] {\pgfkeysvalueof{/tikz/orbital wave/segment label text}};
\fi
}
},
orbital wave/steps/.initial={2},
orbital wave/frequency/.initial={3},
orbital wave/amplitude/.initial={1cm},
orbital wave/circle radius/.initial={1cm},
orbital wave/circle/.style={dashed},
orbital wave/step/.style={thin},
orbital wave/copy/.style={orbital wave/step},
orbital wave/wave/.style={thick},
orbital wave/offset copy/.is if={orbitalwaveoffsetcopy},
orbital wave/offset copy,
orbital wave/draw label/.is if={orbitalwavedrawlabel},
orbital wave/draw label,
orbital wave/segment/.style={thin},
orbital wave/segment angle/.style={stealth-stealth},
orbital wave/segment label/.style={midway, circle, fill=white, inner sep=1pt},
orbital wave/segment label indent/.initial={5pt},
orbital wave/segment radius/.initial={2.5cm},
orbital wave/segment start angle/.initial={90/\pgfkeysvalueof{/tikz/orbital wave/frequency}},
orbital wave/segment end angle/.initial={450/\pgfkeysvalueof{/tikz/orbital wave/frequency}},
orbital wave/segment label text/.initial={$\lambda_{\pgfkeysvalueof{/tikz/orbital wave/frequency}}$},
}
\begin{document}
\begin{tikzpicture}
\pic at (-4,0) {orbital wave={
steps=4,
amplitude=0.5cm,
wave/.append style={red},
draw label=false,
offset copy=false
}};
\pic at (0,0) {orbital wave={
steps=4,
amplitude=0.5cm,
wave/.append style={red},
draw label=false
}};
\pic at (4,0) {orbital wave={
steps=4,
amplitude=0.5cm,
wave/.append style={red},
copy/.append style={blue},
draw label=false
}};
\pic[rotate=90] at (-4,-4) {orbital wave={
steps=4,
frequency=2,
amplitude=0.5cm,
segment radius=2cm,
step/.style={gray},
circle/.style={solid, gray},
wave/.append style={violet}
}};
\pic[rotate=150] at (0,-4) {orbital wave={
steps=4,
frequency=3,
amplitude=0.5cm,
segment radius=2cm,
step/.style={gray},
circle/.style={solid, gray},
wave/.append style={violet}
}};
\pic[rotate=180] at (4,-4) {orbital wave={
steps=4,
frequency=4,
amplitude=0.5cm,
segment radius=2cm,
step/.style={gray},
circle/.style={solid, gray},
wave/.append style={violet}
}};
\end{tikzpicture}
\end{document}