如何最佳地“匹配”一个多边形顶点数组到另一个?

3
我有一个由坐标组成的数组,用于制作一个二维多边形。这些坐标按顺序排列,确定了多边形的绘制方式。
我有另一个类似的坐标数组,用于制作另一个比第一个多顶点的二维多边形。
假设这两个多边形在二维空间中重叠在一起。
如何找出哪些来自小形状的顶点与大形状“匹配”,同时保持多边形的顺序一致?匹配基于一个顶点从一个多边形到下一个多边形的距离有多近。
0____________1
|------------|
|------------|
|------------|
3____________2

------0---------
-----/-\--------
---1/---\____6--
---|----7----|--
---|------4__|--
---|-------\-5--
---2________3---

EX solution:
0 : Null
1 : 0
2 : 3
3 : 2
4 : Null
5 : Null
6 : 1
7 : Null

我已经苦恼了一个星期,需要一些帮助。谢谢。


1
在我看来,这个问题似乎没有很好地定义,因为“匹配”在不同情况下可能意味着不同的事情(尽管在您给出的示例中,1-2-3-6最像您第一个形状的0-1-2-3)。也许如果您指定匹配结果将用于什么,会有所帮助。 - Stochastically
匹配用于确定一个多边形将如何从一个形状变形为另一个形状,以及哪些顶点将被移动以形成新的形状。匹配应该由距离来确定。不幸的是,您不能只将它们与最接近的距离进行匹配,否则可能会破坏排序。 - Vadoff
我不确定这是否有帮助,但您的问题似乎类似于手势/手写识别http://www.gamedev.net/page/resources/_/technical/game-programming/recognition-of-handwritten-gestures-r2039。话虽如此,将第一个多边形的每个点与第二个最接近的点匹配只会使点2存在歧义。 - Ulrich Eckhardt
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接