我有两个集合,每个集合都是一对数字的列表。
Set1 =[(x1, y1), (x2, y2), ..., (xN, yN)]
Set2 =[(a1, b1), (a2, b2), ..., (aN, bN)]
如果在XY平面上绘制,Set1和Set2具有相同的基本形状,但是Set2的数据点是Set1的旋转/平移/缩放/噪声/偏斜版本。每个集合中的对顺序是随机的。是否有一种高效的方法确定Set1中的哪些点对应于Set2中的点?
我有两个集合,每个集合都是一对数字的列表。
Set1 =[(x1, y1), (x2, y2), ..., (xN, yN)]
Set2 =[(a1, b1), (a2, b2), ..., (aN, bN)]
如果在XY平面上绘制,Set1和Set2具有相同的基本形状,但是Set2的数据点是Set1的旋转/平移/缩放/噪声/偏斜版本。每个集合中的对顺序是随机的。是否有一种高效的方法确定Set1中的哪些点对应于Set2中的点?
是的,只要涉及旋转、缩放和平移,这是可以做到的(除了“噪声”和“倾斜”部分,我不确定)。
一种方法:
(*注意,反射和/或对称可能会导致旋转部分出现问题。)