如何通过矩形内的矩形计算悬停区域?

时间:2014-10-11 02:22:40

标签: algorithm graphics language-agnostic

我有一个已知尺寸的矩形(例如400 x 300)和内部任意数量的较小矩形(内部矩形具有相同的宽度但较小的高度或相同的高度但较小的宽度)并且我有每个内部矩形的角的坐标。我需要计算内部矩形的区域覆盖百分比(图像上的红色)。有谁知道怎么做? (此刻我首先将所有水平粘合并计算其中的面积,然后从上到下进行计算,仅计算垂直部分到第一个水平,然后跳过那个并在下一个水平线之间添加区域,它可以工作,但它很慢,是否有任何可能的改进)

这有什么算法吗?enter image description here

1 个答案:

答案 0 :(得分:1)

Preparata和Shamos的经典着作 Computational Geometry:An Introduction 包含一个矩形章节,在一般情况下涵盖了这一点。

您的问题似乎更简单:只需将所有矩形分解为非重叠的矩形。蛮力应该做得很好。我不知道你为什么说它很慢。