赞
踩
直接看图
若已知图中两点A(x0,y0),B(x1,y1),和该直线上任意一点P的横坐标x,求P该直线上的一点的纵坐标。
很容易可以得到,根据直线的定理。
(
y
−
y
0
)
/
(
x
−
x
0
)
=
(
y
1
−
y
0
)
/
(
x
1
−
x
0
)
(y-y0)/(x-x0)=(y1-y0)/(x1-x0)
(y−y0)/(x−x0)=(y1−y0)/(x1−x0);
得:
y
=
(
x
1
−
x
)
/
(
x
1
−
x
0
)
y
0
+
(
x
−
x
0
)
/
(
x
1
−
x
0
)
y
1
y=(x1-x)/(x1-x0)y0+(x-x0)/(x1-x0)y1
y=(x1−x)/(x1−x0)y0+(x−x0)/(x1−x0)y1;
x1,x0,y1,y0为定值,可将上式变换为:
y
(
x
1
−
x
0
)
=
(
x
1
−
x
)
y
0
+
(
x
−
x
0
)
y
1
y(x1-x0)=(x1-x)y0+(x-x0)y1
y(x1−x0)=(x1−x)y0+(x−x0)y1
可以看出P点的值受A,B两点影响,离的越近,影响越大。在公式中表现为离得越近乘的权值越大。
理解了线性差值,双线性差值就很容易理解了。
双线性差值可以视作线性差值的升维,也就是说在两个方向分别作线性差值。
以上图为例
P的值可视作P1与P2的线性差值,而P1又可视作A,B的线性差值,P2可视作C,D的线性差值。
P
1
(
x
1
−
x
0
)
=
A
(
x
1
−
x
)
+
B
(
x
−
x
0
)
P1(x1-x0)=A(x1-x)+B(x-x0)
P1(x1−x0)=A(x1−x)+B(x−x0);
P
2
(
x
1
−
x
0
)
=
C
(
x
1
−
x
)
+
D
(
x
−
x
0
)
P2(x1-x0)=C(x1-x)+D(x-x0)
P2(x1−x0)=C(x1−x)+D(x−x0);
若设
a
=
(
x
−
x
0
)
/
(
x
1
−
x
0
)
a=(x-x0)/(x1-x0)
a=(x−x0)/(x1−x0);
b
=
(
y
−
y
0
)
/
(
y
1
−
y
0
)
b=(y-y0)/(y1-y0)
b=(y−y0)/(y1−y0);
则上式可变为:
P
1
=
A
(
1
−
a
)
+
B
∗
a
P1=A(1-a)+B*a
P1=A(1−a)+B∗a;
P
2
=
C
(
1
−
a
)
+
D
∗
a
P2=C(1-a)+D*a
P2=C(1−a)+D∗a;
P可视作P1与P2的线性差值
则:
P
=
P
1
(
1
−
b
)
+
P
2
∗
b
P=P1(1-b)+P2*b
P=P1(1−b)+P2∗b
将P1,P2带入可得
P
=
A
(
1
−
a
)
(
1
−
b
)
+
B
∗
a
(
1
−
b
)
+
C
(
1
−
a
)
b
+
D
∗
a
∗
b
P=A(1-a)(1-b)+B*a(1-b)+C(1-a)b+D*a*b
P=A(1−a)(1−b)+B∗a(1−b)+C(1−a)b+D∗a∗b
同样符合距离越近权重越大的原则
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。