Mathematische Förmeln darstellen

Status
Nicht offen für weitere Antworten.

sTaX

Mitglied
Hi,
ich möchte gerne in einer GUI Mathematische Formeln sauber und ordentlich darstellen.
Geht das überhaupt ohne alles einzeln zu zeichnen?
 
Am besten eine abstrakte Klasse
Code:
abstract class MathLiteral{

    private int x, y; // evtl noch "width, height"

    public MathLiteral(int x,int y){
          this.x= x;
          this.y= y;
    }

    // Setter und Getter für x, y

    public abstract void paint(Graphics g);
}

und dann sinnvoll spezifische Klassen erstellen, bsp:

Code:
class Bruch extends MathLiteral{

   private MathLiteral zaehler, nenner;

   public Bruch(MathLiteral z, MathLiteral n, int x, int y){
           super(x,y);
           zaehler = z;
           nenner = n;
   }

   @Override
   public void paint(Graphics g){
        zaehler.paint(g);
        this.setY( this.getY() + 10);
        g.drawLine(x,y, Math.max(zaehler.getWidth(), nenner.getWidth());
        this.setY(this.getY() + 10);
        nenner.paint(g);
   }
Iiiiiirgendwie so 😉 Macht jetzt alles nicht viel Sinn, aber ich hoffe du siehst in welche Richtung ich damit
geh. Ein MathLiteral ist alles: Sowohl eine kleinste Zahl bis hin zur kompletten Formel. Jetzt musst du sie
nur gut verschachteln, und wenn du von außen deine Formel einliest, erstellst du nach und nach die einzelnen
Elemente, also Brüche etc, und gibst ihnen entsprechende Koordinaten mit. Die kannst du ja berechnen an
der Stelle, wo du die komplette Formel kennst.
 
Gibt es sowas nicht schon fertig.
Ist ja eine menge Arbeit.

Ich werde ja wohl nicht der erste sein, der das machen möchte
 
Gibt es sowas nicht schon fertig.
Bestimmt.

Ist ja eine menge Arbeit.
Und eines der besten Bsp für das Üben von OO-Programmierung mit Polymorphismus.

Ich werde ja wohl nicht der erste sein, der das machen möchte
Nein, aber wenn du es machen möchtest, dann kann es dir egal sein
ob es das schon gibt oder nicht. Ich meine willst du was Programmieren oder suchst
du eine Software zur Benutzung?
 
Naja, wenn man irgendwie in der lage gewesen ist, irgendwo den parse baum herzubekommen, und diesen in einen ordentlichen Formel-Baum umzuwandeln, dann bleibt ja fast nichts mehr zu tun, läuft ab da von selbst...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben