brauche hilfe ( gpanel und n-ecke)

Status
Nicht offen für weitere Antworten.
A

anfänger123

Gast
also ich wollte einige methoden per java berechnen lassen und diese grahisch zeichnen wie man PI annäherungsweise berechnen kann.

bisher mein code:

Code:
import ch.aplu.turtle.Turtle;
import ch.aplu.util.*;

public class PI {

	public static void main(String[] args) {

		int annaeherung, Zahl = 1000, n, durchläufe;
		double pi, Sn, S2n, K, U, h, treffer = 0, gesamt = 1000000;
		double b = 0, x, y, PI, Fläche = 0, xach = 0, höhe1 = 0, höhe2 = 0, xachhöhe1 = 0, xachhöhe2 = 0;
		InputDialog id = new InputDialog(
				"Annaeherung",
				"Welche Methode wollen sie verwenden? 1= Monte Carlo,2 = n-Eck, 3= Saeulen-Methode");
		annaeherung = id.readInt();

		switch (annaeherung) {
		case 1: {
			InputDialog id4 = new InputDialog("Durchläufe",
					"Wieviele Durchläufe wollen sie machen?");
			durchläufe = id4.readInt();
			for (int a = 1; a <= durchläufe; a++) {
				GPanel p = new GPanel(0, Zahl, 0, Zahl);
				p.circle(Zahl);

				for (int i = 0; i <= gesamt; i++) {

					x = Zahl * (Math.random());
					y = Zahl * (Math.random());
					p.move(x, y);
					p.circle(0.1);
					if (Math.sqrt(x * x + y * y) <= Zahl) {
						treffer = treffer + 1;

					}
				}
				pi = 4 * treffer / (gesamt);
				b = b + pi;
				treffer = 0;
				pi = 0;
			}
			PI = b / durchläufe;
			MessageDialog g = new MessageDialog("Durchschnitt: " + PI);
			g.show();
		}
			break;
		case 2: {
			Turtle john = new Turtle();
			InputDialog id1 = new InputDialog("Ecken",
					"Wieviele Ecken soll das n-eck haben) Auswahl zwischen 4 oder 6");
			n = id1.readInt();
			if (n == 4) {
				Sn = Math.sqrt(2);
			} else {
				Sn = 1;
			}

			for (int a = 1; a <= 5; a++) {

				h = Math.sqrt(1 - Math.pow((Sn / 2), 2));
				y = 1 - h;
				S2n = Math.sqrt(Math.pow(y, 2) + Math.pow((Sn / 2), 2));
				U = n * Sn;
				Sn = S2n;
				pi = U / 2;
				Console.println("Pi vom " + n + "-Eck " + pi
						+ " Der Umfang betraegt " + U);

				john.hideTurtle();
				john.setPos(100, 20);

				for (int i = 0; i < n; i++) {
					john.left(360 / n);
					john.forward(100 * Sn);

				}
				n = 2 * n;

			}
		}

			break;
		case 3: {
			InputDialog id2 = new InputDialog(
					"Pi Annaeherung mit Säulen-Methode",

					"Bitte geben sie die Gewuenschte Anzahl Saeulen ein:");

			int abstände1 = id2.readInt();

			GPanel p = new GPanel(0, 0.5, 0, 0.5);
			p.circle(0.5);

			for (int i = 1; i <= abstände1; i++) {

				xach = xach + i;
				xachhöhe1 = (0.5 / abstände1) * (xach - 1);
				xachhöhe2 = (0.5 / abstände1) * xach;
				höhe1 = Math.sqrt(0.25 - Math.pow(xachhöhe1, 2));
				höhe2 = Math.sqrt(0.25 - Math.pow(xachhöhe2, 2));
				Fläche = Fläche + (((höhe1 + höhe2) / 2) * (0.5 / abstände1));
				p.draw(xachhöhe1, höhe1);
				p.draw(xachhöhe2, höhe1);
				p.draw(xachhöhe2, höhe2);
				p.draw(xachhöhe1, höhe2);
				p.draw(xachhöhe2, höhe2);
				p.draw(xachhöhe2, 0);
				xach = 0;

			}

			pi = 16 * Fläche;

			MessageDialog md = new MessageDialog("Pi betraegt " + pi);
			md.show();
		}
		}

		MessageDialog md1 = new MessageDialog(
				"Vielen dank für die Verwendung unseres Programmes");
		md1.show();
	}

}

mein problem (naja schönheitsproblem)
ist, dass es die n-ecke übereinander zeichnen soll.
leider aber zeichnet es diese ja nicht aufeinander sondern nebeneinander.

