【发布时间】:2016-09-24 22:23:57
【问题描述】:
我使用 x-y 坐标(左下角、右上角)查找重叠矩形(区域)的算法工作正常。但是我将重叠的组合在一起的算法似乎不起作用。有人可以告诉我我做错了什么吗?
我的程序从这样的 .txt 文件中读取 x-y 坐标...
0 5 3 6 (0,5 is bottom left corner and 3,6 is top right corner)
2 7 8 9 (2,7 is bottom left corner and 8,9 is top right corner)
然后找出重叠矩形上的所有组并打印出组。
即矩形 0 与 2 重叠,2 与 1 重叠,1 与 5 重叠。这意味着矩形 0、2、1 和 5 都在 1 个组中,因此我可以打印出该组 #1。
即矩形 4 和 3 重叠,这意味着矩形 4 和 3 在组 #2 中。
即矩形 10 与 11 重叠,矩形 11 与矩形 12 重叠。这意味着矩形 10、11 和 12 都在第 3 组中,这样我就可以整齐地打印出来了。
【问题讨论】:
-
您的问题不清楚。究竟是什么问题?
-
问题是如果rect1和rect2重叠,rect2和rect5重叠,rect3和rect4重叠,你会存储[1,2,5]为一个组,而[3,4 ] 作为一个团队;如果在那之后您发现 4 和 5 重叠,您需要一种方法将这两个组连接在一起。否则,您需要先找到所有重叠部分,然后再创建组。
-
不要破坏你的问题。
-
deviantfan,请删除/删除此帖子。谢谢。
-
@Optimiz 我不能,你也不能。在这里获得帮助包括您留下所有东西,以便它也可以帮助其他人。
标签: c++ algorithm equivalence