2016-04-15 3 views
0

Ich habe in den meisten der PCL-Beispiel festgestellt, wählen sie 1024 für die zufällige Punktgenerierung. Gibt es einen besonderen Grund für die Wahl von 1024?Warum 1024 für die zufällige Punktgenerierung in PCL-Anwendung wählen

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() erzeugt negative ganze Zahlen, während rand() für sich nur positiv ist. Aber ich weiß nicht, warum sie 1024 * rand() machen und nicht nur 2 * rand(). –

Antwort

1

Ich glaube nicht, dass es überhaupt einen Grund gibt, ich denke, sie haben nur einen zufälligen Wert gewählt.

Es ist eine Frage der Normalisierung. rand() liefert normalisierte Werte zwischen [0, 1]. Wenn Sie mit 1024 multiplizieren, haben Sie Werte zwischen [0, 1024] = [0, 2^10]. Der einzige Grund, den ich sehen könnte, ist, wenn Sie Ihre Grenzen in einem [0, 2^N] -Bereich haben, erleichtern Sie viele Aufgaben (z. B. Arbeiten mit hierarchischen Strukturen). Egal, dass Sie zwischen den gewünschten Werten normalisieren können, je nach Ihren Bedürfnissen.

Verwandte Themen