FRAGE: wie kann ich das ändern?

P.s. das problem wäre in case 2

grüsse der anfänger xD
 

0x7F800000

Top Contributor
öhm... was sind das für packages, die du da verwendest, und wieso überhaupt? hat dir ein normales JFrame nicht gereicht? Das kann jetzt außer dir kein mensch compilieren...

Und die methode, die polygone zeichnen soll sehe ich gar nicht, du hast das anscheinend alles in einen haufen in der main reingestopft, statt die aufgabe in kleine übersichtliche probleme zu unterteilen.

Räum mal im code ein bisschen auf, sonst tut sich das kein Mensch, in dieser monströsen riesenmain rumzuwühlen.

Schreib eine extra methode zum zeichnen von regelmäsigen n-ecken, damit das problem klar eingegrenzt ist, statt es mit der ganzen anderen spaghettisuppe zu vermischen, dann findest du den fehler evtl. auch selbst, wirst schon sehen, wie die verwendung von methoden das leben leichter macht...
 

sp@g

Mitglied
Also ich muss Andrey recht geben, das ganze in einzelen Methoden zu packen steigert ungemein die übersichtlichkeit.

Aber um dem Problem näher zu rücken, wenn ich das richtig verstanden habe sind deine Zeichenmethoden john.left() und john.forward(). Erinnert mich etwas an das Zeichnen mit Logo :lol: .
Du gibst vorher nen Startpunkt mit john.setPos() an. Und ich bin der Meinung, da liegt das Problem. Wenn du willst das sie alle übereinander gezeichnet werden sollen, dann müssen sie meiner Ansicht nach den selben Mittelpunkt haben und nicht den selben Startpunkt. Habe ich das so richtig verstanden.

Wenn es so ist, dann würde ich mir zuerst alle Eckpunkte berechnen lassen diese in einen Vector speichern und dann den Mittelpunkt des n-eckes berechnen lassen. Diesen Punkt verschiebst du dann auf den allg. Mittelpunkt und transformierst deine Eckpunkte dementsprechend. Und diese transformierten Eckpunkte verbindest du dann nur noch mit Linien.

Hoffe es hat dir etwas geholfen.

Gruß
 

0x7F800000

Top Contributor
Leuts, was habt ihr denn geraucht? :autsch: :autsch: Seit wann braucht man zum zeichnen Schildkröten, und warum zur hölle nennst du die auch noch "john"??? :shock:
 

0x7F800000

Top Contributor
...ööööhm... :bahnhof: ...aaaha^^....
Und ich dachte schon, dass ich zum zeichnen von linien nur drawLine() bräuchte, na was ein glück dass ihr mir die wahrheit offenbart habt... :autsch:

Ich meine: omfg, was hat er denn erwartet?

Der rechnet im zahlensystem der alten Sumerer, und dazu zeichnet er mit einer Schildkröte... Und hofft trotzdem, irgendetwas außer Müll rauszubekommen... :shock: Manche Leute sind echte Meister darin, sich das Leben unnötig schwer, und ihre programme unnötig lahm zu machen :roll:
 
A

anfänger123

Gast
sp@q wir müssen mit dem hässlichen vieh zeichnen xD

aber deine idee ist gar nicht mal so schlecht danke dir
 

sp@g

Mitglied
@ Andrey:

Entschuldige bitte die Frage aber was genau meinst du mit dem Sumerischen Zahlensystem, weil bis jetzt bin ich aus wikipedia und google noch nicht allzuschlau geworden. Und welches Zahlensystem würdest du stattdessen verwenden?
 

0x7F800000

Top Contributor
Na das Hexagesimale da, schau dir das doch an: schon wieder die tausendmalverfluchte 360 im code!
Und der Programmiert ja keine "analoge anzeige" für eine Uhr.
Er programmiert auch kein Programm, das eingaben in Längen- und Breitengraden verarbeiten soll, nein...

Er schreibt ein Programm, das ausgerechnet PI approximieren soll, aber verwendet in seinem programm dennoch dieses hässliche unnatürliche artefakt aus der steinzeit zur winkelmesseung^^ Geht's denn irgendwie noch schräger? :roll:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
H Brauche Hilfe Java Basics - Anfänger-Themen 2
H Brauche hilfe Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
E Ich Brauche Hilfe Java Basics - Anfänger-Themen 3
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
TpKey10 Ich brauche Hilfe Java Basics - Anfänger-Themen 14
F Ich brauche Hilfe bei Objektorientierter Programmierung... Java Basics - Anfänger-Themen 19
L Input/Output Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe Java Basics - Anfänger-Themen 6
J Brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 3
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
J Brauche Hilfe !! Java Basics - Anfänger-Themen 8
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
T Datentypen Brauche Hilfe bei Arrays Java Basics - Anfänger-Themen 3
U Brauche Hilfe bei Bisektionsverfahren Java Basics - Anfänger-Themen 23
E Erste Schritte brauche hilfe zum verstehen einer Klasse(Tiefensuche) Java Basics - Anfänger-Themen 17
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
S brauche hilfe bei Fehlersuche Java Basics - Anfänger-Themen 7
M JDK installieren Brauche dringend Hilfe Java Basics - Anfänger-Themen 2
L Brauche Hilfe bei Preisberechnungspogramm Java Basics - Anfänger-Themen 1
D Hilbert und Peano Kurve, ich brauche Hilfe Java Basics - Anfänger-Themen 4
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
V Hilfe-brauche eine Idee! Java Basics - Anfänger-Themen 5
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
A Erste Schritte Brauche Hilfe Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
S Klassen Brauche Hilfe bei Erstellung einer Klasse für einen Tachenrechner!!! Java Basics - Anfänger-Themen 6
W Brauche hilfe bei Hausübung Java Basics - Anfänger-Themen 10
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
X Brauche Hilfe bei printOnScreen Methode !!! Java Basics - Anfänger-Themen 2
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
K Erste Schritte Brauche Hilfe bei Starten des Programms Java Basics - Anfänger-Themen 11
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
H Java von Kopf bis Fuß: Brauche Hilfe Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
S Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!! Java Basics - Anfänger-Themen 37
A Brauche Hilfe bei Division von Feldzahl durch Ganzzahl Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
G Brauche bitte Hilfe, bei umgekehrter Ausgabe!! Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe für ein UML Diagramm Java Basics - Anfänger-Themen 7
S ICh brauche Hilfe,weil Java in der Schule Java Basics - Anfänger-Themen 11
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
I Primzahlenberechnung [Brauche Hilfe] Java Basics - Anfänger-Themen 5
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
F Reader - brauche Hilfe Java Basics - Anfänger-Themen 19
T Brauche Hilfe bei Variabeln Java Basics - Anfänger-Themen 4
J Brauche Hilfe mit replaceFirst Java Basics - Anfänger-Themen 10
M Brauche Hilfe bei Struktogramm Java Basics - Anfänger-Themen 9
T Datentypen brauche dringende hilfe!dezi in Asci umwandeln! Java Basics - Anfänger-Themen 4
X DB4O Collections and Arrays, brauche dringend Hilfe! Java Basics - Anfänger-Themen 3
B brauche hilfe bei funktion erstellen Java Basics - Anfänger-Themen 8
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
N Brauche Hilfe mit Kollisionserkennung! Java Basics - Anfänger-Themen 16
J Brauche Hilfe bei Methode Java Basics - Anfänger-Themen 9
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
G 2 dim. Strsing Arrays brauche Hilfe Java Basics - Anfänger-Themen 20
A Brauche hilfe String untertrennen Java Basics - Anfänger-Themen 12
L Brauche bitte dringend Hilfe für Klausur Java Basics - Anfänger-Themen 8
H Brauche bei einen bsp hilfe! Java Basics - Anfänger-Themen 2
D Währungsrechner brauche Hilfe Java Basics - Anfänger-Themen 10
R Vokabeltrainer / Brauche Hilfe Java Basics - Anfänger-Themen 8
L Brauche Hilfe! Java Basics - Anfänger-Themen 8
S WAV-DATEIEN INTERPRETIEREN UND UMWANDELN Brauche Hilfe Java Basics - Anfänger-Themen 3
A Brauche Hilfe mit einer Forschleife Java Basics - Anfänger-Themen 20
N brauche Hilfe Stringverarbeitung Java Basics - Anfänger-Themen 9
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
M Brauche Hilfe bei Javaapplication für JuFo Java Basics - Anfänger-Themen 21
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
S Brauche Hilfe mit waitFor() Java Basics - Anfänger-Themen 4
N Brauche dringende Hilfe Java Aplett läuft nicht! Java Basics - Anfänger-Themen 3
D Brauche Hilfe: Funktion zum Kombinieren von Werten Java Basics - Anfänger-Themen 5
T Brauche Hilfe: Access DB + Hashmap Java Basics - Anfänger-Themen 2
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2
G Ich brauche eure Hilfe! Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben