When I want to perform an interpolation between point A and point B using an initial vector Va and an ending vector Vb, I often use a cubic Bézier curve.

The formula is defined by four control points (commonly found in vector drawing software): P0 (start point, A), P1, P2, and P3 (end point, B).

f(t) = (1 - t)³ * P0 + 3*(1 - t)² * t * P1 + 3*(1 - t)*t²*P2 + t³*P3

where t represents the progress along the curve, it is a parameter ranging from 0 to 1. the formula only uses addition and multiplication

In the case of 2 points and 2 vectors (initial velocity, ending velocity), P0 corresponds to A, P3 corresponds to B, and the vectors Va and Vb are used to define the tangents at points A and B.

P0 = A(Xa, Ya)

P1 = A + Va

P2 = B - Vb

P3 = B(Xb, Yb)

by changing the initial and ending vectors you can define the shape of your curve