public static double ExpoEaseInOut(double t, double b, double c, double d) { if (t == 0) { return b; } if (t == d) { return b + c; } if ((t /= d / 2) < 1) { return c / 2 * Math.Pow(2, 10 * (t - 1)) + b; } return c / 2 * (-Math.Pow(2, -10 * --t) + 2) + b; }