Guten Tag,
bitte um Hilfe.
Ich soll hier PI mithilfe von einer Kreiszerlegung berechnet werden.
double r = 1.0;
double h1= 1.0;
double h2;
int teilung; // Wie oft der viertel Kreis zerglegt werden soll
double x = 0.0;
double ausgabe = 0.0;
Scanner scanner = new Scanner (System.in);
System.out.println("Wie oft soll der Viertelkreis zerlegt \nwerden um Pi herauszufinden?");
teilung = scanner.nextInt();
for ( int i = 1; i < teilung; i++)
{
r = r / teilung;
ausgabe = h1 * r;
x = ausgabe;
h2= Math.sqrt(1-Math.pow(r,2)); // Problem wie komme ich auf die verschiedenen höhen ?
ausgabe = h2 * r;
x = (x+ausgabe) * 4;
}
System.out.println(x);
Mein Code dazu. Der Kreis wird in vier viertel geteilt, und ein einzelnes Viertel wird in Rechtecke unterteilt. Je mehr Rechtecke, desto näher ist man an Pi. Am Schluss nimmt man das Ergebnis *4 und dann sollte eine Näherung rauskommen.
Mein Problem ist, mit zwei recht Rechtecken komme ich zurecht. Bei mehr scheitere ich. Je mehr Rechtecke dazu kommen umso weniger wird h2 bei jedem einzelnen.
Könnt mir jemand auf die Sprünge helfen und mir ein hint geben und sagen wie ich es schaffe, dass ich die unterschiedlichen h2 rausbekomme?
mfG !
bitte um Hilfe.
Ich soll hier PI mithilfe von einer Kreiszerlegung berechnet werden.
double r = 1.0;
double h1= 1.0;
double h2;
int teilung; // Wie oft der viertel Kreis zerglegt werden soll
double x = 0.0;
double ausgabe = 0.0;
Scanner scanner = new Scanner (System.in);
System.out.println("Wie oft soll der Viertelkreis zerlegt \nwerden um Pi herauszufinden?");
teilung = scanner.nextInt();
for ( int i = 1; i < teilung; i++)
{
r = r / teilung;
ausgabe = h1 * r;
x = ausgabe;
h2= Math.sqrt(1-Math.pow(r,2)); // Problem wie komme ich auf die verschiedenen höhen ?
ausgabe = h2 * r;
x = (x+ausgabe) * 4;
}
System.out.println(x);
Mein Code dazu. Der Kreis wird in vier viertel geteilt, und ein einzelnes Viertel wird in Rechtecke unterteilt. Je mehr Rechtecke, desto näher ist man an Pi. Am Schluss nimmt man das Ergebnis *4 und dann sollte eine Näherung rauskommen.
Mein Problem ist, mit zwei recht Rechtecken komme ich zurecht. Bei mehr scheitere ich. Je mehr Rechtecke dazu kommen umso weniger wird h2 bei jedem einzelnen.
Könnt mir jemand auf die Sprünge helfen und mir ein hint geben und sagen wie ich es schaffe, dass ich die unterschiedlichen h2 rausbekomme?
mfG !