diff options
Diffstat (limited to 'java/api/src/aurelienribon/tweenengine/equations/Sine.java')
-rwxr-xr-x | java/api/src/aurelienribon/tweenengine/equations/Sine.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/java/api/src/aurelienribon/tweenengine/equations/Sine.java b/java/api/src/aurelienribon/tweenengine/equations/Sine.java new file mode 100755 index 0000000..a4aec5c --- /dev/null +++ b/java/api/src/aurelienribon/tweenengine/equations/Sine.java @@ -0,0 +1,48 @@ +package aurelienribon.tweenengine.equations; + +import aurelienribon.tweenengine.TweenEquation; + +/** + * Easing equation based on Robert Penner's work: + * http://robertpenner.com/easing/ + * @author Aurelien Ribon | http://www.aurelienribon.com/ + */ +public abstract class Sine extends TweenEquation { + private static final float PI = 3.14159265f; + + public static final Sine IN = new Sine() { + @Override + public final float compute(float t) { + return (float) -Math.cos(t * (PI/2)) + 1; + } + + @Override + public String toString() { + return "Sine.IN"; + } + }; + + public static final Sine OUT = new Sine() { + @Override + public final float compute(float t) { + return (float) Math.sin(t * (PI/2)); + } + + @Override + public String toString() { + return "Sine.OUT"; + } + }; + + public static final Sine INOUT = new Sine() { + @Override + public final float compute(float t) { + return -0.5f * ((float) Math.cos(PI*t) - 1); + } + + @Override + public String toString() { + return "Sine.INOUT"; + } + }; +}
\ No newline at end of file |