gpt4 book ai didi

algorithm - 找到一个最佳的 n 正方形大小(每个都相同)以适合矩形容器的大部分

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:14:24 28 4
gpt4 key购买 nike

输入

矩形区域的宽度和高度,因此我们可以计算矩形的长宽比。

N 是我们要使用每个大小相同调整大小的方 block 数。

输出

找到适合我们容器大部分的最佳正方形尺寸。例如

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)

并使用线性或二分搜索找到精确值

关于algorithm - 找到一个最佳的 n 正方形大小(每个都相同)以适合矩形容器的大部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22814546/

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