插值函数

线性插值:

float Linear_Interpolate(float a, float b, float x)
{
    return a*(1-x) + b*x
}

余弦插值:

 

float Cosine_Interpolate(float a,float b,float x)
{
    var ft = x * 3.1415927f
    var f = (1 - math.cos(ft)) * 0.5f
    return a*(1-f) + b*f
}

立方插值:

float Cubic_Interpolate(float v0, float v1, float v2, float v3,float x)
{
    var P = (v3 - v2) - (v0 - v1)
    var Q = (v0 - v1) - P
    var R = v2 - v0
    var S = v1
    return P*x*x*x + Q*x*x + R*x + S
} 

 

你可能感兴趣的:(函数式)