Funktionsplotter

Anima97

Mitglied
Guten Abend,
ich denke schon eine Weile darüber nach, einen einfachen Funktionsplotter (2D) zu programmieren. Allerdings habe ich bisher keine Ansätze gefunden wie ich anfangen könnte, weil ich noch nicht einmal weiß wie ich das Koordinatensystem möglichst sauber umsetze.
Mal ein paar Fragen...

1. Wäre es sinnvoll ein Applet in Java zu programmieren oder würden JavaScript/PHP ausreichen (letzteres wäre mir persönlich lieber, weil ich kein Java beherrsche)?
2. Wie setze ich das Koordinatensystem um? Geht das einfach so oder muss ich dazu irgendeine Grafik als Hintergrund nehmen?
3. Gibt es einen Algorithmus, wie ich möglichst jede mathematische Funktion anzeigen lassen kann? Also sowohl f(x) = x als auch f(x) = x² oder f(x) = x³
 
Hallo,

1.) Ich würde nicht unbedingt damit Java anfangen zu lernen. Du kannst das entweder mit PHP (GD) oder JavaScript (Canvas) machen. Vielleicht gibt es auch ein fertige Lib für Plotter.

2.) Das müsstest du dir eben selber zeichnen. Ich würde ein Koordinatensystem-Objekt erstellen, welches wiederum einzelne Objekte hat, welche die Funktionen und Linien beinhalten.

Code:
TCoordinateSystem // verwaltet das ganze System (u.a. TCSObject)
TCSObject // verwaltet eine einzelne Funktion
TCSDrawer // zeichnet für TCSObject die Linien und Punkte

3.) Wie meinst du das genau? Du musst einfach die Werte für x ausrechnen. Das schwierigere wäre eher Funktionen wie "f(x) = x²", etc. zu parsen.
 
Hallo,

wenn du noch kein Java kannst, würde ich auch nicht dazu raten. Ich hab mal einen einfachen in Java implementiert, hat ansich gut geklappt, dabei parse ich die Funktionen nicht, da das doch zimlich kompliziert werden könnte. Man kann auch einfach JTextFields bzw. input type="text" verwenden, also so:
___x? + ___x? + ___x³ + ___x² + ___x + ___
(___ steht für Textfeld)
Außerdem noch:
___ sin(x + ___) + ___
und
___ cos(x + ___) + ___
Zwar keine so elegante, dafür aber einfache Lösung.

Um nicht immer auf dem Server testen zu müssen würde ich die zu JS + Canvas raten, falls du es online stellen / Anderen zeigen willst, binde noch dieses JS ein, denn IE < 9 unterstützt das Canvas-Tag von sich aus nicht!

javaDeveloper2011
 

Neue Beiträge

Zurück