如何从一组点中找到所有不同的闭合路径

时间:2013-11-04 08:03:14

标签: actionscript-3 flex math flex4

是否有可能找到所有可能的交叉路径。我在数组中有一组点。我需要处理数组中的点并绘制封闭区域。

这是建筑设计项目。我知道所有的点(在所附图像中显示为绿点)x和y值。在这里,我需要分别了解每个房间,如图2所示(房间标记为1-11)。我怎样才能找到房间的边界点。

这些点可能会有所不同,这只是一个样本。

http://demo.enfintech.net/BuildingImage/1.jpg

http://demo.enfintech.net/BuildingImage/2.jpg

1 个答案:

答案 0 :(得分:0)

我的建议是,由于您的所有连接都是垂直或水平连接,您可以执行以下操作:

  1. 在两个方向上延伸所有连接线,以便最终得到一个小单元矩阵。
  2. 最初,您的房间数量应为这些小单元格的数量。相应地给他们编号
  3. 现在对于每个单元格,检查是否存在与其邻居的边界(边界线是实际连接线还是仅是外推)。
  4. 如果只是外推,则将这些单元格连接到单个单元格中。
  5. 对所有细胞重复此操作,直到所有外推的细胞系消失。