Умножьте желаемый вектор высоты на положительную синусоидальную волну (отрицательные значения умножаются на -1) и добавьте это к исходной позиции мяча.
Для управления скоростью мяча вы можете умножитьзначение, которое вы используете для оценки синусоидальной функции с другим фактором.
heightVector * |sin(time * speed)|
![enter image description here](https://i.stack.imgur.com/j4ixr.png)