agjaisdjfo 2016-12-14 09:20 采纳率: 37.5%
浏览 1066
已采纳

如何从很多条线中找到里面的矩形

遇到一个问题:有很多线段,里面有若干个矩形以及其他一些形状(这里的其他形状比如:三角形、线段等)。现在怎么去把里面的矩形提取出来?

更详细点说:

 //有一个线段的集合 
std::vector<line> vecLines;
//这个集合中的元素组成了很多图案,有矩形、三角形、平行四边形、线段等
//请问怎么把其中的矩形找出来?
//比如放到一个矩形的容器里,每个矩形元素包含四条线段
struct juxing{
    line line1;
    line line2;
    line line3;
    line line4;
    }
//矩形放到容器里
std::vector<juxing> vecJuxing;

请问解决这个问题的思路是啥?如果数据量很大该怎么去判断?
谢谢!

  • 写回答

3条回答 默认 最新

  • threenewbee 2016-12-14 10:21
    关注

    线段长度恰好构成矩形的4个边还是说线段相交的区域构成矩形(线段本身长度超过矩形)
    前者可以通过定点遍历搜索,后者可以先找到一条线,然后找斜率相等或者相垂直的线再判断

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作