首页 文章

线性插值更线性

提问于
浏览
1

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

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

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

1 回答

  • 1

    这看起来像是对我的正确实现 . 如果没有看到你正在调用它的代码,我会猜测它减慢的原因是你用不同的startPoint调用它(使用之前调用linearInterpolation的结果调用会导致这个)时间(帧?)会导致它减慢,因为每次调用插值的距离都会减少 .

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

相关问题