In diesem Kompendium werden die Möglichkeiten von MATLAB zur Erzeugung von Grafiken übersichtlich und gut nachvollziehbar dargestellt.
Inhaltsverzeichnis
1 Was ist MATLAB
2 Grafische Objekte
2.1 Einführung
2.2 Grafische Objekte und ihre Properties
2.3 Setzen von Properties
2.3.1 Setzen in der Parameterliste
2.3.2 Setzen mit spezieller Funktion
2.3.2.1 Die Property-List-Methode
2.3.2.2 Die Cellarray-Methode
2.3.2.3 Die Struktur-Methode
2.3.3 Interaktive Methoden
2.4 Spezielle Funktionen
2.4.1 Abfragen von Properties
2.4.2 Suche nach Objekten
2.4.3 Rücksetzen von Properties
2.5 Klassen von Properties
2.6 Darstellung von Properties in dieser Dokumentation
2.7 Gemeinsame Properties
2.8 Ablauf der Erzeugung grafischer Objekte
2.8.1 Allgemeines
2.8.2 Leeren der Eventqueue
2.9 Darstellung grafischer Objekte
2.10 Kopieren von Objekten
2.11 Verbinden von Objekt-Properties
3 Objekten zugeordnete Funktionen
3.1 Allgemeine Form der Funktionsvereinbarung
3.2 Button-Down Funktion
3.3 Delete Funktion
3.4 Create-Funktion
3.5 Contextmenu
4 Farbe in Matlab
4.1 Einzelfarben
4.2 Colormaps
4.2.1 Definition
4.2.2 Darstellung der Colormap
4.2.3 Einstellung der Colormap
4.2.4 Verändern einer Colormap
4.2.4.1 Verändern der Helligkeit
4.2.4.2 Dynamische Veränderung der Colormap
4.2.4.3 Colormap-Editor
4.3 Spezielle Grau-Colormap
4.4 Fixed Colormap
4.5 Weitere Farbcodierungen
4.5.1 HSV-Darstellung
4.5.2 NTSC-Darstellung
4.5.3 CMYK-Darstellung
4.5.4 Umrechnungsprogramme
5 Root-Objekt
5.1 Allgemeines
5.2 Root-Properties
5.3 Echofunktion
5.4 DiaryFunktion
6 Figure-Objekt
6.1 Einführung
6.2 Funktionen
6.3 Properties
6.4 Pointer
7 Axes-Objekt
7.1 Axes
7.1.1 Erzeugung
7.2 Subplots
7.3 Achsen
7.3.1 Sichtbarkeit
7.3.2 Achsenskalierung
7.3.3 Lage der Achsen
7.3.4 Teilung der Achsen
7.3.5 Markierung der Achsen
7.3.6 Beschriftung der Achsen
7.3.7 Gitter
7.3.8 Zeichnungsbeschriftung
7.3.9 Properties für Linien und Beschriftungen
7.3.10 Weitere Properties
7.4 Seitenverhältnis (Aspect ratio)
7.5 Verbinden von Axes
7.6 Multi-Axes
7.7 Farbfestlegung bei Axes
7.8 Farbumschaltung beim Drucken von Grafik-Objekten
7.9 Cursor-Position
7.10 Koordinatenumrechnung
7.11 Entfernen von Objekten, Löschen von Axes
8 Texte und Text-Objekt
8.1 Texte
8.2 Text-Objekt
8.3 Text-Properties
8.4 Eine Funktion zur Einstellung des Schriftbildes
8.5 Latax-Font
9 Plotfunktion, Line-Objekt
9.1 Grundlagen
9.1.1 Funktionen mit einer unabhängigen Variablen
9.1.2 Funktionen mit zwei unabhängigen Variablen
9.2 Plot-Funktionen
9.2.1 Plotfunktionen für zweidimensionale Darstellungen
9.2.2 Plotfunktion für dreidimensionale Darstellungen
9.2.3 Plotten zweidimensionaler Funktionen in logarithmischer Achsteilung
9.2.4 Line-Properties
9.3 Die Funktion fplot
10 Spezielle Plots
10.1 Plotten zeitdiskreter Signale
10.2 Plotten von Stufenfunktionen
10.3 Area-Plots
10.4 Bar-Plot
10.5 Histogramm-Plots
10.5.1 Plotten der Dichtefunktion
10.5.2 Plotten der Verteilungsfunktion
10.6 Scatter-Funktionen
10.6.1 Zweidimensionale Darstellung
10.6.2 Dreidimensionale Darstellung
10.6.3 Kombination von Scatter- und Dichtefunktion-Plots
10.7 Plotten von Fehlerbalken
10.8 Berechnung der komplexen Hülle einer Punktmenge
11 Polardarstellungen
11.1 Mathematische Grundlagen
11.2 Funktionen
12 Delaunay-Triangulation und Voronoi-Diagramm
12.1 Delaunay-Triangulation
12.1.1 Begriffsfestlegung
12.1.2 Berechnung der Triangulation
12.1.3 Darstellung der Triangulation
12.2 Voronoi-Diagramm
12.2.1 Begriffsfestlegung
12.2.2 Berechnung und Darstellung des Voronoi-Diagramms
13 Darstellungen von Funktionen mit zwei unabhängigen Variablen
13.1 Mathematische Grundlagen
13.1.1 Einführung
13.1.2 Berechnung über äquidistantem Punktraster
13.1.3 Interpolation
13.1.4 Berechnung über beliebiger Punktverteilung
13.1.5 Berechnung von Contourlinien
13.1.6 Berechnung des Gradienten
13.1.7 Feldlinien
13.2 Surface-Objekt
13.2.1 Einführende Bemerkungen
13.2.2 Surface-Plot
13.2.3 Die Surface-Properties
13.2.4 Colormap bei Surface-Objekten
13.2.5 Textur für Oberflächen von Surfaceplots
13.2.6 Verborgene Linien
13.2.7 Transparenz des Surface-Objekts
13.2.8 Verbindung mit anderen Objekten
13.3 Spezielle Darstellungen
13.3.1 Contourlinien in zwei Dimensionen
13.3.2 Contourlinien in drei Dimensionen
13.3.3 Gradientenberechnung und Quiverdarstellungen
13.3.4 Berechnung und Darstellung von Feldlinienin in zwei Dimensionen
13.3.5 Berechnung der Flächennormalen
13.4 Kombinationsfunktionen
14 Patch-Objekte
14.1 Grundlegende Begriffe
14.2 Darstellungsmethoden
14.2.1 Polygon-Darstellung
14.2.2 Mehrfacetten-Darstellung
14.2.3 Umrechnung der Darstellungsarten
14.2.4 Transparenz des Patch-Objekts
14.2.5 Verbindung mit anderen Objekten
14.3 Properties für das Patchobjekt
14.4 Reduzierung der Faces
15 Image-Objekte
15.1 Einführung in das Thema
15.2 Digitale Bilder
15.2.1 Vorbemerkungen
15.2.2 Grundlegende Begriffe
15.2.3 Digitalisierung ortskontinuierlicher Bilder
15.3 Ausschneiden und Zoomen eines Bildes
15.4 Reduktion und Erhöhung der Auflösung
15.5 Bildtypen
15.5.1 Schwarz-Weiß- oder Intensity-Image (INT-Bilder)
15.5.2 Binär-Bilder oder Binary-Image(BIN-Bild)
15.5.3 Farb-Bilder
15.5.3.1 Echtfarben-Bild oder Truecolor-Images (RGB-Bild))
15.5.3.2 Index-Bild oder Indexed-Images (IND-Bild)
15.6 Umrechnung der Bildtypen
15.7 Matlabinterne Speicherung von Bildern
15.8 Portable Bildspeicherung
15.9 Darstellung von Bildern
15.10 Bereitstellen von Bildinformation
15.11 Figure- und Axesabzüge
15.12 Zusammenfügen von Bildern zu übergeordneten Einheiten
15.13 Image-Properties
15.14 Einige technische Details
15.14.1 Scannen
15.14.2 Digitale Fotographie
15.14.3 Bildschirm
16 Dreidimensionale Skalarfelder und ihre Darstellung
16.1 Grundlagen
16.2 Darstellung von Skalarfeldern durch Slices
16.2.1 Erzeugung achsenorthogonaler Slices
16.2.1.1 Flächen-Slices
16.2.1.2 Contourslices
16.2.2 Erzeugung ebener Flächen-Slices beliebiger Lage
16.3 Darstellung von Skalarfeldern durch Niveauflächen und Begrenzungen
16.3.1 Erzeugung der Niveauflächen
16.3.2 Einfärbung von Niveauflächen
16.3.3 Erzeugung von Begrenzungen
16.3.4 Bildung von Ausschnitten
16.3.5 Verbesserung der Darstellung
16.3.5.1 Benutzung von Flächennormalen
16.3.5.2 Reduktion der Patch-Faces
16.3.5.3 Glättung
16.4 Verringerung des Speicherbedarfs
16.5 Hilfsprogramm
16.6 Meshgrid für drei Dimensionen
17 Dreidimensionale Vektorfelder und ihre Darstellung
17.1 Grundlagen
17.2 Feldlinien und verwandte Darstellungen
17.2.1 Berechnungsmethode
17.2.2 Feldlinien
17.2.3 Streamtubes
17.2.4 Streamribbons
17.3 Streamparticles
17.4 Coneplots
17.5 Hilfsfunktion
18 Darstellung von Graphen
18.1 Allgemeine Graphen
18.2 Erzeugung eines Baum-Graphen
19 Rechteck-Objekte
19.1 Erzeugung von Rechtecken
19.2 Aufziehen von Rechtecken mit der Maus
19.3 Bewegen von Rechtecken
20 Vermessung von Objekten
21 Bewegung von Objekten
21.1 Grundsätzliches
21.2 Translatorische Bewegung von Objekten
21.2.1 Translation eines Objekts durch Berechnung
21.2.2 Translation eines Objekts mittels Matlabfunktion
21.3 Rotation von Objekten
21.4 Beliebige Bewegungen im Figure
21.5 Zoomen
22 Licht-Objekt
22.1 Einfluss von Axes-Properties
22.2 Einfluss von Surface- oder Patch-Properties
22.3 Zusätzliches Light-Objekt
23 Kamera-Objekt
23.0.1 Grundlegende Begriffe
23.0.2 Camera-Properties
23.0.3 Kopplung eines Light-Objekte mit einem Kamera-Objekt
23.0.4 Unterprogramme für spezielle Kamerabewegungen
23.1 Kombinationsfunktion
24 Transparenz von Surface- und Patch-Objekten
24.1 Übersicht
24.2 Alpha-Daten
24.2.1 AlphaData-Matrix für Surface- und Image-Objekte
24.2.2 Face-Vertex-AlphaData-Matrix für Patch-Objekte
24.3 Alphamap
24.4 Übergang von AlphaData zur Transparenz
25 GUI-Objekte
25.1 Uicontrol-Objekt
25.2 Uipanel-Objekt
25.3 Änderung des Toolbars und des Menubars eines Figures
25.3.1 Uimenu-Objekt
25.3.2 Erzeugen eines Figure-Toolbar
25.3.3 Uitoolbar-Objekt
25.3.4 Uipushtool-Objekt
25.3.5 Uitoggletool-Objekt
26 Dlg-Boxes
26.1 Dialog-Box
26.2 Message-Box
26.3 Abfrage-Box
26.4 Menu-Box
26.5 Popup-Box
26.6 Eingabe-Box
26.7 Weitere Dialogboxes
27 Grafische Ein- und Ausgabe
27.1 Grafische Eingabe von Koordinaten in einem Axes
27.2 Interaktive Ausgabe von Text
28 Kommentierung von Objekten
28.1 Annotation-Objekte
28.2 Legend-Objekt
29 Erzeugung von Filmen
29.1 Einführung
29.2 Erstellen von Filmen
29.3 Abspielen von Filmen
30 Renderer
30.1 Überblick
30.2 Kurzbeschreibung der Renderer
30.2.1 Painters
30.2.2 Z-Buffer
30.2.3 OpenGL
30.3 Properties zur Einstellung des Renderers
31 Sicherung von Figures
31.1 Ausgabe eines Figure
31.2 Speicherung des Figure
32 Einrichten des Startup-Files
Zielsetzung & Themen
Dieses Kompendium bietet eine umfassende Übersicht über die grafischen Fähigkeiten von MATLAB. Das primäre Ziel ist es, dem Anwender ein strukturiertes Nachschlagewerk für die Erzeugung, Bearbeitung und Verwaltung grafischer Objekte und deren Eigenschaften zu liefern.
- Grundlagen der Objektverwaltung in MATLAB
- Methoden zur farblichen Gestaltung und Arbeit mit Colormaps
- Visualisierung von Daten durch verschiedene Plot-Typen
- Erstellung interaktiver Benutzeroberflächen (GUI)
- Darstellung komplexer 3D-Skalar- und Vektorfelder
Auszug aus dem Buch
15.1 Einführung in das Thema
Den meisten Lebewesen ist die Fähigkeit sich ein Bild seiner Umgebung zu machen gegeben. Im Verlaufe der Evolution haben sich entsprechende Organe so entwickelt, dass im Gehirn des Lebewesens ein Bild von dem entsteht was um ihm ist.
Wir können ziemlich sicher sein, dass bei allen Lebewesen der gleichen Art das gleiche Bild im Gehirn entsteht.
Der Mensch hat im Verlauf seiner kulturellen Entwicklung schon sehr bald den Wunsch verspürt ein Bild seiner Umwelt zu behalten, wir nennen dies heute Speichern.
Die naheliegenste Art dieser Speicherung ist die Anfertigung einer Abbildung, da die Speicherung in unserem Gehirn selbst offenbar nicht vorgesehen ist. Diese Erstellung einer Abbildung verlangt zuerst ein Speichermedium, einen Bildträger. Bis auf unsere Zeit haben sich unterschiedliche Trägermaterialien erhalten. Am längsten haben wohl Knochen aus der Zeit um 17.000 bis 14.500 v. Chr. und die Höhlenwände, z.B. in Lasccaux um 15.000 bis 10.000 v.Chr. gehalten.
Zusammenfassung der Kapitel
Was ist MATLAB: Diese Einleitung charakterisiert MATLAB als umfassendes System für mathematische Berechnungen, Visualisierungen und Programmorganisation.
Grafische Objekte: Das Kapitel erläutert das System der grafischen Objekte in MATLAB, die durch Typen und Properties definiert und über Handles verwaltet werden.
Objekten zugeordnete Funktionen: Hier werden Möglichkeiten beschrieben, Objekten automatisch oder durch Interaktion Funktionen zuzuweisen, wie z.B. bei Mausbetätigung.
Farbe in Matlab: Dieser Teil behandelt die Erzeugung und Steuerung farblicher Mittel, einschließlich der Nutzung von Colormaps und verschiedener Farbcodierungen.
Root-Objekt: Das Kapitel beschreibt das Root-Objekt als oberste Instanz, die den Bildschirm und allgemeine Einstellungen verwaltet.
Figure-Objekt: Hier wird das Figure als zentrale Darstellungsfläche für alle anderen grafischen Objekte eingeführt.
Axes-Objekt: Das Kapitel widmet sich dem Axes-Objekt, das für die Gestaltung von Koordinatensystemen und die Beschriftung von Zeichnungen verantwortlich ist.
Texte und Text-Objekt: Dieser Abschnitt erläutert, wie Texte in grafische Darstellungen integriert und formatiert werden können.
Plotfunktion, Line-Objekt: Hier werden die Grundlagen des Plottens von Funktionen mit einer oder zwei unabhängigen Variablen behandelt.
Spezielle Plots: Dieser Teil stellt spezialisierte Darstellungsformen vor, wie etwa Stem-Plots für zeitdiskrete Signale oder Balkendiagramme.
Polardarstellungen: Das Kapitel widmet sich der Visualisierung von Daten in Polarkoordinaten.
Delaunay-Triangulation und Voronoi-Diagramm: Hier werden duale Verfahren zur Flächenzerlegung von Punktmengen vorgestellt.
Darstellungen von Funktionen mit zwei unabhängigen Variablen: Dieser Abschnitt beschreibt die Visualisierung von 3D-Daten mittels Surface-Objekten und Contourlinien.
Patch-Objekte: Das Kapitel erklärt die Arbeit mit Patch-Objekten für die Erzeugung von Facetten und komplexen geometrischen Flächen.
Image-Objekte: Hier werden die Grundlagen digitaler Bilder und deren Handhabung als Image-Objekte in MATLAB behandelt.
Dreidimensionale Skalarfelder und ihre Darstellung: Der Abschnitt erläutert Techniken zur Visualisierung räumlicher Daten, etwa durch Slices oder Isosurfaces.
Dreidimensionale Vektorfelder und ihre Darstellung: Dieses Kapitel behandelt Methoden zur Darstellung von Vektorfeldern, beispielsweise durch Feldlinien oder Stromröhren.
Darstellung von Graphen: Hier wird die Visualisierung von Knoten-Kanten-Strukturen und Baum-Graphen beschrieben.
Rechteck-Objekte: Dieser Abschnitt erklärt die Erzeugung und Interaktion mit Rechteck-Objekten.
Vermessung von Objekten: Das Kapitel behandelt Werkzeuge zur interaktiven Vermessung von grafischen Daten.
Bewegung von Objekten: Hier wird beschrieben, wie Objekte translatorisch verschoben oder rotiert werden können.
Licht-Objekt: Dieser Teil widmet sich der Beleuchtung 3D-Objekter mittels Light-Objekten.
Kamera-Objekt: Das Kapitel erklärt die Steuerung der Sicht auf 3D-Objekte über Kameraeigenschaften.
Transparenz von Surface- und Patch-Objekten: Hier wird die Einstellung der Transparenz bei 3D-Flächen behandelt.
GUI-Objekte: Der Abschnitt erläutert den Aufbau interaktiver Benutzeroberflächen durch Uicontrol- und Uipanel-Objekte.
Dlg-Boxes: Dieses Kapitel beschreibt spezielle Dialogboxen zur Mensch-Programm-Kommunikation.
Grafische Ein- und Ausgabe: Hier werden Möglichkeiten zur interaktiven Koordinateingabe und Textausgabe erläutert.
Kommentierung von Objekten: Dieser Teil befasst sich mit Annotationen und Legenden zur Erläuterung grafischer Darstellungen.
Erzeugung von Filmen: Das Kapitel beschreibt die Erstellung und Wiedergabe von Filmsequenzen in MATLAB.
Renderer: Hier werden die verschiedenen Rendering-Methoden zur Grafikerzeugung gegenübergestellt.
Sicherung von Figures: Der Abschnitt widmet sich dem Drucken und Speichern von Grafiken in verschiedenen Dateiformaten.
Einrichten des Startup-Files: Zum Abschluss wird erklärt, wie das MATLAB-Startup-File zur Konfiguration verwendet wird.
Schlüsselwörter
MATLAB, Grafik-Objekte, Plotfunktionen, Axes, Figure, Surface-Objekte, Patch-Objekte, Bildverarbeitung, Skalarfelder, Vektorfelder, GUI, Rendering, Animation, Annotation, Properties
Häufig gestellte Fragen
Worum geht es in diesem Werk?
Das Buch dient als umfassendes Kompendium für die Arbeit mit grafischen Objekten und deren Visualisierung in MATLAB.
Welche Themenfelder stehen im Fokus?
Die zentralen Themen umfassen die Objektverwaltung, die Visualisierung von 2D- und 3D-Daten, die Gestaltung von Benutzeroberflächen sowie Bildverarbeitungstechniken.
Welches Ziel verfolgt die Arbeit?
Ziel ist es, Anwendern eine präzise Anleitung zur effizienten Programmierung grafischer Darstellungen in MATLAB an die Hand zu geben.
Welche wissenschaftlichen Methoden werden angewandt?
Die Arbeit setzt auf eine methodische Zerlegung der MATLAB-Grafik-Architektur in Objekthierarchien, Property-Management und spezifische Visualisierungsalgorithmen.
Was wird im Hauptteil behandelt?
Der Hauptteil deckt detailliert alle relevanten Objektklassen ab, von einfachen 2D-Plots über komplexe 3D-Felder bis hin zu fortgeschrittenen GUI-Elementen.
Welche Schlüsselbegriffe charakterisieren das Werk?
Die wichtigsten Begriffe sind grafische Objekte, Properties, Handles, Rendering, Visualisierung von Skalar- und Vektorfeldern sowie GUI-Programmierung.
Wie lassen sich 3D-Skalarfelder visualisieren?
Das Werk beschreibt dazu Techniken wie Slices, Niveauflächen (Isosurfaces) und die Nutzung von Flächnormalen zur verbesserten Darstellung.
Wie werden Animationen erzeugt?
Animationen werden durch das sequenzielle Erstellen und Abspielen von Frames realisiert, wobei die Funktion 'getframe' zentral ist.
Wie kann die Transparenz von Objekten beeinflusst werden?
Transparenz wird über Alpha-Daten (AlphaData-Matrix) und spezifische Properties wie FaceAlpha und EdgeAlpha gesteuert.
- Arbeit zitieren
- Helmut Roderer (Autor:in), 2011, Grafik in MATLAB, München, GRIN Verlag, https://www.hausarbeiten.de/document/183357