网格区域分为几个子区域。如何跟踪每个网格的成员资格?

时间:2015-11-05 18:09:55

标签: matlab geometry figure

我有一个正方形,可以划分成许多小单元格。每个电池的尺寸为0.1 * 0.1。绘制几条之字形线以将该正方形划分为子区域。之字形线仅跟随单元格边缘。

计算这些Z字形线交叉的顶点并将其存储在不同的矩阵中。在这种情况下,有6条Z字形线在中心相交,因此有6个矩阵存储线的协调。

计算每个单元格的中心以及四个顶点,并将其存储在一个大矩阵中。现在,如果我想跟踪每个单元属于哪个子区域,我应该使用什么循环算法?

说,我们将左上角区域标记为1,并顺时针计数。然后应标记左上区域中的单元格。右上区域中的单元格应标记为2,依此类推。

enter image description here

1 个答案:

答案 0 :(得分:0)

从给定的例子中,我们可以推断出这些区域是具有共同中心的“扇区”,并且径向线符合轮廓。

您可以从各自的数组中获取之字形线的起始边(在轮廓上)。它们分别将属于不同区域的两个细胞分开。通过计算角度并对它们进行排序,您可以逐渐对区域进行编号,并将它们与起始单元相关联。

现在“绘制”大矩阵中的锯齿线(每个单元格都有两个标志,指示右边或下面有边缘)。然后,从每个区域的单元格开始,使用seed filling算法。您需要修改基本算法以考虑边缘的存在。