我有一个特定的要求变成了一个有趣的数学问题。
给定一个数字 n 和固定距离 d 以及固定宽度和高度的矩形 R(即屏幕)内的点 p(x,y)。 我想在矩形内绘制 n 个正方形,最大尺寸可能(所有正方形大小相同)并且正方形彼此不相交并且彼此分开最小距离 d(距正方形周长的距离)。
这些方 block 也应该至少与给定点 P(这基本上是鼠标最后记录的位置)的距离为 d。
如果有解决办法,请告诉我。
解决方案应该给出正方形的大小和所有正方形的坐标。
反向有趣的问题可以是给定正方形的大小,可以绘制多少这样的正方形。
最佳答案
简单的(可能不是最优的)方法:使用二分搜索找到a的最大值
Floor((Width + d) / a) * Floor((Height + d) / a) >= n+1
并制作n个正方形的规则网格,边为(a - d),不包括有点的地方
关于algorithm - 绘图几何和数学算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21252020/