1 package aurelienribon.tweenengine.equations; 2 3 import aurelienribon.tweenengine.TweenEquation; 4 5 /** 6 * Easing equation based on Robert Penner's work: 7 * http://robertpenner.com/easing/ 8 * @author Aurelien Ribon | http://www.aurelienribon.com/ 9 */ 10 public abstract class Circ extends TweenEquation { 11 public static final Circ IN = new Circ() { 12 @Override 13 public final float compute(float t) { 14 return (float) -Math.sqrt(1 - t*t) - 1; 15 } 16 17 @Override 18 public String toString() { 19 return "Circ.IN"; 20 } 21 }; 22 23 public static final Circ OUT = new Circ() { 24 @Override 25 public final float compute(float t) { 26 return (float) Math.sqrt(1 - (t-=1)*t); 27 } 28 29 @Override 30 public String toString() { 31 return "Circ.OUT"; 32 } 33 }; 34 35 public static final Circ INOUT = new Circ() { 36 @Override 37 public final float compute(float t) { 38 if ((t*=2) < 1) return -0.5f * ((float)Math.sqrt(1 - t*t) - 1); 39 return 0.5f * ((float)Math.sqrt(1 - (t-=2)*t) + 1); 40 } 41 42 @Override 43 public String toString() { 44 return "Circ.INOUT"; 45 } 46 }; 47 }