用重复方块填充容器

时间:2013-04-30 01:21:49

标签: html5 math canvas drawing geometry

我喜欢数学,但我已经在这一段时间里不停地敲打着它。

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:2)

第一个估算值是将区域W*H除以广场数n。这将为您提供每个方格的面积,并取该区域的平方根将给出它的长度。

但这仅适用于矩形可以由这些方块精确填充的情况。如果您可能需要在矩形之外进行一些重叠,则可能需要调整长度或方块数。因此,假设您希望覆盖您的矩形(即填充稍大的矩形),不超过n个方块,在这些情况下选择尽可能小的方块。做上面的计算。假设它告诉您需要3.75行和6.23列正方形。然后,您知道更多行或列将需要超过n个方块。所以你必须假设3行和6列。您可以计算H/3W/6的平方长度,并取其中较大的一些。

答案 1 :(得分:1)

您的方案通常无法解决。

例如,考虑2 x 3区域。你不能在这个区域放置5或7个方格。