簡體   English   中英

線性插值更線性

[英]Linear Interpolation More Linearly

我很好奇是否有辦法實現這個功能:

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

更線性,因為現在當起點接近終點時它會變慢,我只是希望它一直保持相同的速度,而不會減速/加速。 如果我需要實現另一個變量或可以完成的事情。 另一個采用相同變量並輸出下一個值的函數也是可以接受的。

對我來說,這看起來像是 lerp 的正確實現。 在沒有看到您調用它的代碼的情況下,我會猜測它變慢的原因是您使用不同的 startPoint 調用它(使用調用 linearInterpolation 的先前結果調用會導致此)每個時間(幀?)這會導致它變慢,因為每次調用它時插入的距離都會減少。

確保插值期間每次調用的 startPoint 和 endPoint 變量都相同,並且只有時間變量在增加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM