我有一个已知尺寸的矩形(例如400 x 300)和内部任意数量的较小矩形(内部矩形具有相同的宽度但较小的高度或相同的高度但较小的宽度)并且我有每个内部矩形的角的坐标。我需要计算内部矩形的区域覆盖百分比(图像上的红色)。有谁知道怎么做? (此刻我首先将所有水平粘合并计算其中的面积,然后从上到下进行计算,仅计算垂直部分到第一个水平,然后跳过那个并在下一个水平线之间添加区域,它可以工作,但它很慢,是否有任何可能的改进)
这有什么算法吗?
答案 0 :(得分:1)
Preparata和Shamos的经典着作 Computational Geometry:An Introduction 包含一个矩形章节,在一般情况下涵盖了这一点。
您的问题似乎更简单:只需将所有矩形分解为非重叠的矩形。蛮力应该做得很好。我不知道你为什么说它很慢。