Die Quadratur des Kreises habe auch ich nicht gefunden. Aber immerhin habe ich Pi mit Dreiecken berechnen können.

Ermittlung von π

Die Kreiszahl π (Pi) wird verwendet, um Umfang (u) und Fläche (f) von Kreisen und Kreissegmenten zu ermitteln. In Abhängigkeit vom Radius (r) gilt:

Schwierig ist einzig die Ermittlung dieser besonderen Zahl.

Mein Ansatz beruht auf folgender Überlegung: Wenn man einen Kreis in gleichseitige Dreiecke zerlegt, deren gleiche Seiten jeweils die Kreisradien und deren ungleiche Seite eine Sekante ist, erhält man eine berechenbare Näherung des Kreises. Je mehr dieser Dreiecke man verwendet, desto genauer wird die Näherung.

Skizze

Verwendet man zum Einstieg einen Viertelkreis mit der Sekante s und zerlegt dieses Dreieck in zwei gleich große Dreiecke mit der Sekante s', erhält man eine Iterationsvorschrift, die fortgeführt werden kann.

Wie aus der Skizze ersichtlich ist, ergibt sich s' aus der Hypothenuse des rechtwinkligen Dreiecks aus (s/2) und (r-h). Nach Pythagoras gilt also:

s'² = (s/2)² + (r-h)²

Die Höhe (h) eines gleichseitigen Dreiecks steht in Relation zur Basis (hier: s) und den gleichen Schenkeln (hier: r) in einem ähnlichen Verhä:ltnis:

r² = h² + (s/2)²| - (s/2)²
h² = r² - (s/2)²| √
h = √r² - (s/2)²| √

Eingesetzt ergibt dies:

s'² = (s/2)² + (r - √r² - (s/2)²| Ausmultiplizieren
s'² = (s/2)² + r² - 2r√r² - (s/2)² + r² - (s/2)²| Auflösen
s'² = 2r² - 2r√r² - (s/2)²| Auflösen

Bei einem Normradius r=1 ergeben sich Umfang (u=2π) und Fläche (f=π) sehr einfach. Auch die Ermittlung von s' vereinfacht sich hierdurch:

s'² = 2*1² - 2*1*√1² - (s/2)²| Auflösen
s'² = 2 - 2√1 - (s/2)²| Umformen
s'² = 2 - √4*(1 - (s/2)²)| Umformen
s'² = 2 - √4 - 4*s²/4| Umformen
s'² = 2 - √4 - s²

Die erste Näherung des Umfangs (u0) ergibt sich aus dem vierfachen der ersten Sekante (s0). Mit jedem Verkleinerungsschritt verdoppelt sich die Anzahl der vorhandenen Dreiecke. s1 muß also bereits achtfach genommen werden und so weiter:

ui = si * 4 * 2i

Da der Umfang des Kreises u = 2π ist, gilt:

ui→∞ → 2π

Wir können also ein p = u/2 definieren, für das gilt:

pi→∞ → π

Außerdem gilt hierbei:

2pi = si * 4 * 2i| /2
pi = si * 2 * 2i| Auflösen
pi = si * 2(i+1)

Der Startpunkt der Iteration ist die Sekante s0 durch den gesamten Viertelkreis. Nach Pythagoras gilt hier:

s0² = r² + r²| r=1
s0² = 2| √
s0 = √2

Für die Iteration gilt wie oben gezeigt:

si+1² = 2 - √4 - si²

Durch Austausch der Zählvariable i mit j = i+1 und eine Verlegung des Startpunkts von (nach der Umrechnung) 1 auf 0 ergibt sich folgender Algorithmus:

Anfangsbedingung:s1 = √2| Einsetzen in die Iteration
s1² = 2 - √4 - s0²| Einsetzen und Auflösen
2 = 2 - √4 - s0²| *(-1) +2
0 = √4 - s0²| ² + s0²
s0² = 4| √
s0 = 2| √
Iteration:sj+1² = 2 - √4 - sj²
Zielfunktion:pj = sj * 2j
Ergebnis:pj→∞ → π

Nach Einsetzen einer anderen Iterationsvariable ni = 2 - si² (d.h. si = √2 - ni) ergibt sich folgender einfacherer Algorithmus:

Anfangsbedingung:2 - n0 = 2| ²
2 - n0 = 4| *(-1) +2
n0 = -2
Iteration:2 - nj+1² = 2 - √(4 - √2 - nj²)| Auflösen
2 - nj+1 = 2 - √4 - (2 - nj)| Auflösen | *(-1) +2
nj+1 = √2 + nj
Zielfunktion:pj = √2 - nj * 2j
Ergebnis:pj→∞ → π

Endfassung des Algorithmus:

Anfangsbedingung:n0 = -2 oder n1 = 0
Iteration:nj+1 = √2 + nj
Zielfunktion:pj = √2 - nj * 2j
Ergebnis:pj→∞ → π
jnjpj
2
πqed.

Quellcode:

<table border="border">
<tr><th>j</th><th>n<sub>j</sub></th><th>p<sub>j</sub></th></tr>
<script language="JavaScript">

var j;
var n;
var p;
var pold;

j=0; n=-2; p=2; pold=0;

while (p>pold) {

	document.write("<tr><td>" + j + "</td><td>" + n);
	document.writeln("</td><td>" + p + "</td></tr>");

	pold=p;

	n = Math.sqrt(2+n);
	j = j + 1;
	p = Math.sqrt(2-n) * Math.pow(2,j);
}

</script>
</table>