如何在N个较小的矩形上拆分一个大矩形看起来是随机的?

时间:2014-05-15 01:15:31

标签: python c++ algorithm boost

如何在N个较小的矩形上拆分一个大矩形看起来是随机的? 我需要为不同的n值生成几个除法。 在c ++或者python中有一些用于此的库吗?

1 个答案:

答案 0 :(得分:3)

通过绘制水平或垂直线,可以将一个矩形划分为两个矩形。除去其中一个矩形,结果是三个矩形。继续,直到您有 N 矩形。观察一些限制以改善结果

  • 如果高度为,则不要将矩形与水平线分开 低于某个门槛
  • 如果宽度低于此值,请勿将矩形与垂直线分开 一些门槛
  • 除以四分之一,三分之一或一半,即避免90/10分裂
  • 保留按区域排序的矩形列表,并始终除以 面积最大的矩形