Input
矩形区域的宽度和高度,因此我们可以计算矩形的长宽比。
N 是我们要调整大小的方块数量每个尺寸相同.
Output
找到适合容器大部分的最佳正方形尺寸。例如
containerWidth = 200;
containerHeight = 100;
n = 8;
在这种情况下,squaresSize 应为 50 以适合大部分矩形区域。
我尝试过什么
我已经尝试计算容器数学面积,然后将其除以平方数,通过开平方得到每个平方面积。但这是理想的正方形大小,因此它不尊重相对于容器矩形的每个正方形位置。
真正的目的
我试图制作可扩展的用户界面,它将在矩形容器中绘制尽可能多的方形对象。
你必须解决不等式(找到a的最大值)
(Width div a) * (Height div a) >= n
其中 div 是带截断的整数除法 (8 div 3 = 2)
结果单调取决于 n,因此得到第一个近似值:
a = Sqrt(W*H/n)
并通过线性或二分搜索找到精确值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)