线性插值更线性

时间:2016-10-13 03:09:34

标签: c++ linear-interpolation

我很好奇是否有办法实现这一功能:

float linearInterpolation(float startPoint, float endPoint, float time)
{
    return startPoint + ((endPoint - startPoint) * time);
}

更加线性,就像现在当起点接近其终点时它变得更慢,我只是想让它一直走到相同的速度而不是减速/加速。如果我需要实现另一个变量或可以完成的事情。另一个采用相同变量并输出下一个值的函数也是可以接受的。

1 个答案:

答案 0 :(得分:1)

对我来说,这似乎是对lerp的正确实现。如果没有看到你正在调用它的代码,我会猜测它减速的原因是你用不同的startPoint调用它(使用之前调用linearInterpolation的结果调用会导致这个问题)每次(帧?)会导致它减速,因为每次调用插值的距离都会减少。

确保在插值生命周期内每次调用的startPoint和endPoint变量相同,只有时间变量在增加。