ich programmiere mir grad einen Funktionsplotter... er zeichnet mir schon die funktin und alles....habe doch bis jetzt nur das Korordinatenkreuz selbst hart gecodet....reingehackt!
somit war es nicht wirklich genau und auch der code natürlich nicht schön. Ich versuche nun mein Koordinatenkreuz schön dynamisch zu machen. Die Achsen ahbe ich auch soweit hinbekommen, habe einfach aus den Achsen auch eine lineare Funktion gemacht
das funktioniert auch super.alles ist perfect berechnet und gemalt worden....
nun will ich die beschriftung der Achsen auch noch hinbekommen.x Achse hat auch geklappt....aber irgendwie will die y-Achse nciht!Verstehe aber nicht wieso weil ich genau den gleich algorithmus verwende!
kann mir jemand helfen????:L
;(
somit war es nicht wirklich genau und auch der code natürlich nicht schön. Ich versuche nun mein Koordinatenkreuz schön dynamisch zu machen. Die Achsen ahbe ich auch soweit hinbekommen, habe einfach aus den Achsen auch eine lineare Funktion gemacht
Java:
/** Zeichnet das Koordinatenkreuz */
private void drawCross() {
canvas.addPaintListener(new PaintListener() {
public void paintControl(PaintEvent event) {
drawFunction("0");
drawFunction("10000*x");
}
});
}
nun will ich die beschriftung der Achsen auch noch hinbekommen.x Achse hat auch geklappt....aber irgendwie will die y-Achse nciht!Verstehe aber nicht wieso weil ich genau den gleich algorithmus verwende!
kann mir jemand helfen????:L
Java:
/** Zeichnet die Scala des Koordinatenkreuz */
private void drawScala() {
canvas.addPaintListener(new PaintListener() {
public void paintControl(PaintEvent event) {
// einteilung
MathEngine mathEngine = new MathEngine();
//funktion der x-Achse
IFunction x_f =mathEngine.eval("0");
//funktion der y-Achse
IFunction y_f = mathEngine.eval("1000*x");
KoordinatenUmrechnerX umrechnerX = new KoordinatenUmrechnerX(event.width, -10, 10);
KoordinatenUmrechnerY umrechnerY = new KoordinatenUmrechnerY(event.height, 10, -10);
//X-Koordinatenachse
// im Koordinatensystem gibt es 500 Pixel
for (int x = -10; x <= 10; x++) {
// berechnet für das x das y
double y = x_f.f(x);
// berechnet X-Pixel für die bestimmte Funktion
int px = (int) umrechnerX.f(x);
// berechnet Y-Pixel für die bestimmte Funktion
int py = (int) umrechnerY.f(y);
event.gc.drawLine(px, py-5, px, py+5);
event.gc.drawString(String.valueOf(x), px, py);
}
// //Y-Koordinatenachse
// im Koordinatensystem gibt es 500 Pixel
for (int x = 10; x >= -10; x--) {
// berechnet für das x das y
double y = y_f.f(x);
// berechnet X-Pixel für die bestimmte Funktion
int px = (int) umrechnerX.f(x);
// berechnet Y-Pixel für die bestimmte Funktion
int py = (int) umrechnerY.f(y);
event.gc.drawLine(px-5, py, px+5, py);
event.gc.drawString(String.valueOf(x), px, py);
}
}
});
}
;(
Zuletzt bearbeitet: