Erstellen von Netz- und Oberflächenplots
Über Netz- und Oberflächenplots
MATLAB® definiert eine Oberfläche über die z-Koordinaten von Punkten über einem Raster in der x-y-Ebene und verwendet dabei Geraden, um benachbarte Punkte zu verbinden. Die Funktionen mesh
und surf
zeigen Oberflächen in drei Dimensionen an.
mesh
erstellt Drahtmodelloberflächen, die nur die Linien farbig darstellen, die die definierenden Punkte verbinden.surf
zeigt sowohl die verbindenden Linien als auch die Flächen der Oberfläche farbig an.
MATLAB zeigt Oberflächen farbig an, indem z-Datenwerte den Indizes in der Farbzuordnung zugeordnet werden.
Visualisieren der Funktionen zweier Variablen
Gehen Sie wie folgt vor, um eine Funktion zweier Variablen, z = f (x,y), anzuzeigen:
Generieren Sie
X
- undY
-Matrizen, die aus wiederholten Zeilen bzw. Spalten im Bereich der Funktion bestehen.Verwenden Sie
X
undY
, um die Funktion auszuwerten und grafisch darzustellen.
Die Funktion meshgrid
transformiert den Bereich, der von einem einzelnen Vektor oder von zwei Vektoren, x
und y
, angegeben wird, in Matrizen, X
und Y
, die in Auswertungsfunktionen zweier Variablen verwendet werden. Die Zeilen von X
sind Kopien des Vektors x
und die Spalten von Y
sind Kopien des Vektors y
.
Grafische Darstellung der Funktion „sinc“
Dieses Beispiel veranschaulicht, wie die zweidimensionale Funktion sinc
, sin(R)/R, zwischen den x- und y-Richtungen ausgewertet und grafisch dargestellt wird. R ist der Abstand vom Ursprung, der sich am Mittelpunkt der Matrix befindet. Durch Hinzufügen von eps
(ein sehr kleiner Wert) wird ein Loch im Netz an dem Punkt verhindert, wo R = 0
.
[X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; mesh(X,Y,Z)
Standardmäßig verwendet MATLAB die aktuelle Farbzuordnung, um das Netz farbig darzustellen.
Farbige Oberflächenplots
Dieses Beispiel veranschaulicht, wie Sie die Funktion sinc
als Oberflächenplot grafisch darstellen, eine Farbzuordnung angeben und eine Farbleiste hinzufügen, um die Zuordnung der farbig darzustellenden Daten anzuzeigen.
Ein Oberflächenplot ähnelt einem Netzplot, nur dass die rechteckigen Flächen der Oberfläche farbig dargestellt werden. Die Farbe der einzelnen Flächen wird durch die Werte von Z
und die Farbzuordnung bestimmt (eine Farbzuordnung ist eine sortierte Liste mit Farben).
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X,Y,Z)
colormap hsv
colorbar
Transparente Darstellung von Oberflächen
Dieses Beispiel veranschaulicht, wie Sie die Flächen einer Oberfläche mit variabler Intensität transparent machen können. Transparenz (auch Alphawert genannt) kann für das gesamte Objekt festgelegt werden oder auf einer Alphazuordnung (alphamap
) basieren, die sich ähnlich verhält wie Farbzuordnungen.
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X,Y,Z)
colormap hsv
alpha(.4)
MATLAB zeigt eine Oberfläche mit einem Flächenalphawert von 0,4 an. Alphawerte liegen zwischen 0 (vollständig transparent) und 1 (nicht transparent).
Ausleuchten von Oberflächenplots mit Lichtquellen
In diesem Beispiel ist dieselbe Oberfläche dargestellt wie in den vorherigen Beispielen, nur dass sie hier rot eingefärbt ist und die Gitterlinien entfernt wurden. Anschließend wird links neben der „Kamera“ (die Kamera ist die Position im Raum, von der aus Sie die Oberfläche betrachten) ein Lichtobjekt hinzugefügt.
[X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; surf(X,Y,Z,'FaceColor','red','EdgeColor','none') camlight left; lighting phong
Ausleuchtung ist die Technik, bei der ein Objekt von einer direkten Lichtquelle angestrahlt wird. In bestimmten Fällen kann diese Technik feine Unterschiede in der Oberflächenform besser sichtbar machen. Die Ausleuchtung kann auch verwendet werden, um dreidimensionale Diagramme realistischer darzustellen.
Manipulieren der Oberfläche
Die Abbildungssymbolleiste und die Kamerasymbolleiste ermöglichen die interaktive Untersuchung dreidimensionaler Grafiken. Sie blenden die Kamerasymbolleiste ein, indem Sie die Option Camera Toolbar im Menü View der Abbildung auswählen.
Die folgende Abbildung zeigt beide Symbolleisten und das ausgewählte Tool Rotate 3D.
Mithilfe dieser Tools können Sie die Kamera um das Oberflächenobjekt bewegen, zoomen, das Objekt ausleuchten und andere Anzeigeoperationen ausführen, ohne Befehle einzugeben.