【发布时间】:2017-11-19 05:23:52
【问题描述】:
编辑:我已经找到了解决方案。如果您以后遇到这种情况并需要类似的东西,请随时与我联系。
--
您将如何检查给定坐标是否等于随机点,而不是在平面上生成随机点?还是在随机边界框内?
例如,您有一个具有整数坐标的平面。该平面以某种方式填充了随机边界框(使用公式而不是数据生成)。目标是检查给定的 (x, y) 是否在其中一个框内。
我可以找到很多关于如何生成随机点的参考资料,但对于以这种更向后的方式进行的参考资料不多(我猜你会称之为“功能性”?)。
我设法制作了一种算法,将平面分成 100x100 的正方形,每个正方形内都有一个随机放置的边界框。但是,是否有可能通过一种算法更有机地放置盒子?
编辑:这是我用于简单“100x100 网格内的随机点”的示例算法(从内存中,可能遗漏了一些东西):
// check if equal to a random point within the point's grid square
boolean isRandomCenter(x, y) {
// offset relative to origin of grid square
int offsetX = x mod 100
int offsetY = y mod 100
// any random seed will do
int randomSeed = x * y
// random position of point for this square
int randomOffsetX = random(50, randomSeed)
int randomOffsetY = random(50, randomSeed)
if (offsetX == randomOffsetX && offsetY == randomOFfsetY)
return true
return false
}
【问题讨论】:
-
您到底想知道什么?知道给定点 (x,y) 是否在边界框中的条件是什么?还是随机放置盒子的算法?
-
“有机地”:是一个您有自己理解的术语,我们不分享。关于“检查给定坐标是否等于随机点”的相同评论。请解释一下。
-
“有机”,而不是我描述的网格样式。一切都是整数,没有实数。我更喜欢不重叠。
-
更好地解释问题比增加赏金更有可能得到好的答案。
-
What part needs explaining?输入是什么?随机点/盒子从何而来?boxes是四边形吗?矩形的?同向?需要考虑哪些资源需求?