2016-04-15 13 views
0

ほとんどのPCLの例で気付いたことは、ランダムポイント生成のために1024を選択したことです。 1024を選択する特別な理由はありますか?PCLアプリケーションでランダムポイント生成を行うときに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); 
+0

1024 * rand()は負の整数を生成しますが、rand()はそれ自体で正の値を作成します。しかし、なぜ彼らが2 * rand()ではなく1024 * rand()をするのか分かりません。 –

答えて

1

私は、彼らは単にランダムな値を選んだと思い、全く理由があるとは思いません。

正規化の問題です。 rand()は、[0、1]の間で正規化された値を提供します。 1024を掛け合わせると、[0、1024] = [0、2^10]の間の値になります。私が見ることができる唯一の理由は、境界を[0,2^N]の範囲で区切っておくと、(階層構造を使って作業するなど)多くのタスクを簡単にすることができるということです。 必要に応じて、必要な値を正規化することができます。

関連する問題