0

我喜欢数学,但我一直在努力解决这个问题。

我正在尝试用正方形填充 HTML5 画布中的非正方形空间。我知道容器的宽度(W)和高度(H)。而且我知道要使用的方格数(n)

但是正方形的大小是我们试图弄清楚的。以及如何绘制它。正方形应该足够大以覆盖所有空间,但不一定是 sqrt(n) / sqrt(n)。它应该尽可能多地填充空间。

关于在哪里寻找解决这个问题的任何想法?

谢谢!

4

2 回答 2

2

第一个估计是用面积除以W*H正方形的数量n。这会给你每个正方形的面积,取那个面积的平方根就会给你它的长度。

但这仅适用于矩形可以被这些正方形完全填充的情况。如果您可能需要超出矩形的重叠部分,那么您可能需要调整长度或正方形的数量。所以假设你想用不超过正方形的矩形覆盖你的矩形(即填充一个稍大的矩形),n在这些情况下选择尽可能小的正方形。进行上述计算。假设这告诉您需要 3.75 行和 6.23 列的正方形。然后你知道更多的行或列将需要更多的n正方形。所以你必须假设 3 行和 6 列。您可以计算 和 的平方长度,H/3W/6取其中较大的一个。

于 2013-04-30T05:39:24.473 回答
1

您的情况通常是无法解决的。

例如,考虑一个 2 x 3 的区域。您不能在此区域中放置 5 或 7 个方格。

于 2013-04-30T05:20:21.707 回答