我正在写一个双线性插值方法。
这个方法可以通过求解方程A * x = b来抽象,A是下面的4x4矩阵:
1 x1 y1 x1*y1
1 x2 y2 x2*y2
1 x3 y3 x3*y3
1 x4 y4 x4*y4
这里,(x1,y1),(x2,y2),(x3,y3)和(x4,y4)是包含dst插值点的四个点。
我的问题是当det(A)= 0(然后x!= A-1 * b)时,四边形是什么样的?
答案 0 :(得分:1)
当行或列中的一个可以表示为其他行的线性组合时,行列式变为0。使用列,这个等式必须适用于四个点中的每一个的一些常数a,b,c:
a*1 + b*x + c*y + xy = 0
这是方程a hyperbola,其渐近线与轴平行,因此当且仅当四个点落在同一个双曲线上时,行列式为零。
例如,如果选择矩形(-2,-1),( - 1, - 2),(1,2),(2,1),行列式将为零,因为这些点落在双曲线上由t→(t,2 / t)定义。
另一种看待它的方法:你可以自由选择任意3分。这三点定义了一个独特的双曲线。当且仅当您从该双曲线中选择第四个点时,行列式为0。
答案 1 :(得分:1)
Joni上面的答案是完全正确的,但这是你可能想要的物理解释:
将正方形描绘为由以下四点定义的表现良好的四边形:1 =(0,0),2 =(1,0),3 =(1,1)和4 =(0,1 )。
如果你通过锚定点1和2开始倾斜它,但是将点3向右拖动,使得两侧保持相同的长度,但是x轴和点2和3之间的线段之间的角度从90度变为180度并且x轴与点1和4之间的线段之间的角度从90度变为0,当角度增加时行列式将接近零。当你得到点1 =(0,0),2 =(1,0),3 =(2,0)和4 =(1,0)时,四边形将折叠成一个线段,行列式将是零。
您可以使用矩阵运行此实验,看看我是否正确。