6 Visualisierung



next up previous contents
Next: 6.1 Oberflächenverfeinerung Up: Dissertation Robert Bauer Previous: 5.2.2.4 Generieren der Tetraeder

6 Visualisierung

 

Visualisierung fällt allgemein unter den Begriff Postprocessing, wobei hier keine Datenweiterverarbeitung im eigentlichen Sinn gemeint ist, sondern eine Überprüfung der Rechenergebnisse und Eingabedaten.

Da eine integrale Größe - die Kapazität - a priori keine Visualisierung der Ergebnisse verlangt, soll erklärt werden, warum ein relativ aufwendiges Werkzeug zur Visualisierung von Gittern und Potentialverteilungen implementiert wurde.

Vorrangiges Ziel war es, ein Programm zu erstellen, das es erlaubt, dreidimensionale Gitter und darauf definierte Attribute wie Potentialverteilungen und Materialzuordnungen zu visualisieren, um eine Fehlersuche in der Datenvorverarbeitung und im Feldberechnungsprogramm zu ermöglichen.

Die Implementierung baut auf der ,,vogle``-Bibliothek auf, welche nahezu die gleiche Funktionalität wie die bekannte Sun-GL-Bibliothek aufweist und frei erhältlich ist. Als Bildschirmtreiber wurde X- und als Druckertreiber gewählt. Die Gerätetreiberschnittstelle enthält Funktionen, die ein Zeichnen von Linien und gefüllten Polygonen, Löschoperationen und Farbenwechsel ermöglicht.

Auch in umgekehrter Richtung können Informationen übertragen werden, so können Maus-Position und Tastatur abgefragt werden. Da die bibliotheksinterne X--Schnittstelle kein Verkleinern oder Vergrößern der Fenstergeometrie gestattet, wurde die -Schleife um ein erweitert.

Die vom Programmierer sichtbare Schicht der vogle-Bibliothek stellt Funktionen, die folgende Operationen durchführen, zur Verfügung:

Objekte können in eine Display-Liste gestellt und später wieder abgerufen werden. Ebenfalls können Operationen, wie Rotation und Skalierung in die Display-Liste aufgenommen werden. Diese werden beim Aufruf der Anzeigeroutine interpretiert und ausgeführt. Der gesamte Zugriffmechanismus ist objekt- und nicht funktionsorientiert aufgebaut.

Neben diesen elementaren Grafikoperationen mußten zusätzliche Routinen, wie

implementiert werden, um die notwendige Funktionalität zu erreichen.

  
Abbildung 6.1: Gitter aus 4277 Tetreader, 1032 Oberflächendreiecke

Die Abbildung 6.1 zeigt ein Gitter mit 4277 Tetraedern, es wäre sinnlos, alle Tetraeder anzuzeigen. In einem Vorverarbeitungsschritt werden alle Dreiecksflächen verworfen, die zwei Referenzen zu Tetraedern aufweisen. Die restlichen Dreiecke bilden die Oberfläche des Gitters. Erst diese Daten werden zur Weiterverarbeitung verwendet. Die Referenzen zu den Tetradern werden für die Interpolationen zur Anzeige der Potentialverteilung mitgeführt.

Allgemein ist es möglich, Gitter, welche aus Dreiecks- oder Tetraederelementen bestehen, zu visualisieren. Lineare und quadratische Formfunktionen können zur Anzeige der Attribute verwendet werden.

  
Abbildung 6.2: Isoflächendarstellung, 4 Unterdreiecke





next up previous contents
Next: 6.1 Oberflächenverfeinerung Up: Dissertation Robert Bauer Previous: 5.2.2.4 Generieren der Tetraeder



Martin Stiftinger
Fri Nov 25 16:50:24 MET 1994