Guten Tag,
ich habe einen Taschenrechner programmiert welcher Funktionen zeichnen kann.
Die Funktionen zeichnet er auf einem JPanel, dabei habe ich die paint methode überschrieben und arbeite mit Ovalen und Linien. Nun jedoch das Problem, beim Zeichnen errechnet das Programm für jeden X-Wert den dazugehörigen Y-Wert und zeichnet den Punkt auf das Panel.
Das Problem liegt darin das die Darstellung zu ungenau ist, die Kurve einer x² Funktion sieht einem Dach ähnlicher als einer Kurve.
Gibt es eine Möglichkeit zwischen den Punkten zu zeichnen, sprich in 0,1 Schritten?
Sodass meine Funktionen schöne Kurven bekommt?
Funktionsabschnitt zum Zeichnen von Punkt und Linie:
Zum Verständniss:
g = Graphics Object
pWerte = Punkt mit aktuellen Ergebniss (Teil aus Schleife)
iZoomfaktor = "vergrößerung" des Graphen
iOffset = Offset um den Graphen mittig zu zeichnen
pAltWerte = Punkt mit Werten aus vorherigen Punkt
ich habe einen Taschenrechner programmiert welcher Funktionen zeichnen kann.
Die Funktionen zeichnet er auf einem JPanel, dabei habe ich die paint methode überschrieben und arbeite mit Ovalen und Linien. Nun jedoch das Problem, beim Zeichnen errechnet das Programm für jeden X-Wert den dazugehörigen Y-Wert und zeichnet den Punkt auf das Panel.
Das Problem liegt darin das die Darstellung zu ungenau ist, die Kurve einer x² Funktion sieht einem Dach ähnlicher als einer Kurve.
Gibt es eine Möglichkeit zwischen den Punkten zu zeichnen, sprich in 0,1 Schritten?
Sodass meine Funktionen schöne Kurven bekommt?
Funktionsabschnitt zum Zeichnen von Punkt und Linie:
Java:
g.fillOval( (-(pWerte.x / iZoomfaktor) + iOffsetX ),
(-(pWerte.y / iZoomfaktor) + iOffsetY), 3, 3);
pAltWerte = alWerte.get( i-1);
g.drawLine( (-(pWerte.x / iZoomfaktor) + iOffsetX), (-(pWerte.y / iZoomfaktor)
+ iOffsetY), (-((pAltWerte.x) / iZoomfaktor ) + iOffsetX),
(-(pAltWerte.y / iZoomfaktor) + iOffsetY) );
Zum Verständniss:
g = Graphics Object
pWerte = Punkt mit aktuellen Ergebniss (Teil aus Schleife)
iZoomfaktor = "vergrößerung" des Graphen
iOffset = Offset um den Graphen mittig zu zeichnen
pAltWerte = Punkt mit Werten aus vorherigen Punkt