点云中的随机索引

Random indices in Point cloud

我正在尝试寻找随机索引来选择点云中的一些点。 以下是代码。但是,即使在使用 srand() 之后,我也得到了 3 次相同的数字。关于这个,有人可以帮忙吗?

/* find three points randomly */ 
for (long i = 0; i < 3; ++i) 
{
   srand (time(NULL));
   cout <<"\nRandom index" << (rand() % points.size() + 1); 
}

您在同一时间播种随机生成器,每次循环迭代一次。

改为在开始时播种一次:

/* find three points randomly */ 
srand(time(NULL));
for(int i = 0; i != 3; ++i) {
  cout <<"\nRandom index" << (rand() % points.size() + 1); 
}

您也不需要使用 long 进行三步循环:)