Wpf 什么是;“线性插值”;什么意思?

Wpf 什么是;“线性插值”;什么意思?,wpf,Wpf,我经常在WPF动画的上下文中听到“线性插值”一词。“线性插值”到底意味着什么?你能给我一个使用“线性插值”的例子吗?线性表示直线(直线) 插值是在另外两个点内找到一个点的行为。这与外推法形成对比,外推法是在直线末端之外找到一个点 所以,线性插值就是用一条直线在其他两条直线之间找到一个点 例如: *(5,10) / / / / *(0,0) (1000,2000) (-1e27,-2e27) 可以使用具有线性插值的两个端点沿直线获取点: (1,2) (2,4) (

我经常在WPF动画的上下文中听到“线性插值”一词。“线性插值”到底意味着什么?你能给我一个使用“线性插值”的例子吗?

线性表示直线(直线)

插值是在另外两个点内找到一个点的行为。这与外推法形成对比,外推法是在直线末端之外找到一个点

所以,线性插值就是用一条直线在其他两条直线之间找到一个点

例如:

     *(5,10)
    /
   /
  /
 /
*(0,0)
(1000,2000)
(-1e27,-2e27)
可以使用具有线性插值的两个端点沿直线获取点:

(1,2)
(2,4)
(3,6)
(4,8)
以及线性外推,以获得(例如):


在动画中,假设您有一个弹跳球,它在
10秒内从
(60,22)
(x,y)
位置移动到
(198,12)

使用每秒10帧的动画速率,您可以随时使用以下工具计算其位置:

x0 = 60, y0 = 22
x1 = 198, y1 = 12
frames = 100
for t = 0 to frames:
    x = (x1 - x0) * (t / frames) + x0
    y = (y1 - y0) * (t / frames) + y0
底部的这两个公式是线性插值的示例。在50%时(其中
t==50
):


(129,17)
是起始位置和结束位置之间的中点。

例如,当您希望故事板以固定速度将元素从一个位置移动到另一个位置时,您可以在起始位置和结束位置之间使用线性插值

至于它意味着什么:它也可能意味着恒定速率的线性,因此无论你在哪里,插值都不会改变速率。我喜欢这个解释,简单易懂。布拉沃,这是我第一次理解线性插值,很好的回答:)如果你有一个非线性插值,你可以使元素看起来开始快,当它接近它的目标时变慢
x = (198 - 60) * (50 / 100) + 60
  =     138    *    0.5     + 60
  =            69           + 60
  =                  129

y = (12 - 22) * (50 / 100) + 22
  =    -10    *    0.5     + 22
  =           -5           + 22
  =                   17