线性插值原理

来源:互联网 发布:男士服装搭配软件 编辑:程序博客网 时间:2024/05/22 08:10

什么是线性插值原理 什么是双线性插值?

简单比方 
原来的数值序列:0,10,20,30,40 
线性插值一次为:0,5,10,15,20,25,30,35,40 
即认为其变化(增减)是线性的,可以在坐标图上画出一条直线 

 

为了方便理解,先考虑一维情况下的线性插值 
对于一个数列c,我们假设c[a]到c[a+1]之间是线性变化的 
那么对于浮点数x(a<=x<a+1),c[x]=c[a+1]*(x-a)+c[a]*(1+a-x); 

把这种插值方式扩展到二维情况 
对于一个二维数组c,我们假设对于任意一个浮点数i,c(a,i)到c(a+1,i)之间是线性变化的,c(i,b)到c(i,b+1)之间也是线性变化的(a,b都是整数) 
那么对于浮点数的坐标(x,y)满足(a<=x<a+1,b<=y<b+1),我们可以先分别求出c(x,b)和c(x,b+1): 
c[x,b] = c[a+1,b]*(x-a)+c[a,b]*(1+a-x); 
c[x,b+1] = c[a+1][b+1]*(x-a)+c[a][b+1]*(1+a-x); 
好,现在已经知道c(x,b)和c(x,b+1)了,而根据假设c(x,b)到c(x,b+1)也是线性变化的,所以: 
c[x,y] = c[x,b+1]*(y-b)+c[x,b]*(1+b-y) 

原创粉丝点击