选择随机点的有效方法

时间:2014-08-26 02:40:47

标签: random

SETUP:

我有一个文件,其中包含一个点列表,每个点都有一个特定的(X,Y)位置。看起来有点像

的东西
3.8474 4.4847
8.3746 2.4829
...
2.4583 6.2848

在读取文件之前,这些点都包含在某个未知大小的矩形中。包含这些点的矩形的边界由查找列表中所有点的最小和最大X值以及最小和最大Y值来定义。

问题:

我想在这个边界矩形内选择一个随机点,它距离边界矩形的边缘至少有一段距离A。然后我想找到矩形中距离此随机点距离A的所有点。

尝试解决方案:

我的问题是,为了选择距离边缘一定距离的随机点,我需要首先知道边缘。这需要读取每个点并找到最小和最大X和Y值。然后我必须再次读取每个点,以找出哪些点距离我随机选择的位置不到A。两次阅读列表似乎效率极低,特别是如果列表包含一百万或更多点。但我想不出更有效的方法。我需要至少读入一次数据,然后我可以将它存储在一个数组中以进行第二轮读取,但是为一百万个元素数组预留内存空间似乎也过多了。有什么建议吗?

0 个答案:

没有答案