view game/Interpolate.java @ 7:70714c229e23

More work.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 28 Jan 2011 20:23:21 +0200
parents 44f1e7b47fcf
children 59ff451750fb
line wrap: on
line source

/*
 * 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
{
    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));
    }
}