Plug-In für Kurvendiskussionen

Darstellung von Funktionsgraphen

Plug-In für Kurvendiskussionen
Für jtap soll ein Plug-In erstellt werden, mit dem sich eine Funktion in ein Koordinatensystem zeichnen läßt.

Eine Funktion soll mindestens durch folgende Basis-Eigenschaften festgelegt werden:

  • Funktionsname z.B. f,g,h
  • Name der Laufvariablen, z.B. x,r,k
  • Funktionsdefinition, z.B. x^3+23*x-sin(x)
  • Funktionskommentar, z.B. "Kosten", "Höhe", "1. Ableitung"
  • Bezeichnung für Abzisse und Ordinate
  • Wertebereich und Einheiten auf der Abzisse und Ordinate
  • Dargestellter Bereich der Funktion (z.B. kann der Wertebereich entlang der x-Achse von -50 bis +20 gehen, die Funktion soll aber nur im Bereich -10 bis +10 gezeichnet werden)
  • Farbe für Funktion, Kommentar, Abzisse, Ordinate
  • Sichtbarkeit für Funktion, Kommentar, Abzisse, Ordinate soll ein-/ausschaltbar sein
Weiterhin sollen bestimmte Merkmale einer Funktion visualisiert werden, z.B. Nullstellen, Wendepunkte, Steigungsart, Über-/Unterschreiten von Schwellwerten. Hierfür sind geeignete Plug-In-Eigenschaften zu finden, mit denen sich die Visualisierung festlegen lässt (z.B. Angabe einer Geometrie oder Grafikdatei, mit der bestimmte Punkte gekennzeichnet werden). Fährt der Benutzer mit der Maus über spezielle Merkmale, so soll ein (über eine weitere Eigenschaft festlegbarer) Kommentar eingeblendet werden (Roll-Over-Effekt).

Außerdem ist ein weiteres Plug-In zu entwickeln mit dem sich mehrere Funktions-Elemente gruppieren lassen. Dieses Meta-Element soll folgende Aufgaben übernehmen:

  • sicherstellen, dass sich die Kommentare und Bezeichnungen der verwalteten Elemente nicht überlappen
  • Synchronisation des Koordinatenkreuzes, d.h. alle Koordinatenkreuze überdecken sich
  • ein Pop-up-Menü ermöglicht das Ein- und Ausblenden der verwalteten Funktionen (also das Setzen der jeweiligen Sichtbarkeits-Eigenschaft)
  • Visualisierung gemeinsamer Merkmale unter den Funktionen, z.B. die Schnittstellen zweier Funktionen
Die Plug-Ins sollen mindestens auf folgende tell-Nachrichten reagieren:
scroll up|down|left|right steps
verschiebt den Wertebereich in eine der angegebenen Richtungen um "steps" Einheiten.
zoom factor [horizontal|vertical]
vergrößert / verkleinert den sichtbaren Wertebereich proportional, oder optional nur horizontal/vertikal um "factor" Prozent
animate steps
zeichnet die Funktion einmal, wobei die Funktion schrittweise in "steps" Schritten aufgebaut wird, Beispiel: Der dargestellte Bereich der Funktion liege zwischen 10 und 60 und umfasse somit 50 Einheiten. Wenn "steps" auf 10 gesetzt wird, so wird die Funktion entlang dieser 50 Einheiten in 10 Schritten á 5 Einheiten nacheinander gezeichnet. Die Funktion wird also zunächst im Bereich 10 bis 15 gezeichnet. Nach einer Pause (nächster Aufruf von TAPElement.update()) wird der nächste Abschnitt von 15 bis 20 gezeichnet und so weiter. Nach 10 Schritten ist die Funktion vollständig innerhalb des dargestellten Bereichs gezeichnet.
Umgebung
jtap
Ansprechpartner
Christian Kohls

Hauptnavigation