This is an old revision of the document!
Doppelspaltexperiment
Mathematische Idealisierung
- Wir betrachten nur Punktquellen an der Stelle der Spalten.
- Wir betrachten nur den 2-dimensionalen Fall
- Erst mal ignorieren wir die Abnahme der Amplitude mit der Enfernung.
Eine Punktquelle
Siehe auch Fundamentum Seite 88/89
- Position $P_0=(p_x, p_y)$
- Fixe Frequenz $f=1$
- Fixe Nullphase $\varphi_0 = 0$.
- Wellenlänge $\lambda=10$ (in Pixel)
Auslenkung zur Zeit $t$ and Stelle $(x,y)$
Siehe auch Fundamentum Seite 88/89
Ziel ist es die Auslenkung $y(x,y,t)$ am Punkt $(x,y)$ zur Zeit $t$ zu bestimmen.
- Bestimmen Sie erst mal die Funktion $y(p_x, p_y, t)$, d.h. die Auslenkung an der Punktquelle
- Für einen beliebigen Punkt $P=(x,y)$ gehen Sie wie folgt vor:
- Bestimmen Sie die Distanz zu $P_0$.
- Aus der Wellenlänge, berechnen Sie die Zeit, die die Welle benötigt, um von $P_0$ zu $P$ zu gelangen.
- Bestimmen Sie damit $y(x,y,t)$.
Darstellung als Animation mit python und ffmpeg
- bild.py Minimale Library im Bilder zu speichern (im einfachst denkbaren Format)
- kreis.py Vorlage mit pulsierendem Kreis
Laden Sie beide Dateien in ein neues Verzeichnis.
Auf der Kommandozeile, starten Sie
python kreis.py
und erstellen Sie dann mit ffmpeg (siehe Output) die Animation, die Sie mit einem Browser anschauen können.
Öffnen Sie das Verzeichnis Visual Studio Code und fügen der Datei kreis.py nach der Initialisierung der Variablen bild (ca. Zeile 10) folgende Funktionen hinzu:
def auslenkung(px, py, x, y, t): # Auslenkung y im Punkt (x,y) zur Zeit t berechnen y = 1 # TODO Berechnung einfügen return y def farbe(x,y,t): # Punktequelle in der Mitte y = auslenkung(w/2, h/2, x, y, t) # TODO y in den Bereich [0,1] umrechnen # Graustufe (Alternative: hsv_to_rbg(h,s,v) verwenden) return [int(y*255), int(y*255), int(y*255)]
Vervollständigen Sie die Funktionen und ändern Sie unten im Hauptprogramm den Funktionsaufruf von kreisFarbe zu farbe um.
Mehrere Punktquellen
Ändern Sie die Funktion farbe wie folgt: Platzieren Sie zwei Punktquellen unten am Bildrand, addieren Sie die Auslenkungen und passen Sie die Umrechnung auf das Intervall [0,1] entsprechend an.