9. Zeichnen von (mehreren) FunktionsgraphenDie folgenden Grafikprogramme dienen dem Zeichnen von (mehreren) Graphen von reellen Funktionen, von parametrisierten ebenen Kurven und eines Punktfeldes (etwa die Interpolationspunkte) in der Ebene. Sie wurden von Jolanta Bajorska im Jahre 1999 erstellt und sollen als "Black Box" verwendet werden. Sie sollten in ein eigenes (Unter-)Verzeichnis heruntergeladen und entpackt werden (blackbox.zip), ganz entsprechend wie die Java-Programme. Eine "Bedienungsanleitung" schließt sich an. 9.1 Übersicht über die Black-Box-ProgrammeDie folgenden Dateien stammen dem eben geladenen und entpackten Archiv "blackbox.zip" und
enthalten die Java-Klassen (Quellprogramme), die von einer Applikationsklasse benutzt werden,
wenn gezeichnet werden soll.
Sie können nach Drücken der rechten
Maustaste und Auswahl von Zunächst die drei (z.T. abstrakten) Klassen
Die Klasse
Es gibt die Applikationsklasse
Um alle grafischen Objekte in einem Fenster zu zeichnen, wird die
Klasse Um eigene Zeichnungen nach dem folgenden Muster zu erstellen, empfehle ich, "nur" die folgenden 16 *.class-Dateien in das aktuelle Verzeichnis zu kopieren: Bild.class, BitFile.class, BitUtils.class, Darstellbar.class, Funktion.class, GIFEncoder.class, Grafik.class, ImageDescriptor.class, InterpolPunkte.class, Liste.class, LZWCompressor.class, LZWStringTable.class, MinMax.class, ParamKurve.class, ScreenDescriptor.class, SpeichernDialog.class Man kann aber auch ein neues Verzeichnis, z.B. unter Windows namens 9.2 Zeichnen des Graphen einer FunktionDies ist außerordentlich einfach. Man erstellt eine Unterklasse
der Klasse Wir nehmen als Beispiel die Wurzel-Funktion: public class Wurzel extends Funktion{ public Wurzel(double xMin, double xMax){ super(xMin,xMax); Name="Sqrt(x)"; } public double getY(double x){ return Math.sqrt(x); //negative Eingaben werden nicht abgefangen } }//Ende Wurzel Dann ist eine Applikationsklasse (wie
Die Initialisierung des Grafik-Objektes Danach kann man das Bild als *.gif-File abspeichern, wenn man
den Menupunkt Bei dieser Anwendung muss man neben der Klasse 9.3 Zeichnen zweier Graphen mit ausgezeichneten PunktenDiese Anwendung kommt bei der numerischen Interpolation zum Tragen, wenn man eine zu interpolierende Funktion, eine Interpolationsfunktion und Interpolationspunkte in der Ebene zeichnen will. Als Beispiel sei die zu interpolierende Funktion wieder die Wurzel-Funktion,
die drei Interpolationspunkte seien (0,0),(0.49,0.7) und (1,1),
die Interpolationsfunktion sei das zugehörige Interpolationspolynom
vom Grade 2. Das Interpolationspolynom werde als Objekt einer
Unterklasse namens /** Graphische Darstellung einer zu interpolierenden Funktion, einer Interpolationsfunktion und von Interpolationspunkten */ public class ZeichneInterp{ public static void main(String[] args){ Liste fr=new Liste(); Wurzel f1=new Wurzel(0,1); fr.addDarstellbar(f1); SpPol f2=new SpPol(0,1); fr.addDarstellbar(f2); double kX[]={0, 0.49, 1}; double kY[]={0, 0.7 , 1}; InterpolPunkte f3=new InterpolPunkte(kX,kY); fr.addDarstellbar(f3); Grafik g=new Grafik(fr); } } Hier werden direkt neben den Klassen Da wir es mit drei Objekten Der Vollständigkeit gebe ich auch die Klasse SpPol.java an: class SpPol extends Funktion{ public SpPol(double xMin, double xMax){ super(xMin,xMax); Name="Interpolationspolynom"; } public double getY(double x){ double y=x-0.84033614*x*(x-1) ; return y; } } 9.4 Zeichnen einer parametrisierten KurveHier muss eine Unterklasse der Klasse public class Ellipse extends ParamKurve{ public Ellipse(double min, double max){ super(min, max); Name="x=2*cos(t), y=4*sin(t)"; } public double getX(double t) {return 2*Math.cos(t);} public double getY(double t) {return 4*Math.sin(t);} } Dann kann die folgende sehr kurze Applikationsklasse benutzt werden: public class ZeichneEllipse{ public static void main(String[] args){ Ellipse f1=new Ellipse(0,2*Math.PI); Grafik g=new Grafik(f1); } } 9.5 Die wichtigsten Daten und Methoden zum ZeichnenHier stelle ich alle diejenigen (öffentlichen!) Daten und Methoden dar, die ein Benutzer dieser Black-Box-Klassen zum Zeichnen kennen sollte (siehe auch: javadoc).
Weiter mit 10. Einführung in Grafik.
|
![]() ![]() |
Impressum | 2009-03-14, wwwmath (WL) |