确定形状是否已关闭

时间:2014-05-27 14:17:51

标签: algorithm shape

enter image description here

你好,

我正试图找到一种方法(一种算法)来确定一个形状是否闭合,以及最大的封闭形状是什么。 在上面的例子中,我想得到左边2个形状的总面(不仅仅是一个),把它排除在底部的起始图。

我虽然经历了每个点(图中的每一行由2个点确定;)),但是当涉及到“我已经遇到的点不会两次”时我遇到了麻烦。

所以,我对所有想法持开放态度......

编辑:我已经提出了一个更完整的图像。

我致力于经典的x,y计划。每个形状由连接的点组成。右上角的小形状在这里表明形状可以链接或不链接。

点由两个x和y坐标组成。 所有点都保存在一个表中,我们称之为Dots map []。我想找到一种方法来浏览map []并获得所有封闭的形状。

希望它更清楚......

1 个答案:

答案 0 :(得分:1)

我认为首先你应该修剪松散的末端,所以如果一条线仅在一端连接,则将其移除

然后选择具有最低y或x坐标的点,并开始迭代具有最宽角度的边。鉴于问题的陈述,这有点难以解释。

无论如何,如果你之后只有一个数字,你应该找到最大的封闭形状。如果您有多个不相交的数字,则需要多次运行算法。

要获得进一步的帮助,你应该在一个清晰的陈述中拼写问题,输入是什么,有什么限制。