Java Analysis - Problem mit dem Grphen

Lukas-Arts

Cadet 3rd Year
Registriert
Nov. 2004
Beiträge
37
Hallo zusammen!

Ich habe in der Schule zusammen mit einem Klassenkammeraden ein kleines Programm zur Analyse von Funktionen (bis max x^10) geschrieben. Dabei ist bei der graphischen Umsetzung ein recht merkwürdiger Fehler aufgetreten.
Bei der berechnung der Funktion auf der rechten Seite des Graphen entsteht eine merkwürdige Linie die irgendwo in folgendem Codeschnipsel erstellt wird:

Code:
for(x3=0;x3<+12.5*zoom;x3++)
{
    for(z=0;z<1;z=z+0.1)
    {
        y=-1*(k[10]*(Math.pow(x3+z,10))+k[9]*(Math.pow(x3+z,9))+k[8]*(Math.pow(x3+z,8))+k[7]*(Math.pow(x3+z,7))+k[6]*(Math.pow(x3+z,6))+k[5]*(Math.pow(x3+z,5))+k[4]*(Math.pow(x3+z,4))+k[3]*(Math.pow(x3+z,3))+k[2]*(Math.pow(x3+z,2))+k[1]*(Math.pow(x3+z,1))+k[0]);
        int x2=(int)((x3+z)*40/zoom)+500;
        int y2=(int)(y*40/zoom)+350;
        g.drawLine(x1,y1,x2,y2);
        x1=x2;
        y1=y2;
    }
}

Das Merkwürdige daran ist, dass a) links von der y-Achse genau der selbe Code benutzt wird, dieser Fehler dort aber nicht auftritt und b) meiner Meinung nach zeichnet das Programm an jedem x-Wert eigentlich nur EINE Linie...

Noch zu erwähnen wäre, dass die Linie immer beim Schnittpunkt mit der Y-Achse beginnt.

zur Veranschaulichung hier nochmal ein Bild (f(x)=0,5x²):
Ergänzung ()

okay hat sich erledigt - kann geclosed werden..
 

Anhänge

  • Graph.jpg
    Graph.jpg
    14,8 KB · Aufrufe: 241
Zuletzt bearbeitet:
Könnte es sein das die Linie beim initialisieren entsteht? also wenn du den cursor auf 0,0 setzt?
 
Kommentier mal die Zeile "g.drawLine(...)" aus. Wenn die unerwünschte Linie dann weg ist, liegt das Problem in dem Code, den du gepostet hast - dann müßtest du dir mal anzeigen lassen, wann welche Argumente an drawLine übergeben werden. Verschwindet die Linie, dann ist der Fehler woanders.
 
Wie oben schon erwähnt hat sich die Sache erledigt. Ich hatte die Zeile g.drawLine(...) auskommentiert und habe dadurch angenommen, der fehler wäre an der entsprechenden Stelle da die linie dann weg war. Tatsächlich war der fehler aber, dass ich nach der rechtsseitigen Berechnung vergessen hatte x1 und y1 wieder auf die Standardwerte zu setzten und dadurch bei der linksseitigen Berechnung (die danach folgt) die Linie vom rechten "ende" der funktion zum Schnittpunkt mit der y-Achse erstellt wurde.
Trotzdem danke für eure Hilfe ^^
 
Zurück
Oben