如何销毁“对角”点对齐?

时间:2018-07-30 10:19:00

标签: c++ opencv design-patterns computational-geometry

我从二维平面中的一组n个点开始(这里n = 6):

angularfire2

通过将k = 6的所有x坐标相加,我得到了一组新的6点:

{(1, 1), (2, 4), (3, 6), (4, 3), (5, 5), (6, 2)}

我对新的点集进行相同的操作并获得:

{(7, 1), (8, 2), (9, 6), (10, 3), (11, 5), (12, 2)}

我可以继续直到m≤10(此处m = 3)。在image中,您可以看到“对角”点对齐{(13, 1), (14, 2), (15, 6), (16, 3), (17, 5), (18, 2)}

的结构

我只希望在每个“对角”点对齐处只有两个点。
只能平行于Y轴运动。例如,点{(12, 2), (10, 3), (8, 4)}, {(18, 2), (16, 3), (14, 4)}可以像这样(1, 1)从0移到6。

如何破坏“对角”点对齐以改善点的排列?

我想用C ++实现。任何帮助将不胜感激。

0 个答案:

没有答案