4.4 Walter tanzt den Random-Walk |
|
In diesem
Kapitel wollen wir lernen, wie wir eine Turtle einen 'Random-Walk' tanzen
lassen: Jeder Tanzschritt, den die Turtle unternimmt
unterliegt dem Zufall, das gilt für die Richtung aber auch für die für die Schrittlänge.
Der Tanz gleicht also eher dem Gang eines Betrunkenen, der nicht nicht
mehr kontrollieren kann in welche Richtung und mit welcher Schrittlänge er
sich als nächstes bewegen wird. Tatsächlich kennt
die Physik diesen Tanz, man nennt ihn dort "Brownsche Bewegung". |
|
Zufallszahlen | Um
unseren Tanz implementieren zu können, müssen wir noch lernen, wie wir
Zufallszahlen erzeugen und verwenden können. Es gibt im Standard-Java eine
Klasse Math,
die eine Vielzahl von mathematischen Methoden zur Verfügung stellt . Wie etwa die
Methode random().
Sie liefert eine Zufallszahl im Intervall [0;1), also eine Zufallszahl die
größer oder gleich 0 und echt kleiner 1 ist. Der Aufruf der Methode
ist ein typischer Aufruf einer sog. Klassenmethode:
<Klassenname>.<Methodenname>: Math.random(); Wollen wir eine Zufallszahl aus dem
Intervall [0,30) erzeugen, schreiben wir
30*Math.random(). Turtle walter; In der Methode zeichne() deklarieren wir eine Variable vorwaerts vom Typ double und speichern in ihr eine Zufallszahl zwischen 0 und 30 (genauer aus dem Intervall [0;30): double vorwaerts = 30*Math.random(); mit walter.forward(vorwaerts); bewegt sich die Turtle also um diese zufällig gewählte Strecke in ihre Blickrichtung. Statt der beiden Zeilen double
vorwaerts = 30*Math.random(); können wir auch kürzer walter.forward(30*Math.random()); schreiben. Auf eine Variable vorwaerts können wir dann verzichten. Auf die gleiche Weise können wir auch die Wahl der Richtung dem Zufall überlassen. walter.right(360*Math.random()); |
Der Random-Walk |
|
Download: RandomTurtle.java |
Der
gesamte Quellcode (er setzt das Paket
turtle
voraus, siehe Kap
.8.1)
|
zu | 4.5 Walter und Elsa versuchen den Passo-Doble |
zur Startseite | www.pohlig.de (C) MPohlig 2004 |