我正在解析一些数据,作为描述几个封闭的任意形状/多边形的线段数组给出。这些形状可以是凹形的。这是我正在查看的简化示例:
但是,我提供的数据具有任意顺序的段。根据示例,我的数据将类似于{V,E,D,X,U,A,Z,C,B,W,Y}
. 因此,绘制线段会显示正确的形状,但对形状进行任何操作都不会变得更容易。
我正在尝试对上面的数组进行排序,以便每个闭合形状的段按照连接顺序排列,并且每个形状的段都组合在一起。
所以
{V,E,D,X,U,A,Z,C,B,W,Y}
会成为
[ {A,B,C,D,E} , {X,Y,Z} , {U,V,W} ]
每组线段的顺序对我来说并不重要,只是各个线段是按顺序排列的。我也不关心每个组的特定起始部分。
以便
[ {Y,Z,X} , {C,D,E,A,B} , {W,U,V} ]
是同样有效的结果。
我没有遍历几何的经验,我的初步尝试和粗略的在线搜索并没有产生任何快速的解决方案。我研究了凹形外壳,但鉴于数据已经知道点之间的连接,这似乎有点过头了。