gpt4 book ai didi

java - 将一个正方形或长方形分解成大量随机大小的正方形或长方形

转载 作者:搜寻专家 更新时间:2023-11-01 02:15:04 25 4
gpt4 key购买 nike

我试图将一个正方形或长方形分解成大量随机大小的正方形或长方形,这样它们就不会重叠。

好的,当然其他人也问过这个,我发现最好的话题是 How to fill a square with smaller squares/rectangles?

解决方案似乎是通过装箱或某种 TreeMap 。

但我正在寻找的是 Java、Javacript、actionscript 甚至 C 中的实际算法。

最佳答案

解决方案是尝试“分而治之”技术。在迭代 1 中,您有一个矩形。将矩形分成两个较小的矩形。下面是一种方法。假设矩形是 100x50。在 0-100(矩形的长度)之间选择一个随机数。假设随机数是 20。然后您可以将矩形分成两个较小的矩形,尺寸分别为 20x50 和 80x50。对于这 2 个新矩形,递归地应用相同的过程。(因此在迭代 2 中,您将有 4 个矩形)。这样做 n 次,你将有 2^n 个矩形。此外,在每次迭代中,您可以随机选择是否应按每个矩形的长度(垂直)或宽度(水平)进行喷射。

希望对您有所帮助!

关于java - 将一个正方形或长方形分解成大量随机大小的正方形或长方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7754307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com