3D surface - janehlenb/Projektarbeit-ChatGPT-Python GitHub Wiki

Einführung

In diesem Abschnitt unseres Python-Tutorials werden wir uns mit einer fantastischen Funktion von Matplotlib befassen: 3D-Oberflächen! Stellt euch vor, ihr könnt eure Daten in den dreidimensionalen Raum teleportieren und sie dort visualisieren. Klingt cool, oder? Lasst uns eintauchen und lernen, wie wir diese beeindruckende Fähigkeit nutzen können.

Nachdem wir dieses Kapitel abgeschlossen haben, werdet ihr in der Lage sein, eure Daten in lebendigen 3D-Oberflächendiagrammen darzustellen. Ihr werdet die Kraft haben, die Höhen und Tiefen eurer Daten zu erforschen und könnt sie anschaulich und fesselnd präsentieren. Egal, ob ihr Wissenschaftler, Datenanalysten oder einfach nur neugierige Entdecker seid, 3D-Oberflächen werden euch helfen, eure Datenreisen auf ein neues Niveau zu bringen!

Theorie

Lasst uns einen Blick auf die Theorie hinter den 3D-Oberflächen werfen. Grundsätzlich repräsentieren 3D-Oberflächen Daten, die in einem dreidimensionalen Koordinatensystem angeordnet sind. Denkt an eine Berglandschaft, bei der die x- und y-Koordinaten die Position auf der Karte darstellen und die z-Koordinate die Höhe des Geländes angibt. Genau das werden wir mit unseren Daten machen!

Allgemeines Code-Beispiel

Bevor wir in die praktische Umsetzung eintauchen, werfen wir einen Blick auf ein allgemeines Code-Beispiel, um uns mit den grundlegenden Schritten vertraut zu machen. Hier ist ein Vorgeschmack darauf, wie wir unseren eigenen 3D-Oberflächengraphen erstellen können:

import matplotlib.pyplot as plt
import numpy as np

# Daten erzeugen
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 3D-Oberfläche erstellen
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z)

# Achsenbeschriftungen hinzufügen
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

# Diagramm anzeigen
plt.show()

Und schon erhebt sich vor euren Augen eine majestätische 3D-Oberfläche! Doch keine Sorge, wir werden diesen Code Schritt für Schritt erklären, um sicherzustellen, dass ihr die Magie dahinter versteht.

Explizites Code-Beispiel

Jetzt wird es konkret! Schauen wir uns ein ausführliches Code-Beispiel an, um ein besseres Verständnis dafür zu bekommen, wie wir die 3D-Oberflächen erstellen können. Hier ist ein Stück Python-Code, der eure Daten in eine aufregende dreidimensionale Welt katapultieren wird:

import matplotlib.pyplot as plt
import numpy as np

# Daten erzeugen
x = np.linspace(-5, 5, 100)
y = np.linspace

(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 3D-Oberfläche erstellen
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap='viridis')

# Achsenbeschriftungen hinzufügen
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

# Diagramm anzeigen
plt.show()

Dieser Code erzeugt eine 3D-Oberfläche, indem er Punkte im dreidimensionalen Raum mit den x-, y- und z-Koordinaten verwendet. In diesem Beispiel generieren wir eine Sinusfunktion, um die z-Koordinate zu berechnen, und erstellen dann den atemberaubenden 3D-Oberflächengraphen. Mit der Verwendung von cmap='viridis' fügen wir sogar etwas Farbe hinzu, um das Ganze noch aufregender zu gestalten.

Praxis

Lasst uns nun euer frisch erlerntes Wissen auf die Probe stellen! Wir haben zwei Herausforderungen für euch vorbereitet. Die erste ist ein einfacher Einstieg, während die zweite etwas herausfordernder ist. Keine Sorge, wir werden euch durch beide Aufgaben führen und am Ende die Musterlösungen präsentieren.

Aufgabe 1

Erzeugt eine 3D-Oberfläche eines beliebigen mathematischen Ausdrucks eurer Wahl und visualisiert sie. Experimentiert mit verschiedenen Funktionen und entdeckt die wundersamen Welten, die ihr erschaffen könnt!

Musterlösung:

import matplotlib.pyplot as plt
import numpy as np

# Daten erzeugen
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 3D-Oberfläche erstellen
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap='viridis')

# Achsenbeschriftungen hinzufügen
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

# Diagramm anzeigen
plt.show()

Lasst eure Vorstellungskraft wild werden und erschafft euer eigenes 3D-Meisterwerk!

Aufgabe 2

Alternative Aufgabe 2

Für diejenigen, die eine noch anspruchsvollere Herausforderung suchen, können wir eine komplexere 3D-Oberfläche erstellen, die auf einer mathematischen Funktion basiert. In dieser Aufgabe werden wir eine Rosenkurve visualisieren. Die Rosenkurve ist eine parametrische Kurve, die durch die Gleichungen (x = a \cdot \cos(n \cdot \theta)) und (y = a \cdot \sin(n \cdot \theta)) beschrieben wird, wobei (n) die Anzahl der Blütenblätter und (a) ein Skalierungsfaktor ist.

Musterlösung:

import matplotlib.pyplot as plt
import numpy as np

# Parameter der Rosenkurve
a = 1  # Skalierungsfaktor
n = 6  # Anzahl der Blütenblätter

# Erzeuge Theta-Werte
theta = np.linspace(0, 2*np.pi, 1000)

# Berechne x- und y-Koordinaten für die Rosenkurve
x = a * np.cos(n * theta)
y = a * np.sin(n * theta)

# 3D-Oberfläche erstellen
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(x, y, theta, linewidth=2)

# Achsenbeschriftungen hinzufügen
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Theta')

# Diagramm anzeigen
plt.show()

In diesem Beispiel verwenden wir die parametrischen Gleichungen der Rosenkurve, um die x-, y- und z-Koordinaten zu berechnen. Anschließend erstellen wir den 3D-Oberflächengraphen, der die Rosenkurve darstellt. Beachte, dass wir hier den Parameter (n) festlegen können, um die Anzahl der Blütenblätter der Rosenkurve anzupassen.

Fazit

Nun liegt es an euch, eure Datenreisen in den dreidimensionalen Raum zu lenken! Beeindruckt uns mit euren einzigartigen 3D-Oberflächendiagrammen.

Das war's für diesen Teil unseres Abenteuers durch die faszinierende Python-Welt der 3D-Oberflächen. Ihr habt jetzt das Wissen, um eure Daten auf eine beeindruckende und immersive Weise darzustellen. Spielt herum, experimentiert und erschafft atemberaubende visuelle Meisterwerke. Möge eure Reise durch die Python-Lande stets voller Freude und Inspiration sein!

Wir sehen uns im nächsten Kapitel, wo wir weitere aufregende Python-Geheimnisse lüften werden. Bis dahin, happy coding!

Links / Weiteres Material

W3Schools

YouTube