По сути на рисунке функция x = a * sin(b * y)
Ставим начало координат в центр канваса, анимируем меняя коэфицент b в определенных диапазонах (нужно подбирать экспериментально)
Можно и без canvas и без математики.
Верстаете три вертикальные полоски с градиентами. Это первый слой. Верстаете белые треугольнички - третий слой. А во второй слой кладете свою волнистую линию, и двигаете ее вверх или вниз, по кругу.
Хотя, может я неправильно понял что такое "анимация плавного колебания".