Polarisierende Reflexion und Brechung für eine Umhüllung der Wasseroberfläche


12

Ich möchte realistische Bilder von Wasser in einem Lebensraum im Orbit wiedergeben. Das Bild muss nicht in Echtzeit generiert werden, obwohl ich auch nicht möchte, dass es Wochen dauert. Ich suche nach einem Ansatz, der in Stunden oder Tagen realistische Bilder erzeugen kann.

Der Lebensraum ist zylindrisch, wobei die gekrümmte Innenfläche der Wohnraum ist. Die Drehung des Zylinders um seine Achse liefert eine Annäherung an die Schwerkraft. Ich suche keine Details, um die Physik zu simulieren, sondern nur das Rendern eines Bildes.

Der spezielle Aspekt, den ich kennen lernen möchte, ist die Polarisation. Von der Wasseroberfläche reflektiertes Licht ist polarisiert, und das Licht, das in das Wasser gelangt ist, ist senkrecht zum reflektierten Licht polarisiert. Das Ignorieren dieses Effekts und das einfache Modellieren der Anteile des reflektierten und durchgelassenen Lichts funktioniert recht gut, wenn nur eine Wasseroberfläche vorhanden ist. Wenn der zylindrische Lebensraum jedoch Gewässer aufweist, die große Anteile der gekrümmten Oberfläche einnehmen, wird ein bestimmter Strahl abgegeben Mehrfachreflexionen in einem weiten Bereich von verschiedenen Winkeln. Dies bedeutet, dass der Anteil des reflektierten Lichts von dem zuvor angewendeten Polarisationswinkel abhängt.

Gibt es Ansätze mit solchen Effekten, mit denen Mehrfachreflexionen von einer gekrümmten Wasseroberfläche realistisch abgebildet werden können? Sie müssten auch die Brechung mit Polarisation modellieren. Das Wasser wird an einigen Stellen flach sein, daher erwarte ich, dass die polarisierte Brechung die Ergebnisse beeinflusst.

Wenn nicht, könnte ich einen vorhandenen Ray Tracer anpassen, oder würde dies einen Ansatz erfordern, der von vorne beginnt?

Ich bin auf der Suche nach Realismus, um unerwartete Effekte zu entdecken, und nicht nur, um einen zufälligen Betrachter als realistisch zu bezeichnen. Offensichtlich wissen die meisten Beobachter (einschließlich ich) nicht, nach welchen Effekten sie suchen müssen, da sie aus dem Alltag nicht bekannt sind. Deshalb suche ich eher nach "einigermaßen korrekt" als nach "nur überzeugend".

Antworten:


9

Die am häufigsten vorgeschlagene Methode scheint der Müller-Kalkül zu sein , der darauf hinausläuft, die Stokes-Parameter eines Lichtstrahls zu verfolgen , um die Polarisation des entlang dieses Strahls durchgelassenen Lichts darzustellen. Ein Strahl kann unpolarisiert sein - Stokes-Parameter von (1, 0, 0, 0) - oder er kann zirkular oder linear in verschiedene Richtungen polarisiert sein, was eine Eigenschaft des Lichts im Aggregat ist. An der Oberfläche wird Licht entsprechend der Polarisation gestreut und der Stokes-Vektor wird durch Multiplikation mit der Müller-Matrix der Oberfläche weitergegeben.

Hier ist ein Aufsatz von Toshiya Hachisuka über Raytracing beim Verfolgen der Lichtpolarisation. Es scheint eine gute Einführung zu sein, und es gibt mehrere Referenzen, die vielversprechend erscheinen. Der Artikel spricht sich für eine direkte Verfolgung des Polarisationszustands des Strahls aus: Statt einer aggregierten Darstellung werden Richtung und Frequenz der beiden harmonischen Schwingungen eines bestimmten Lichtstrahls einzeln verfolgt. Dies kann den Nachteil haben, dass Sie mehr Samples benötigen, um die Polarisationseffekte genau wiederzugeben, aber möglicherweise auch mehr Effekte (im Artikel Dünnfilminterferenz).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.