Zufall
Visualisierungen von Zufall
Führe das Programm aus (Klick auf start/pause).
Versuche zu verstehen, wie sich die beiden Arten von Zufall (random / randomGaussian) unterscheiden.
Zunächst ist es wichtig, den Unterschied zwischen random() und randomGaussian() zu verstehen:
Die Funktion random(x) gibt einen zufälligen Wert (float) zwischen 0 und x zurück.
Kopieren und in Processing ausführen:
void setup() {
size(500, 500);
for (int i = 0; i < 3000; i++) {
ellipse(random(width), random(height), 3, 3);
}
}
Hinweis:
random(width) bedeutet, dass ein zufälliger Wert (float) zwischen 0 und der Breite des Fensters ausgegeben wird.
Die Funktion randomGaussian() gibt einen zufälligen Wert (float) um 0 herum zurück.
Dabei gilt (siehe Normalverteilung):
68.3% der zurückgegebenen Werte liegen zwischen -1 und 1.
95.5% der zurückgegebenen Werte liegen zwischen -2 und 2
99.7% der zurückgegebenen Werte liegen zwischen -3 und 3
Kopieren und in Processing ausführen:
int streckung = 60;
void setup() {
size(500, 500);
for (int i = 0; i < 3000; i++) {
ellipse(width/2 + randomGaussian()*streckung, height/2 + randomGaussian()*streckung, 3, 3);
}
}
Hinweis zu width/2 + randomGaussian()*streckung
width/2 sorgt dafür, dass die zufälligen Kreise eher in der Mitte des Bildschirms liegt.
Mit der Variable streckung kann gesteuert werden, wie nah die Punkte beieinander verteilt werden.
Diese sogenannte Normalverteilung spielt in der Statistik eine zentrale Rolle und lässt sich mit folgender Grafik anschaulich visualisieren: