jquery - 为二维区域中不同大小的非重叠四边形生成随机位置

标签 jquery algorithm random

我正在寻找一种算法来为二维区域中不同大小的非重叠四边形生成随机位置。一个例子可以是: enter image description here

四边形的随机大小在 aa 和 bb 之间,并且它们平行于 xy 坐标。我正在使用 JQuery (javaScript)。

--如果我为每个矩形生成两个独立的随机数(用于 x 和 y 坐标),我必须检查此位置的新矩形是否与其他现有矩形不重叠。如果是,则忽略此选择并生成一对新数字(新位置)。因此,也许这不是一个好的算法--

有人有什么建议吗? 谢谢。

最佳答案

您可以使用四叉树或 kd 树来分割曲面。空间索引也可以工作。寻找空间填充曲线和空间索引以及 quadkey 或 geohash 如何找到一个象限。也许 r-tree 也不错,因为空间填充曲线非常复杂。这是 bing map 四键示例:http://msdn.microsoft.com/en-us/library/bb259689.aspx .然后你可以随机使用广度优先搜索。

关于jquery - 为二维区域中不同大小的非重叠四边形生成随机位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13126408/

相关文章:

php - 将随机 ID 插入数据库

javascript - 彩盒 - 外部链接

javascript - 将初始化对象传递给 javascript 函数

algorithm - 三向集不相交

database - 从大量对象(比如一百万个字符串)中创建所有两个对象对的最佳方法是什么?

java - 交换方法中变量 i 减 1 的目的是什么? - 1 真的是公平随机化所必需的吗?

javascript - jQuery 嵌套 append

jquery - 增加从 jquery 生成的字段的大小

algorithm - 具有相同输出的伪随机生成器

python - 如何在 Python 中将变量乘以字符?