答案 0 :(得分:0)
让点为[P1, P2, P3, P4]
并假设它们通过[Q1, Q2, Q3, Q4]
形式的仿射变换转换为x -> Mx + b
,其中M
是2x2
矩阵和b
是一个常量向量。我们的目的是找到M
并将转化应用到P
以获取Q
。
允许v1 = P2 - P1
,v2 = P3 - P1
,w1 = Q2 - Q1
,w2 = Q3 - Q1
。然后,M
是将[v1, v2]
应用于[w1, w2]
的线性转换。查找M
的一种方法是计算矩阵乘积
M = S * T
其中S
是2x2
矩阵,其列为向量w1
,w2
和T
是逆列为v1
和v2
的矩阵。
关于位移矢量b
,可以将其计算为
b = Q1 - M * P1
这里的澄清是,只有当第四点与转换一致时,所有这一切都是正确的,即,如果
M * P4 + b = Q4
否则Q
- 四边形不是P
- 四边形的仿射变换。
答案 1 :(得分:0)
您可以找到该点与第一个四边形相对应的一般重心坐标,然后将重心坐标应用于第二个四边形,以找到"等效的"点。
有许多不同的方法来计算针对四边形(或针对n边多边形)的点的一般重心坐标。其中之一是Wachpress坐标,仅在多边形为凸面时才有效。对于具有顶点V0,V1,... Vn:
的凸多边形我们可以计算多边形内P点的Wachpress坐标为
其中A(a,b,c)是三角形abc的有符号区域。
然后,我们可以计算P的重心坐标
对于具有顶点V * i(或在您的情况下为四边形)的新多边形的等效点P *可以计算为
对于i = 0~n,P * = \ summation(Wi * V * i)。