gpt4 book ai didi

c++ - uniform_real_distribution 点间距离最小

转载 作者:可可西里 更新时间:2023-11-01 18:38:26 27 4
gpt4 key购买 nike

我正在使用正方形生成坐标列表

#include <random>
using namespace std;

int main(){

random_device rd;
long int seed = rd();
default_random_engine gen(seed);

double max=10.0, min=-10.0;
uniform_real_distribution<double> uni_real(min,max);

double random_x = uni_real(gen);
double random_y = uni_real(gen);

return 0;
}

我想确保任意两点之间有一个最小距离。对于我的用法,当应用周期性边界条件时,这必须成立。

  • 首选解决方案是 <random> 中的内置方法库到这个。有没有?
  • 次之,包含快速执行检查方法的任何其他包(只要易于使用)。
  • 最坏的情况,我可以编写自己的基本脚本,即 O(n^2)因为我现在不太关心效率。除非,有一些易于实现的算法可以做到这一点。

关于处理第三点或其他环境的其他问题来自 <random> .

最佳答案

虽然在 math.stackexchange 上讨论了这种采样(相当于非重叠圆圈生成),请参阅 https://mathematica.stackexchange.com/questions/2594/efficient-way-to-generate-random-points-with-a-predefined-lower-bound-on-their-phttps://mathematica.stackexchange.com/questions/69649/generate-nonoverlapping-random-circles ,我想指出另一个涉及准随机数的潜在解决方案。对于准随机 Sobol 序列,有一个声明表示点之间的最小正距离等于 0.5*sqrt(d)/N,其中 d 是维数问题,N 是在超立方体中采样的点数。男人本人的论文http://www.sciencedirect.com/science/article/pii/S0378475406002382

关于c++ - <random> uniform_real_distribution 点间距离最小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31626073/

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