В первую очередь нужно озадачится вопросом, можешь ли написать функцию (в математическом смысле) затухающей синусоиды. Если нет, то придется загуглить соответствующие материалы или вооружится учебниками по тригонометрии.
Потом визуализировать эту функцию в виде графика. Этот этап достаточно прост — даем на вход массив данных, строим по ним график, т.е. вычисляем смещение каждого штриха. Потом пробуем сместить график по оси вверх/вниз и пишем функцию отрисовки, которая принимает на вход позицию средней волны синусоиды, самой большой.
Ну и в финале вешаем обработчики на мышку, получаем координаты курсора, пересчитываем их в координаты вывод синусоиды, пригодные для передачи в только что написанную функцию и наслаждаемся результатом.