A função JavaScript para plotar a onda senoidal usa a função Math.sin (), que é chamada repetidamente, dada um ponto de partida diferente no eixo y.Nesse caso, a função draw () faz com que as chamadas de repetição via window.requestanimationFrame (draw).Depois de aprender a plotar uma onda senoidal, visualizei como desenhar várias ondas senoidais para alcançar o efeito de oscilação na animação.Minha primeira parada foi plotar uma onda senoidal em JavaScript e depois animá -la.Tidbit interessante: se não dominarmos o ctx.moveto (x, y) pouco antes do loop, obtemos uma linha vertical.
Fonte: https://gist.github.com/gkhays/e264009c0832c73d5345847e673a64ab