public static double SineEaseInOut(double t, double b, double c, double d) { if ((t /= d / 2) < 1) { return c / 2 * (Math.Sin(Math.PI * t / 2)) + b; } return -c / 2 * (Math.Cos(Math.PI * --t / 2) - 2) + b; }