计算细胞的重叠

时间:2013-02-21 19:23:39

标签: overlap

我正在尝试随机排列不同大小的细胞,然后计算不同细胞之间的重叠区域。因此,重叠可以是以下任何一种,也可能是其他一些。我正在对不同的单元格进行一对一的比较以检查重叠并计算它。

enter image description here

所以我必须检测重叠并以绿色计算面积。假设我将单元格命名为单元格1和单元格2,左侧的值为x1,右侧的值为x2。底侧为y1,顶侧为y2。所以这就是我现在的代码,但似乎并没有覆盖它的所有部分。 将黑色单元格视为cell1,将红色单元格视为cell2,

if (cell1.x2 > cell2.x1)
{
    if(cell1.y2 > 
     if ((cell1.y2 > cell2.y1) && (cell2.y1 >= cell1.y1))
    {
    if(cell1.y2 > cell2.y2)
    {
         if (cell1.x2 > cell2.x2)
        {   
            Area = cell2.h * cell2.w;
            continue;
        }
        Area = cell2.h * cell2.x1 - cell1.x2);
        continue;
        }

    Area = cell1.x2 - cell1.x1) * cell1.y2 - cell2.y1);
    continue;
    }

我认为我缺少一些条件,但这看起来像很多if语句。什么是计算面积的理想方法?

0 个答案:

没有答案