Ich interessiere mich für Raytracing polarisierter Photonen. Ich habe Code, der sehr gut für unpolarisiertes Licht funktioniert. Wenn ein Strahl auf eine dielektrische Grenzfläche trifft, wird das Photon entweder reflektiert oder gebrochen, indem die Fresnel-Koeffizienten mit einer Zufallszahl verglichen werden.
Die Berechnung des reflektierten oder gebrochenen Richtungsvektors ist relativ einfach. Angenommen, wir haben einen Richtungsvektor und Oberfläche senkrecht zur dielektrischen Grenzfläche .
Gespiegelter Richtungsvektor
Gebrochener Richtungsvektor
In obigem , was das Verhältnis des Brechungsindex an der Grenzfläche ist, und . Diese Transformationen lassen sich leicht innerhalb der Raytracing-Schleife anwenden, da Aufrufwerte bekannt sind.
Frage
Meine Frage ist, welche Transformation angewendet werden muss, um den korrekten Polarisationsvektor eines reflektierten oder gebrochenen Strahls zu berechnen. Vor dem Auftreffen auf die Grenzfläche der Polarisationsvektor des Strahls bekannt ist (ich nehme nur linear polarisierte Zustände an). Deutlich , aber wo in der Ebene senkrecht zum Richtungsvektor macht den Polarisationsvektor Lüge? Kann ich eine einfache Transformation anwenden, ähnlich wie oben, um den neuen Polarisationsvektor zu finden?
Sie haben separate Fresnel-Gleichungen für s- und p-polarisiertes Licht . Die beiden Polarisationen reflektieren/brechen separat. Sie können sie auf der anderen Seite rekonstruieren, um den neuen Polarisationsvektor wiederherzustellen, wenn Sie möchten.
Der einzige Teil, der geändert werden muss, ist "das Photon wird entweder reflektiert oder gebrochen, indem die Fresnel-Koeffizienten mit einer Zufallszahl verglichen werden."
Wenn Sie sowohl die Polarisation als auch die Phase kennen, können Sie berechnen, ob Sie reflektieren oder brechen müssen. Die Zahl muss nicht mehr zufällig sein.
Selene Rouley
Boyfarrell