diff game/Interpolate.java @ 162:e8eeac403e5f

Backed out changeset fb33d3796942
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 01 Dec 2016 14:33:25 +0200
parents src/Interpolate.java@fb33d3796942
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/game/Interpolate.java	Thu Dec 01 14:33:25 2016 +0200
@@ -0,0 +1,26 @@
+/*
+ * Class for smooth non-linear interpolation between two given values in N steps
+ * (C) Copyright 2011 Matti 'ccr' Hämäläinen <ccr@tnsp.org>
+ */
+package game;
+
+import java.util.*;
+
+public class Interpolate
+{
+    public float start, end, steps;
+
+    public Interpolate(float start, float end, float steps)
+    {
+        this.start = start;
+        this.end = end;
+        this.steps = steps;
+    }
+
+    public float getValue(float step)
+    {
+        float n = step / steps;
+        float v = n * n * (3.0f - 2.0f * n);
+        return (start * v) + (end * (1.0f - v));
+    }
+}