把不规则多边形分割成矩形的问题

bdxxxx 2011-11-07 04:57:36
有一个由多个矩形重叠成的不规则图形,要重新分割成多个矩形不重叠组成的图形,求思路或者算法,自己写了很多次不是太麻烦就是太局限就是考虑不周到。。。

分割的结果类似下图

...全文
2566 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
那一眼风情 2013-06-21
  • 打赏
  • 举报
回复
楼主,我最近也在给导师做一个和你这非常相近的问题:一张图片上有很多不规则图形,然后把每个不规则图形分割成矩形,并使矩形数目尽量少。不知道你现在用的什么方法解决的?
赵4老师 2011-11-10
  • 打赏
  • 举报
回复
七擒关羽 2011-11-10
  • 打赏
  • 举报
回复
找交叉点,这些都是临界点的问题,线连接起来按照矩形法则就可以了
peterormike 2011-11-10
  • 打赏
  • 举报
回复
沿着凹点分割,递归处理。以9楼的图形为例:
http://hi.csdn.net/attachment/201111/10/2530173_1320907025RRCC.jpg
ryfdizuo 2011-11-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 mmns 的回复:]

哪有那么高深,我正在做,最近比较忙,我抽空闲写出来,每天写一点,可能需要几天 ,回头把源码给你.
[/Quote]
二维布尔运算是通用的做法,可能矩形有更加高效的做法。
bdxxxx 2011-11-09
  • 打赏
  • 举报
回复
似乎没人有兴趣啊
bdxxxx 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 mmns 的回复:]

哪有那么高深,我正在做,最近比较忙,我抽空闲写出来,每天写一点,可能需要几天 ,回头把源码给你.
[/Quote]

非常感谢,我看了下二维布尔运算,感觉和我说的意思有点差异,或者是我没看懂。。。
神农氏 2011-11-08
  • 打赏
  • 举报
回复
哪有那么高深,我正在做,最近比较忙,我抽空闲写出来,每天写一点,可能需要几天 ,回头把源码给你.
bdxxxx 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dizuo 的回复:]
需要建立特殊的数据结构:二分查找树(bsp),CSG。
http://www.complex-a5.ru/polyboolean/comp.html
[/Quote]

好的 我先看看
ryfdizuo 2011-11-07
  • 打赏
  • 举报
回复
需要建立特殊的数据结构:二分查找树(bsp),CSG
http://www.complex-a5.ru/polyboolean/comp.html
ryfdizuo 2011-11-07
  • 打赏
  • 举报
回复
这就是二维多边形的布尔运算中union功能,二维布尔运算已经很成熟了,
bdxxxx 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ouyh12345 的回复:]

递归,每次去掉一个矩形
[/Quote]

关键是去掉的这个矩形的边界不怎么好确定呃
bdxxxx 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mmns 的回复:]

应该还有限制,应该是求数量最少的矩形组合。
[/Quote]

相对于数量 我更关心分割的效率,我的一些方法不是限制太多就是太慢了。。。
bdxxxx 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mmns 的回复:]

这题有趣,我去写个程序去
[/Quote]

已知是重合的矩形列表
神农氏 2011-11-07
  • 打赏
  • 举报
回复
应该还有限制,应该是求数量最少的矩形组合。
神农氏 2011-11-07
  • 打赏
  • 举报
回复
问下lz,已知条件是重合前的矩形列表,还是重合后的那个复杂多变形。
神农氏 2011-11-07
  • 打赏
  • 举报
回复
这题有趣,我去写个程序去
ouyh12345 2011-11-07
  • 打赏
  • 举报
回复
递归,每次去掉一个矩形

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