在四边形中找到等价点
Finding an eqauivalent point in a quadrilateral
我正在尝试找到从一个四边形到另一个四边形的粗略等效点。
quadrilateral equivalent point
找到这个点有什么好的方法吗?
任何正确方向的信息都会很棒。
谢谢
设点为 [P1, P2, P3, P4]
并假设它们通过 x -> Mx + b
形式的仿射变换转换为 [Q1, Q2, Q3, Q4]
,其中 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
-四边形的仿射变换。
你可以找到第一个四边形的点的一般重心坐标,然后应用第二个四边形的重心坐标来找到 "equivalent" 点。
有许多不同的方法可以计算一个点相对于四边形(或相对于 n 边多边形)的一般重心坐标。其中之一是 Wachpress 坐标,它仅在多边形为凸面时有效。对于顶点为 V0、V1、...Vn 的凸多边形:
我们可以将多边形内点 P 的 Wachpress 坐标计算为
其中 A(a,b,c) 是三角形 abc 的有符号面积。
然后,我们可以计算出P的重心坐标为
相对于具有顶点 V*i(或您的情况下的四边形)的新多边形的等效点 P* 可以计算为
P* = \summation(Wi * V*i) for i=0~n.
我正在尝试找到从一个四边形到另一个四边形的粗略等效点。
quadrilateral equivalent point
找到这个点有什么好的方法吗?
任何正确方向的信息都会很棒。
谢谢
设点为 [P1, P2, P3, P4]
并假设它们通过 x -> Mx + b
形式的仿射变换转换为 [Q1, Q2, Q3, Q4]
,其中 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
-四边形的仿射变换。
你可以找到第一个四边形的点的一般重心坐标,然后应用第二个四边形的重心坐标来找到 "equivalent" 点。
有许多不同的方法可以计算一个点相对于四边形(或相对于 n 边多边形)的一般重心坐标。其中之一是 Wachpress 坐标,它仅在多边形为凸面时有效。对于顶点为 V0、V1、...Vn 的凸多边形:
我们可以将多边形内点 P 的 Wachpress 坐标计算为
其中 A(a,b,c) 是三角形 abc 的有符号面积。
然后,我们可以计算出P的重心坐标为
相对于具有顶点 V*i(或您的情况下的四边形)的新多边形的等效点 P* 可以计算为
P* = \summation(Wi * V*i) for i=0~n.