c - 将矩形划分为较小矩形的算法?

标签 c algorithm

将矩形(c struct 和 4 int s)划分为随机数量的较小矩形(返回 struct s 的列表)的算法是什么?如果可以通过参数控制较小矩形的最大和最小尺寸,那就更好了。

例如

+----------+            +-------+--+
|          |            |       |  |
|          |            |       |  |
|          |    -->     |---+---+--| (good)
|          |            |   |      |
|          |            +---+      |
|          |            |   |      |
+----------+            +---+------+

较小的形状应该是 4 边形,下面是不好的:

+----------+            +-------+--+
|          |            |       |  |
|          |            |       |  |
|          |    -->     |---+---+--| (not good)
|          |            |          |
|          |            +---+      |
|          |            |   |      |
+----------+            +---+------+

谢谢!

附录:(白痴讨论的矩形)

  +----+--------+
  |    |        |
  |    +---+----+
  |    |   |    | (rectangle-chase)
  +----+---+    |
  |        |    |
  +--------+----+

最佳答案

将矩形一分为二。递归。

关于c - 将矩形划分为较小矩形的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3200307/

相关文章:

c - 嵌入式系统 : static or dynamic linking

c - 没有从开关盒中出来

algorithm - 区间内的倍数

algorithm - 连接线段组的计数

r - 多元 t 混合模型的 EM 算法

将字节的位转换为单个位并返回

谁能解释一下这个递归代码到底是如何工作的,以及程序堆栈或内存中一步一步发生了什么?

c++ - 文件作用域和全局作用域的区别

algorithm - 寻找最可靠的路径——Dijkstra算法

javascript - 是否有计算或估计二进制整数位数的公式?