Math 如何将图像分割成方形部分?(公式)

Math 如何将图像分割成方形部分?(公式),math,Math,我知道图像大小和需要的零件数量。 例如,图像:9000x6000(px),所需的部件数:1000。获得正方形尺寸的公式是什么?让尺寸为宽度,高度,所需计数为n,未知尺寸为x 网格的每一行都包含 nr = Floor(Width / x) // rounding down 每列包含 nc = Floor(Height / x) 写不等式 n <= nc * nr n <= Floor(Width / x) * Floor(Height / x) 然后递减x值,直到不等式变

我知道图像大小和需要的零件数量。
例如,图像:9000x6000(px),所需的部件数:1000。获得正方形尺寸的公式是什么?

让尺寸为
宽度
高度
,所需计数为
n
,未知尺寸为
x

网格的每一行都包含

nr =  Floor(Width / x)   // rounding down
每列包含

nc = Floor(Height / x)
写不等式

n <= nc * nr
n <=  Floor(Width / x) * Floor(Height / x)

然后递减
x
值,直到不等式变为真

到目前为止,您尝试了什么?这也是家庭作业吗?如果是这样的话,请确保这个问题没有违反发布作业的学术机构的规定。谢谢,它已经接近解决方案了。但如果我需要“n=nc*nr”怎么办。严格来说,1000个零件和图像大小大约为9921x6945。如果需要,可以裁剪图像(稍后我将添加一些x/y偏移)。所述方法适用于在大矩形上放置至少n个正方形(例如,墙上的照片),在最后一行留下空白位置。如果您需要精确地得到n(1000),您应该将n分解为2个因子,其比率接近于宽度/高度。这并不总是可能的(例如,我们可以将n=1000表示为25x40,但n=961具有唯一的因子分解31x31,n=1006具有唯一的因子分解2*503)。因此,我们需要为此类情况确定适当的策略。
x0 = Ceil(Sqrt(Width * Height / n))  //rounding up