Checkmark on Circle.png

Pi

Aus KGS-Wiki
Version vom 10. September 2024, 14:02 Uhr von Sn (Diskussion | Beiträge) (Graph ist noch fehlerhaft D:)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Pi () ist eine Zahl, die das Verhältnis zwischen dem Durchmesser eines Kreises und seinem Umfang beschreibt.

Algorithmische Berechnung

Viertelkreis, mit Flächenraster 10×10 angenähert, innerhalb 79 Punkte (rot), außerhalb 21 Punkte (blau)

lässt sich algorithmisch wie folgt berechnen: Man nimmt ein Quadrat der Seitenlänge 1 und zeichnet dort hinein einen Viertelkreis mit dem Radius 1. Dieser Viertelkreis hat die Fläche . Über dieses Quadrat legt man nun ein Raster aus Punkten und prüft für jeden dieser Punkte, ob er in dem Viertelkreis liegt oder nicht. Die Anzahl der Punkte im Viertelkreis geteilt durch die Gesamtzahl der Punkte im Quadrat ergibt dann eine Näherung für . Je engmaschiger dabei das Gitter ist, desto genauer wird auch die Näherung für .

💬
Beispiel

Das rechts abgebildete Quadrat ist von einem Raster von 10×10 Punkten überzogen. Davon liegen 79 im Kreis (rot eingezeichnet). Als Näherung für ergibt sich der Wert , multipliziert mit 4 die Näherung für .

Als Programmablaufplan kann man diesen Algorithmus folgendermaßen darstellen:

graph TD start(("Start")) --> s1["Setze <code>x</code> auf 0"] --> s2["Setze <code>points_total</code> auf 0"] --> s3["Setze <code>points_circle</code> auf 0"] --> s4["Setze <code>STEP</code> auf 0.001"] --> wx{"<code>x</code> < 1?"} --ja--> s5["Setze <code>y</code> auf 0"] --> wy{"<code>y</code> < 1?"} --ja--> if{"<code>x</code>² + <code>y</code>² ≤ 1?"} --ja--> s6["Erhöhe <code>points_circle</code> um 1"] --> s7["Erhöhe <code>points_total</code> um 1"] --> s8 ["Erhöhe <code>y</code> um <code>STEP</code>"] --> wy wy --nein--> wx if --nein--> s7 wx --nein--> s9["Setze <code>pi</code> auf <code>points_circle</code> / <code>points_total</code> * 4"] --> out[/"Gib <code>pi</code> aus"/] --> end(("Ende"))