float GetHermite(float start, float speedStart, float end, float speedEnd, float point)
{
float pointPow2 = point * point;
float pointPow3 = pointPow2 * point;
return((((2.0f * pointPow3) - (3.0f * pointPow2) + 1.0f) * start)
+ (((3.0f * pointPow2) - (2.0f * pointPow3)) * end)
+ ((pointPow3 - (2.0f * pointPow2) + point) * (speedStart - start))
+ ((pointPow3 - pointPow2) * (speedEnd - end))
);
}