带步长的两个数字之间的线性插值

Pou*_*nte 6 c# math unity-game-engine

我在找出如何通过定义的中间步骤数在两个数字之间进行线性插值时遇到了一些麻烦。

假设我想在 4 和 22 之间插入 8 个中间步骤,如下所示

很容易算出这里是x+2。但是,如果起始值为 5,最终值为 532,中间有 12 个步骤怎么办?(在我的特殊情况下,我需要起始值和结束值之间有 16 个步骤)

Pat*_*k87 5

如果您有两个栅栏柱,并且在它们之间放置了 k 个栅栏柱,则会创建 k + 1 个空间。例如:

|           |
post1       post2


      adding one posts creates two spaces
|     |     |
post1       post2
Run Code Online (Sandbox Code Playgroud)

如果您希望这些 k + 1 空间相等,则可以将总距离除以 k + 1 以获得相邻柱子之间的距离。

d = 22 - 4 = 18
k = 8
e = d / (k + 1) = 18 / 9 = 2
Run Code Online (Sandbox Code Playgroud)

在你的另一个案例中,答案是

d = 532 - 5 = 527
k = 12
e = d / (k + 1) = 527 / 13 ~ 40.5
Run Code Online (Sandbox Code Playgroud)