Neu bei mir…

N’abend. Ich habe gerade mal ein bisschen Zeit damit verbracht in den Plugins für WordPress zu stöbern. Dabei habe ich zwei neue Plugins installiert. Zum einen habe ich mir überlegt, dass es vielleicht doch etwas einfacher ist, wenn man Kommentare über ein Captcha aktivieren kann. Daher habe ich die administrative Freischaltung nun deaktiviert und hoffe, dass ich nicht zu viele Spam-Kommentare bekomme.

Das zweite Plugin ist WP Geo. Wenn das Wetter jetzt laaaaaangsam wieder etwas wärmer wird, will ich mal wieder ein paar Geocaches heben. Dabei kann ich natürlich die Location über das genannte Plugin zeigen.

Hier probier ich das jetzt einfach mal aus und zeige euch, wo ich arbeite.

Na das ist doch schonmal was…

Moin, moin. Das folgende Bild habe ich heute Nacht rendern lassen. Hierbei wird die Strategie 1 verwendet, d. h. die Strahlen werden ausgehend von jedem Pixel des Films erzeugt. Der Unterschied zu dem weiter unten befindlichen Bild ist allerdings, dass die Strahlen nicht zufällig, sondern gleichmäßig über die Linse gestreut werden. Dadurch verschwindet das Rauschen fast vollständig.

Nach einem ersten Versuch, den ich Timo gezeigt habe, kam von ihm die Frage: „Ist denn im Objektiv schon eine Blende eingebaut?“. „Klar!“, meinte ich dazu, musste aber zugeben, dass dieser Aspekt in den bisherigen Bildern überhaupt nicht berücksichtigt wurde. Daher habe ich schnell mal eine kleine kugelförmige Lichtquelle in den hinteren Unschärfebereich platziert.  Und siehe da, ich habe ein sechseckiges Bokeh.

Goil…

tessar_cam_film_uniform_50-36_mit_lichtpunkt

Ich muss unbedingt auch nochmal eine feine leuchtende Linie in den Hintergund platzieren. Ich glaube man erhält auch einen kräftigen Doppellinien-Effekt, das sogenannte Nihsen-Bokeh.

Strategie Nr. 2

So, wie bereits erwähnt, folgt nun ein Bild mit der zweiten Strategie.

tessar_cam_backlens_norotsolid40Die Strategie für dieses Bild war folgende:

  1. Bestimme einen Punkt auf der dem Film zugewandten Seite der letzten Linse. Der Punkt entspricht einem Pixel auf dem Film, so dass ich am Ende eine Verteilung der im oben zu sehenden Bild 640 x 480 Bildpunkte auf der Linse enthalte.
  2. In Richtung der Punktnormalen bilde eine Halbkugel, über die Strahlen mit zufälliger Richtung erzeugt werden.
  3. Berechne zu diesen Strahlen den Schnittpunkt mit dem Film.
  4. Dann drehe die Richtung um und lasse den Farbwert des Strahls ganz normal berechnen.

Das Problem ist, dass nicht gewährleistet werden kann, dass jeder Punkt des Films getroffen wird. Zudem verfehlen viele Strahlen den Film. Daher habe ich für das oben dargestellte Bild die Halbkugel schon auf einen Kegel mit einem Innenwinkel von 40° beschränkt. In diesem Kegel ist der Film in der aktuellen Anordnung immer abgedeckt, aber die Anzahl der Fehltreffer ist nicht mehr so groß. Trotzdem rauscht das Bild deutlich stärker, als bei Strategie 1.

Yes we can …

Das folgende Bild zeigt mein erstes „virtuelles Foto“ mit meinem virtuellen Tessar.

Kamera mit Tessar

Ok, das rauscht vielleicht ein bisschen viel. Aber ich kann mir ja einen anderen „Film“ bauen. Dies ist allerdings schon der 3. und bisher beste Ansatz. Diese waren der Reihe nach:

  1. Ausgehend von jedem Bildpunkt werden Strahlen über der Hemisphäre des Bildpunktes erzeugt. Da die Strahlen in jede Richtung der oberen Halbkugel geschickt werden, erhalte ich in 99% der Fälle das Schwarz des Kameragehäuses.
  2. Wie 1., nur dass der Winkel zur Senkrechten über dem Film auf ein Minimum reduziert wurde. Dabei treffe ich aber mit einem Film in 35mm x 24mm und einer im Verhältnis dazu kleinen inneren Linse mit 16mm Durchmesser auch locker 85% Gehäuse.
  3. Dieser, im Bild oben zu sehende Ansatz, verteilt alle Strahlen nur in Richtung der letzten Linse. Dieser Ansatz liefert wesentlich weniger Rauschen. Allerdings ist er physikalisch nicht mehr korrekt, da der Raumwinkel zum Rand des Films abnimmt und dabei trotzdem die gleiche Menge Licht den Film erreicht. Eine Vignettierung entsteht so jedenfalls nicht. Jetzt gibt es 2 Optionen: a) am Rand entsprechend weniger Strahlen erzeugen oder b) die Helligkeit der Strahlen entsprechend des Raumwinkes dämpfen. Die zweite ist natürlich besser, weil kontinuierlich. Die erst ist diskret und würde bei 16 Samples pro Pixel sicherlich Ringe erzeugen.

So … genug jetzt. Jetzt muss ich erstmal Ansatz 4 ausprobieren.

Jens

Linse 2.0

Jappadappadoo…

jetzt habe ich es geschafft. Für meine DA ist nun die Fresnel’sche Reflexion auf die Linse adaptiert. Anhand des Brechungswinkels wird nun entschieden, wieviel Licht reflektiert und wieviel transmittiert wird. Die Transformation erfolgt dann ganz normal mithilfe des Snellius’schen Brechungsgesetzes. Passend dazu habe ich auch die Reflexion und Brechung am Rand der Linse implementiert.

Das ganze habe ich in einem generischen Linsenmodell umgesetzt, so dass ich jetzt beliebige Linsen bauen kann. Einfach nur die beiden Radien der Linsenoberflächen und die z-Koordinaten der Schnittpunkte mit der optischen Achse angeben – fertig.

Zudem habe ich jetzt die Möglichkeit die Reflexionsfarbe und die Transmissionsfarbe anzugeben, so dass ich „beschichtete“ und farbige Linsen simulieren kann.

Ich hab mal ein einfaches Bild angehängt.

Jens

Glaslinsen