view game/Interpolate.java @ 146:351f20e09d48

Added tag dev-0_85 for changeset 56aea6c89203
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 25 Nov 2011 16:16:30 +0200
parents 4c0dec72e2f0
children d6d92845d6a2
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
{
    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));
    }
}