Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 一种从直线段中求多段线的算法_Algorithm_Graph_Computational Geometry - Fatal编程技术网

Algorithm 一种从直线段中求多段线的算法

Algorithm 一种从直线段中求多段线的算法,algorithm,graph,computational-geometry,Algorithm,Graph,Computational Geometry,问题:假设您收到一个包含二维线段的大小为n的列表。每条线段由2个点(X1,Y1)和(X2,Y2)组成。提供将这些线分组为连续多段线(链)的算法和结构。 注:连续多段线仅表示实体链。设想一个包含4条线的正方形,它们是链接在一起的,以便在该正方形周围移动 我的初始解决方案:创建顶点类和线类。每条线都有指向起点和终点的数据成员。然后,该算法遍历每个顶点,以确定是否有任何线段具有共同的顶点,然后对它们进行分组。 我不确定这样做是否有效对线段列表进行一次遍历,反向引用每个顶点以指向每个以其为端点的线段。现

问题:假设您收到一个包含二维线段的大小为n的列表。每条线段由2个点(X1,Y1)和(X2,Y2)组成。提供将这些线分组为连续多段线(链)的算法和结构。 注:连续多段线仅表示实体链。设想一个包含4条线的正方形,它们是链接在一起的,以便在该正方形周围移动

我的初始解决方案:创建顶点类和线类。每条线都有指向起点和终点的数据成员。然后,该算法遍历每个顶点,以确定是否有任何线段具有共同的顶点,然后对它们进行分组。 我不确定这样做是否有效

对线段列表进行一次遍历,反向引用每个顶点以指向每个以其为端点的线段。现在有了一个二部图(顶点和线段),可以有效地应用已知的算法来查找图中节点的闭包。每一个闭包都是一个折线。

发布你的“我的初始解决方案”。在C++中,使用Boost多边形库。