为什么在 PCL 应用程序中生成随机点时选择 1024

why choose 1024 for when random point generation in PCL application

我注意到在大多数 PCl 示例中,他们选择 1024 来生成随机点。选择 1024 是否有特殊原因?

cloud->points[i].x = 1024 * rand () / (RAND_MAX + 1.0f);
cloud->points[i].y = 1024 * rand () / (RAND_MAX + 1.0f);
cloud->points[i].z = 1024 * rand () / (RAND_MAX + 1.0f);

我认为根本没有原因,我猜他们只是选择了一个随机值。

这是规范化的问题。 rand() 提供 [0, 1] 之间的归一化值。如果乘以 1024,则值介于 [0, 1024] = [0, 2^10] 之间。我能看到的唯一原因是,如果您将边界划定在 [0, 2^N] 范围内,您将使许多任务变得更容易(例如,使用层次结构)。 无论如何请注意,您可以根据需要在所需的值之间进行标准化。