Hello! You can tray to use cubic interpolation, that is used in many places. The main idea is if you have start point P0 and tangent T0 with end point P1 and end tangent T1, then you can construct cubic approximation
(((2x^3)-(3x^2)+1)P0) + ((x^3-(2x^2)+x)T0) + ((x^3-x^2)T1) + (((-2x^3)+(3x^2))P1)
where x is from [0, 1]. At 0 it gives you P0 point and T0 tangent, while at 1 it gives you P1 and T1. So, when x is some value inside interval, you get interpolation point and tangent