Reflexion: Unterschied zwischen den Versionen
K (→Reflextion: Schreibfehler) |
K (Daß -> Dass) |
||
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Unvollständig}} | {{Unvollständig}} | ||
− | ==Reflexion== | + | == Reflexion == |
[[Bild:Reflextion.jpg|Reflextion aus einem Raytracer|center]] | [[Bild:Reflextion.jpg|Reflextion aus einem Raytracer|center]] | ||
− | ===Überischt=== | + | === Überischt === |
− | Reflexionen treten in unserer Umgebung häufig auf. Der Spiegel an der Wand, das eigene verzerrte Abbild im Löffel oder deutlich subtiler auf eigentlich matten Gegenständen, auf denen man sich mit etwas mühe recht unscharf erkennen kann. Sie treten so häufig auf, | + | Reflexionen treten in unserer Umgebung häufig auf. Der Spiegel an der Wand, das eigene verzerrte Abbild im Löffel oder deutlich subtiler auf eigentlich matten Gegenständen, auf denen man sich mit etwas mühe recht unscharf erkennen kann. Sie treten so häufig auf, dass der Versuch virtuelle Umgebungen photorealistisch anzuzeigen, ohne Reflexionen darzustellen, scheitern muss. Tatsächlich zähle ich auf meinem halbwegs aufgeräumten Schreibtisch 13 Gegenstände, in denen man sich deutlich spiegeln kann. |
− | ===Siehe auch=== | + | === Reflexionen in OpenGl === |
+ | ich möchte erstellt werden | ||
+ | |||
+ | === Reflexionen in Ray-Tracern === | ||
+ | Angenommen sei ein Strahl, der aus der Richtung v (normiert) auf eine Oberfläche mit Normale r (auch normiert) trifft. Dann bestimmt sich die normierte Reflexions-Richtung durch die Formel: | ||
+ | [[Bild:Reflexion_Formel.png|center]] | ||
+ | Wie entsteht diese Formel: Man zeiche die gegebene Situation auf. Der Kreis beschreibe den Einheitskreis ( wir haben es ja mit normierten Vektoren zu tun ). Der Normalenvektor und die Oberfläche werden ohne weiteres eingezeichnet. Die eintreffende Richtung v und die Refexionsrichtung werden einmal ankommend und einmal abgehend (also durch die Fläche hindurch) am Schnittpunkt eingezeichnet. Dann kann man den spitzeren Winkel γ zwischen n und v leicht einzeichnen: | ||
+ | [[Bild:Reflexion_Konstruktion.png|center]] | ||
+ | Weil man es mit dem Einheitskreis zu tun hat, kann den Hilfsvektor p unterhalb von n durch cos(γ)*n bestimmen und weil cos(γ) gerade das [[Standard_Skalarprodukt|Skalarprodukt]] zwischen n und v ist, gilt: | ||
+ | [[Bild:Reflexion_Hilfsvektor.png|center]] | ||
+ | Bei genauer Betrachtung stellt man fest, dass dieser Vektor p auch am rechten Rand auftaucht. Bildet man dann eine geschlossene Vektorkette, so ergibt sich: | ||
+ | [[Bild:Reflexion_Formelrechnung.png|center]] | ||
+ | |||
+ | === Siehe auch === | ||
[[Environment_Mapping]], [[Tutorial_Cubemap|Cube Mapping]], [[Tutorial_Lektion_8|Sphere Mapping (am Ende)]], [[Schablonenpuffer|Stencilpuffer]] | [[Environment_Mapping]], [[Tutorial_Cubemap|Cube Mapping]], [[Tutorial_Lektion_8|Sphere Mapping (am Ende)]], [[Schablonenpuffer|Stencilpuffer]] | ||
− | ===Links=== | + | === Links === |
*[http://www.opengl.org/resources/code/samples/mjktips/Reflect.html Mark Kilgard: OpenGl.org Samles - Reflection] | *[http://www.opengl.org/resources/code/samples/mjktips/Reflect.html Mark Kilgard: OpenGl.org Samles - Reflection] | ||
*[http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=26 NeHe Production: Lektion 26] | *[http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=26 NeHe Production: Lektion 26] |
Aktuelle Version vom 18. März 2012, 17:03 Uhr
(Mehr Informationen/weitere Artikel) {{{1}}} |
Inhaltsverzeichnis
Reflexion
Überischt
Reflexionen treten in unserer Umgebung häufig auf. Der Spiegel an der Wand, das eigene verzerrte Abbild im Löffel oder deutlich subtiler auf eigentlich matten Gegenständen, auf denen man sich mit etwas mühe recht unscharf erkennen kann. Sie treten so häufig auf, dass der Versuch virtuelle Umgebungen photorealistisch anzuzeigen, ohne Reflexionen darzustellen, scheitern muss. Tatsächlich zähle ich auf meinem halbwegs aufgeräumten Schreibtisch 13 Gegenstände, in denen man sich deutlich spiegeln kann.
Reflexionen in OpenGl
ich möchte erstellt werden
Reflexionen in Ray-Tracern
Angenommen sei ein Strahl, der aus der Richtung v (normiert) auf eine Oberfläche mit Normale r (auch normiert) trifft. Dann bestimmt sich die normierte Reflexions-Richtung durch die Formel:
Wie entsteht diese Formel: Man zeiche die gegebene Situation auf. Der Kreis beschreibe den Einheitskreis ( wir haben es ja mit normierten Vektoren zu tun ). Der Normalenvektor und die Oberfläche werden ohne weiteres eingezeichnet. Die eintreffende Richtung v und die Refexionsrichtung werden einmal ankommend und einmal abgehend (also durch die Fläche hindurch) am Schnittpunkt eingezeichnet. Dann kann man den spitzeren Winkel γ zwischen n und v leicht einzeichnen:
Weil man es mit dem Einheitskreis zu tun hat, kann den Hilfsvektor p unterhalb von n durch cos(γ)*n bestimmen und weil cos(γ) gerade das Skalarprodukt zwischen n und v ist, gilt:
Bei genauer Betrachtung stellt man fest, dass dieser Vektor p auch am rechten Rand auftaucht. Bildet man dann eine geschlossene Vektorkette, so ergibt sich:
Siehe auch
Environment_Mapping, Cube Mapping, Sphere Mapping (am Ende), Stencilpuffer