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