找到用彩色矩形覆盖平面的最佳方法的算法

Ran*_*Ran 8 algorithm

假设我打开MS Paint,绘制一堆实心矩形,将其保存为png,并将其提供给您:

替代文字

现在你必须找出我是如何绘制这些矩形的.对于此图像,您的算法将生成如下指令:

  1. 绘制绿色矩形(填满整个空间)
  2. 画出粉红色的矩形
  3. 绘制黄色矩形
  4. 绘制蓝色矩形

或者换句话说,给定一个图像,我想使用尽可能少的矩形命令来生成它.矩形命令根据其位置,长度,宽度和颜色绘制实心矩形.我该如何处理这个问题?

该算法应足够稳健,不仅可以处理通过放置矩形绘制的图像,还可以处理像照片一样的复杂图像.

Rom*_*eau 1

您需要找到两个图形的交集,在它们相交的任何一点找到哪个是可见的。对于这一点,您将知道哪一个位于最上面。