点云中的随机索引

时间:2017-02-15 08:35:37

标签: c++11 point-clouds

我试图找到随机指数来选择点云中的一些点。 以下是代码。但是,即使在使用srand()之后,我也会三次获得相同的数字。有人可以帮忙吗?

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

1 个答案:

答案 0 :(得分:1)

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

而是在开始时播种一次:

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

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