view game/Interpolate.java @ 13:562744de803c

Work.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 30 Jan 2011 01:49:43 +0200
parents 70714c229e23
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));
    }
}