Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

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:

  1. Generieren Sie X- und Y-Matrizen, die aus wiederholten Zeilen bzw. Spalten im Bereich der Funktion bestehen.

  2. Verwenden Sie X und Y, 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)

Figure contains an axes object. The axes object contains an object of type surface.

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

Figure contains an axes object. The axes object contains an object of type surface.

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)

Figure contains an axes object. The axes object contains an object of type surface.

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

Figure contains an axes object. The axes object contains an object of type surface.

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.