Pi experimentell Bestimmen mit einem Zufallsexperiment

dart160
Mit Hilfe einer Monte-Carlo-Simulation wird der Wert der Kreiszahl Pi näherungsweise bestimmt, in dem zufällig und gleichverteilt Dart-Pfeile ein ein Quadrat geworfen werden, dem eine kreisformige Dartscheibe einbeschrieben ist. Aus dem Verhältnis der Treffer auf der Dartscheibe und der geworfenen Pfeile lässt sich eine Approximation von Pi berechnen.
Bitte schalten Sie Java ein, um eine Cinderella-Konstruktion zu sehen.
Und dies ist der Programmcode zur Ausführung der Simulation und Berechnung von Pi:

Zunächst wird der Schieberegler ausgelesen. Dazu wird der Abstand der beiden Endpunkte der hellgrünen Strecke gemessen. Die Anzahl der Pfeile wächst dann exponentiell mit dieser Länge zur Basis 10.
if(H.x>F.x+4.5,H.x=F.x+4.5);
wuerfe=round(10^(dist(H,F)));
drawtext([F.x,F.y-1.5],"Pfeile geworfen: "+wuerfe);

Nun wird die Zählvariable auf Null gesetzt und der Kreisradius bestimmt.
imKreis=0;
r=C1.radius;

Es folgt die eigentliche Schleife, in der die Pfeile geworfen werden.
es werden x- und y-Koordinaten zufällig im Bereich [-r,+r] bestimmt und der Pfeilpunkt gemalt.
Dann wird geprüft, ob der Pfeil die Dartscheibe getroffen hat.
forall(1..wuerfe,
x=r*(random(2)-1);
y=r*(random(2)-1);
draw([Z.x+x,Z.y+y]);
if((x)^2+(y)^2~<=r^2,imKreis=imKreis+1);
);


Pi wird berechnet...
meinPi=4*imKreis/wuerfe;

...und das Ergebnis ausgebgeben.
drawtext([F.x,F.y-3.25],"Davon Treffer: "+imKreis);
drawtext([F.x,F.y-5],"Pi ist dann "+format(meinPi,10));