Programm "XY-Function"

Graphische Darstellung und Interpolation von Funktionswerten auf willkürlich angeordneten XY-Punkten

Copyright:   Helm Ing. 1999-2000

Inhalt:

  1. Kurze Programmbeschreibung
  2. DELAUNAY Triangulation
  3. Programmstruktur
  4. Dateiformat
  5. Raster auf Raster-Interpolation
  6. Einführende Beispiele

Kurze Programmbeschreibung


Home

DELAUNAY Triangulation

Haüfig werden Daten an unregelmäßig (zufällig) verteilten Stützstellen gemessen:

  


In diesem Beispiel wurden Funktionswerte an 102 XY-Punkten im Bereich: -1 < x,y < 1 gemessen.
Zur Visualisierung dieser Werte (als kontinuierliche Funktion) kann die XY-Ebene, basierend auf den Punktkoordinaten, mittels DELAUNAY Triangulation in Dreiecke zerlegt werden:



Dabei sollten folgende Forderungen erfüllt sein:
Nach der Zerlegung (Tesselierung) kann die Berechnung der Isolinien für jedes Dreieck einzeln, mittels linearer Interpolation erfolgen:



Die Triangulation bildet auch den Ausgangspunkt für die Erzeugung von 3D-Darstellungen z.B. mit OpenGL oder Direct3D.

Home

Programmstruktur

Das XY-Function Hauptfenster enthält folgene Bedienfelder:

1. Werkzeugschalter



  1. Einlesen einer Datenmenge im Textformat (vgl. Dateiformat, laden Sie z.B. file1.txt aus dem Stammverzeichnis),
  2. Speichern der aktuellen Datenmenge im Textformat,
  3. Löschen aller aktueller Daten,
  4. Kopieren des aktuellen Bildes in die Zwischenablage,
  5. Raster auf Raster-Interpolation,
  6. Beispiel: Solange der Schalter gedrückt wird, werden Zufallspunkte einer GAUSS-Verteilung erzeugt,
  7. Öffnen dieser Hilfe-Datei.

2. Bildmode-Register

Dieses besteht aus 2 Arbeitsblättern:

2D (Isolinien) 3D (OpenGL)
Die Vergrößerung des 3D-Bilds kann mit dem Schieberegler Abstand eingestellt werden. Außerdem kann das 3D-Bild durch Mausziehen rotiert werden, wobei nur die Richtung der Z-Achse verändert wird. Die Drehung um die Z-Achse erfolgt mit dem Schieberegler Drehung um Z. Die Koordinatenachsen X,Y und Z können ein- oder ausgeblendet werden(Achsen zeichnen).

3. Status-Zeile

Die Anzeige der Status-Zeile hängt vom gewählten Bildmodus ab.
2D (Isolinien): XY-Koordinaten und interpolierte Werte an der Mausposition im 2D-Bild,
3D (OpenGL): Richtung der Z-Achse und Drehwinkel um die Z-Achse.

Home

Dateiformat

Für jeden Datenpunkt muß eine Zeile mit jeweils drei Werten für X,Y und F eingelesen werden:



In der Eingabedatei für die Raster auf Raster-Interpolation werden nur zwei Werte je Zeile benötigt (X und Y).

Home

Raster auf Raster-Interpolation

Bevor Sie den entsprechenden Schalter 5 betätigen müssen Sie eine Eingabedatei anlegen, in der die Punkte des Zielrasters eingetragen sind (zwei Werte je Zeile, vgl. Dateiformat). Diese XY-Punkte sollten innerhalb der konvexen Hülle des Ausgangsrasters liegen, da Werte außerhalb nur grob geschätzt werden können. Nach dem Einlesen dieser Datei wird die aktuelle Funktion auf das neue Raster interpoliert.

Das Ergebnis wird in einem Meldungsfenster kommentiert:
... Punkte wurden eingelesen,
... Werte wurden interpoliert,
... Werte wurden geschätzt,
... Werte konnten nicht interpoliert werden.

Die interpolierten Werte werden in der Eingabedatei ergänzt:



Home

Einführende Beispiele

1. Einlesen einer Funktion

Es gibt vier Beispieldateien file1.txt ... file4.txt, die Sie einlesen und beliebig darstellen können. Vor dem Einlesen einer neuen Funktion sollten die alten Werte gelöscht werden (Löschen Schalter 3).

2. 3D-Parameter ändern
  1. Laden Sie eine Beispieldatei und setzen Sie das Bildmode-Register auf 3D (OpenGL),
  2. Ändern Sie die Einstellungen der Bedienelemente Abstand, Drehung um Z und Achsen zeichnen,
  3. Drehen sie die 3D-Darstellung durch Mausziehen.
3. 2D-Parameters ändern
  1. Laden Sie eine Beispieldatei und setzen Sie das Bildmode-Register auf 2D (Isolinien),
  2. Ändern Sie die Einstellungen der Kontrollschalter XY-Bereich, Zeichnen, Iso-Farben and Beschriftung im Parameter-Register,
  3. Der sichtbare Bereich der Funktion kann durch Ziehen der Maus von links oben nach rechts unten (linke Taste) vergrößert werden. Durch inverses Ziehen von rechts unten nach links oben wird der eingestellte XY-Bereich wieder angezeigt.
4. Manuelles Hinzufügen von Daten
  1. Setzen Sie den Bildmodus auf 2D (Isolinien),
  2. Wählen Sie eine Beispieldatei oder drücken Sie den Löschen Schalter 3 um ein neues Datenprojekt anzulegen.
  3. Fügen Sie einen neuen Datenpunkt durch Mausklick (rechte Maustaste) auf die entsprechende Position im 2D-Bild und Werteingabe hinzu.
5. Beispiel: Zufallspunkte einer GAUSS-Verteilung

Solange der Beispiel Schalter 6 nach unten gedrückt ist, werden Zufallspunkte einer GAUSS-Verteilung erzeugt und dargestellt. Setzen Sie den Mauszeiger auf das Intensitätsmaximum im 2D-Bild, dann können Sie den Maximalert und dessen Koordinaten abschätzen (Wertanzeige in der Statuszeile, Wahre Werte: x = -0.5, y = -0.33, F = 100).

6.Erzeugung eines regulären Rasters

Setzen Sie das 2D-Parameter Register auf Reguläres Raster. Erzeugen und speichern Sie ein regulärs Stützstellenraster (Bedingung: Punktzahl kleiner als 2001). Die aktuellen Daten werden dabei gelöscht.

7. Raster auf Raster-Interpolation
  1. Erzeugen Sie z.B. mit dem Beispiel Schalter 6 einen neuen Datensatz,
  2. Speichern Sie diesen ( Speichern Schalter 2),
  3. Erzeugen und speichern Sie ein regulärs Stützstellenraster (jeweils 10 X- und Y- Schritte, das sind 11 * 11 Punkte) - der XY-Bereich sollte dabei unverändert bleiben,
  4. Laden Sie die zuvor gespeicherte Funktion und drücken Sie den Interpolations Schalter 5,
  5. Wählen Sie im Datei-Öffnen-Dialog das erzeugte Zielraster aus.

Home