设为首页收藏本站

中国膜结构网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

膜结构车棚
膜结构车棚膜结构资质国产膜材 膜结构网中国膜结构协会
查看: 169|回复: 0

去除重叠的闭合区域

[复制链接]
  • TA的每日心情
    开心
    2021-6-19 14:40
  • 签到天数: 1539 天

    [LV.Master]伴坛终老

    发表于 2021-2-19 00:21 | 显示全部楼层 |阅读模式
    在图形开发过程中,需要求最小闭合区域,当获得了所有的闭合区域后,有一部分区域是重叠的,现设计算法将重叠的区域删除。(此算法类似于 删除无序数组中重复的元素)

    一、去除重叠的图形
    1. //去除重叠的图形
    2. std::vector> removeOverlapArea(vector> ClosedArea)
    3. {
    4. //> 表示一个闭合区域,有多条线段围成
    5. //vector> 表示闭合区域的集合
    6.     unsigned int nSize = ClosedArea.size();
    7.     if (nSize < 2) //只有一個閉合區域
    8.     {
    9.         return ClosedArea;
    10.     }

    11. //去除重叠的区域
    12. size_t n = ClosedArea.size();
    13. size_t j = 0;

    14. for (size_t i=0; i < n; i++)
    15. {
    16.     for(size_t j=0;j<i;j++)
    17.     {
    18.         //if(arr[i]arr[j])
    19.         if(IsOverlap(ClosedArea[i],ClosedArea[j]))
    20.         {
    21.             n--;
    22.             for (size_t k=i; k<n; k++)
    23.             {
    24.                 ClosedArea[k]=ClosedArea[k+1];
    25.             }
    26.             i--;   
    27.         }
    28.     }
    29. }

    30. vector<vector<CLine>>::iterator it1,it2;

    31. it1 = ClosedArea.begin() + n;
    32. it2 = ClosedArea.end();

    33. ClosedArea.erase(it1,it2);

    34. return ClosedArea;

    35. }
    36. 二、判断是否是重合的图形

    37. //判断是否是重合的图形
    38. bool IsOverlap(vector AreaLeft,vector AreaRight)
    39. {
    40.     for (unsigned int i = 0;i < AreaLeft.size(); i++)
    41.     {
    42.         CLine m_lineLeft = AreaLeft[i];
    43.         bool bEqualLine = false;
    44.         for (unsigned int j = 0;j < AreaRight.size();j++)
    45.         {
    46.             if (m_lineLeft.isEqual(AreaRight[j]))
    47.             {
    48.                 bEqualLine = true;
    49.             }
    50.         }
    51.         if (bEqualLine  false)
    52.         {
    53.             return false; //只要有一条线段不相同,必然不重合
    54.         }
    55.     }
    56.     return true;
    57. }
    复制代码
    回复


    http://www.mjgw.org/ 专业从事膜结构设计、制作加工、施工安装的膜结构工程服务,能够为客户提供专业的膜结构整体解决方案。做中国最好的膜结构综合服务平台。欢迎大家联系电话:198-7840-1958,QQ:463017170.
    相关关键词:膜结构车棚,膜结构车棚覆盖,膜结构车棚公司,膜结构车棚多少钱,膜结构车棚厂家,膜结构车棚价格,社区膜结构车棚,膜结构车棚膜布厂家 ,膜结构车棚哪家好,膜结构车棚多少钱一米,膜结构车棚报价,膜结构车棚哪里有,膜结构车棚定制,膜结构车棚安装,膜结构车棚设计,膜结构车棚电话,膜结构车棚加工,膜结构车棚膜布价格,膜结构车棚批发,膜结构车棚制造商,膜结构车棚生产厂家,膜结构车棚设计,膜结构车棚施工,膜结构车棚多少钱一平米,膜结构车棚订制,张拉膜车棚,张拉膜车棚覆盖,张拉膜车棚公司,张拉膜车棚多少钱,张拉膜车棚厂家,张拉膜车棚价格,社区张拉膜车棚,张拉膜车棚膜布厂家 ,张拉膜车棚哪家好,张拉膜车棚多少钱一米,张拉膜车棚报价,张拉膜车棚哪里有,张拉膜车棚定制,张拉膜车棚安装,张拉膜车棚设计,张拉膜车棚电话,张拉膜车棚加工,张拉膜车棚膜布价格,张拉膜车棚批发,张拉膜车棚制造商,张拉膜车棚生产厂家,张拉膜车棚设计,张拉膜车棚施工,张拉膜车棚多少钱一平米,张拉膜车棚订制,常用膜材品牌:德国杜肯、法国法拉利、德国海德斯、德国米乐、日本平岗、韩国秀博、比利时希运、美国赫虏伯、中国科宝、上海慧遥。

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    推荐膜材品牌上一条 /6 下一条

    进口膜材 国产膜材 pvdf膜材ptfe膜材ETFE膜材
    最好的膜结构公司 一级膜结构资质 膜结构一级资质
    膜结构设计-膜结构十大品牌-etfe设计-充气膜结构
    诺科膜结构
    遨都膜结构设计
    中国膜结构网
    中国空间膜结构

    QQ|申请友链|手机版|中国膜结构论坛