In diesem ersten AWT-Beispiel-Programm habe ich ein paar grundlegende Grafik-Ausgaben realisiert.
Interpolation einer Polygonlinie durch einzelne Bezier-Abschnitte.
Wie ich gesehen habe, wäre ein DoubleBuffering der Ausgabe sehr sinnvoll. Ich werde mich darum wohl als nächstes kümmern (keine Ahnung, ob das mit AWT möglich ist :-)).
Download:
Hier die zentralen Algorithmen zur Berechnung und Darstellung: AWTBezier.java
Hier die JAR-Datei (einfach auf den PC kopieren und ausführen): AWTBezier.jar
Ich würde mich freuen, wenn ihr einen Blick auf meine Bilder riskiert: Bleistiftzeichnungen
Erklärung zum Beispielprogramm:
In das Hauptfenster kann man durch einzelne Mausklicks (linke Maustaste) Punkte setzen.
Diese Punkte werden in einem Array gespeichert (class Point) und über eine hellgrüne Polygonlinie verbunden.
Ein Algorithmus berechnet zu jedem Punkt die notwendigen Kontrollpunkte um eine Bezierkurve so anzulegen, dass sich eine schön geschwungene Linie ergibt.
WICHTIG:
-> Die Abläufe können noch weiter optimert werden, so dass Berechnungen eingespart werden.
Die Kontrollpunkte werden in einem zweiten Array gespeichert (class Point2D) und über eine hellrote Polygonlinie dargestellt (man sieht dabei sehr schön die tangentiale Lage dieser Punkte)
Die eigentliche Kurve wird über die AWT-Klasse 'CubicCurve2D' ausgegeben.
Tasten am oberen Rand:
Version 08.09.2014
Copyright (C) 2014 by SEA
Software-Entwicklung Aichinger