Bildsynthese-Phong B. Schneider, J. Dietrich, J. Packhäuser Wima-Praktikum 2: Bildsynthese-Phong Wima-Praktikum 2: Prof. Dr. Lebiedz, M. Sc. Radic 1 Bildsynthese-Phong B. Schneider, J. Dietrich, J. Packhäuser Inhaltsverzeichnis 1 Einleitung 3 2 Kurze Beschreibung der Aufgabenstellung und dem PhongModell 3 3 Modellierung 3.1 Charakterisierung des Dreiecks . . . . . . . . . . . . . . . . . . . 3.2 Schnittpunkt von Geraden und Dreieck . . . . . . . . . . . . . . 3.3 Kriterium für die Sichtbarkeit . . . . . . . . . . . . . . . . . . . . 5 5 5 6 4 Ergebnisse 7 Wima-Praktikum 2: Prof. Dr. Lebiedz, M. Sc. Radic 2 Bildsynthese-Phong 1 B. Schneider, J. Dietrich, J. Packhäuser Einleitung Das Phong-Beleuchtungsmodell ist ein Beleuchtungsmodell in der 3D-Computergrafik, das dazu verwendet wird, die Beleuchtung von Objekten zu berechnen. Es wurde nach seinem Entwickler benannt und vor ca. 40 Jahren veröffentlicht. 2 Kurze Beschreibung der Aufgabenstellung und dem Phong-Modell Beim Phong-Modell geht man davon aus, dass sich die Gesamtreflexion aus drei Teilen zusammensetzt: Iges = IA + ID + IS , wobei wir mit • IA die ambiente Reflexion (Umgebungslicht) • ID die ideal diffuse Reflexion • IS die ideal spiegelnde Reflexion bezeichnen. Wir gehen kurz auf die drei Teilreflexionen ein: • ambiente Reflexion: Die ambiente Reflexion ist unabhängig von der Lichtquelle und dem Blickwinkel auf die Szene. Es gilt IA = κA I˜A , wobei κA der Reflexionsfaktor genannt wird und vom jeweiligen Material des Objekts abhängt und I˜A das konstante Umgebungslicht bezeichnet. • ideal diffuse Reflexion: Bei ideal diffuser Reflexion wird das Licht unabhängig vom Standpunkt des Betrachters in alle Richtungen reflektiert (Lambertsches Gesetz). Einfallender Strahl schwarz und ausgehender Strahl rot Die Lichtstärke des reflektierten Lichts der Punktlichtquelle hängt aber vom Einfallswinkel ab, da sich die Beleuchtungsstärke der Oberfläche mit dem Einfallswinkel ändert: ID = I˜Q κD cos ϕ. Somit ist die Lichtstärke der diffusen Komponente ID vom Einfallswinkel ϕ − des Lichtstrahls (Winkel zwischen einfallendem Strahl → e und Flächennormale Wima-Praktikum 2: Prof. Dr. Lebiedz, M. Sc. Radic 3 Bildsynthese-Phong B. Schneider, J. Dietrich, J. Packhäuser → − n , einer Materialkonstante κD und der Intensität des einfallenden Strahls I˜Q abhängig, jedoch vom Blickwinkel des Beobachters der Szene unabhängig. − Abbildung 1: Einfallender Strahl → e mit Winkel ϕ • ideal spiegelnde Reflexion: Die ideal spiegelnde Reflexion ist Blickwinkel- und Lichtquellen-abhängig. Man geht davon aus, dass das Licht in einer Umgebung der idealen Reflexionsrichtung reflektiert wird. Es gilt m+2 cosm (Θ), IS = I˜Q κS 2π wobei wir mit I˜Q die Lichtstärke des einfallenden Strahls, mit κD den Reflexionsfaktor für den spiegelnden Anteil und mit ϕ den Winkel zwischen dem einfallenden Lichtstrahl und der Flächennormale der Oberfläche bezeichnen. Mit dem Term cosm (Θ) kann die Breite der Umgebung um die ideale Reflexionsrichtung gesteuert werden. Das untenstehende Schaubild zeigt die Funktion cosm (Θ) für verschiedene m: Abbildung 2: Winkel Θ Das heißt, je größer m ist, desto kleiner wird die Umgebung, in der spiegelnde Reflexionen auftreten und wir erhalten einen scharfen spiegelnden Wima-Praktikum 2: Prof. Dr. Lebiedz, M. Sc. Radic 4 Bildsynthese-Phong B. Schneider, J. Dietrich, J. Packhäuser Punkt auf dem Objekt. Um sicherzustellen, dass die Helligkeit bei großen Werten von m nicht abnimmt, wird zusätzlich ein Normierungsfaktor m+2 2π eingeführt. Bei Elementen, die von der Lichtquelle nicht getroffen werden, gilt I = IA , d.h. die ideal diffuse und die ideal spiegelnde Komponente fallen weg. 3 3.1 Modellierung Charakterisierung des Dreiecks Im Folgenden werden Formeln zur Berechnung des Schwerpunkts, der Flächennormalen und der Fläche eines Dreiecks angegeben. Seien A, B und C die Ecken des Dreiecks, wobei A = (Ax , Ay , Az )T , B = (Bx , By , Bz )T und C = (Cx , Cy , Cz )T . Dann berechnet sich der Schwerpunkt S = (Sx , Sy , Sz )T zu S= 1 1 (A + B + C) = (Ax + Bx + Cx , Ay + By + Cy , Az + Bz + Cz )T . 3 3 Die Fläche eines Dreiecks berechnet sich über das Kreuzprodukt: F = 1 −−→ −→ · AB × AC 2 Die Flächennormale wird folgendermaßen berechnet: −−→ −→ ~n = AB × AC ~ =S ~ + s · ~n N s ∈ R. Der Schwerpunkt fungiert als Stützvektor und ~n als Richtungsvektor. 3.2 Schnittpunkt von Geraden und Dreieck Der Lichtstrahl wird durch eine Geradengleichung der Form ~ = p~ + r · ~u, L r∈R (1) beschrieben. Man stellt die Ebenengleichung der Ebene, die durch die Punkte A, B und C aufgespannt wird, auf: −→ −→ ~ =A ~+s·− E AB + t · AC, s, t ∈ R. Wima-Praktikum 2: Prof. Dr. Lebiedz, M. Sc. Radic 5 Bildsynthese-Phong B. Schneider, J. Dietrich, J. Packhäuser Anschließend berechnet man den Schnittpunkt R des Lichtstrahls mit der Ebene. Dann gilt für R, dass −→ −→ ~ + sR · − R=A AB + tR · AC Nun lässt sich anhand von sR und tR überprüfen, ob R im Dreieck liegt. Das Kriterium lautet sR + tR ≤ 1 3.3 ⇒ R ∈ ∇(ABC). Kriterium für die Sichtbarkeit Wir überlegen uns ein Kriterium für die Sichtbarkeit zweier Elemente bezüglich der Lichtquelle: Falls ein Schwerpunkt - von der Lichtquelle aus gesehen - hinter einem Dreieck liegt, so ist dieser nicht sichtbar beziehungsweise im Schatten der Lichtquelle. Das bedeutet: Schwerpunkte, die im Kegel der Lichtquelle liegen -im Kegelstumpf- sind nicht beleuchtet. Um zu überprüfen, ob ein Schwerpunkt in oder außerhalb des Kegels liegt, gehen wir, wie folgt, vor: Wir betrachten eine erste Seite des Dreicks und bestimmen den Normalenvektor der Ebene bezüglich dieser Seite und der Lichquelle. Wir überprüfen, ob die Schwerpunkte der anderen Dreiecke auf der gleichen Seite liegen wie der Schwerpunkt des betrachteten Dreiecks: Alle Schwerpunkte, die multiplizeirt mit dem Normalenvektor das gleiche Vorzeichen wie der Schwerpunkt multipliziert mit dem Normalenvektor haben, liegen möglicherweise im genannten Kegel. Alle anderen Schwerpunkte scheiden aus. Nun betrachten wir eine zweite Seite und dritte Seite und überprüfen dieses Kriterium erneut. Alle Schwerpunkte die übrig bleiben liegen bezüglich allen drei Ebenen auf er Seite des Schwerpunkts des Dreiecks und liegen somit in diesem Kegel. Abbildung 3: Kegel der Lichtquelle zum Dreieck Wima-Praktikum 2: Prof. Dr. Lebiedz, M. Sc. Radic 6 Bildsynthese-Phong B. Schneider, J. Dietrich, J. Packhäuser Da nur alle Schwerpunkte nicht sichtbar sein sollen, die hinter dem betrachteten Dreieck liegen, müssen die Schwerpunkte bezüglich dem Abstand zur Lichtquelle geordnet werden.So muss man bei der Implementierung nur nachfolgende Dreiecke berücksichtigen. 4 Ergebnisse Aufgrund der Schaubilder gehen wir davon aus, dass die Lösung korrekt ist. Der Schattenwurf ist offensichtlich plausibel. Hier die Lösung zur Kugel: Abbildung 4: Kegel der Lichtquelle zum Dreieck Hier die Bonus-Lösung zu einem beliebigen anderen Körper. Wir entschieden uns für einen Würfel: Abbildung 5: Kegel der Lichtquelle zum Dreieck Wima-Praktikum 2: Prof. Dr. Lebiedz, M. Sc. Radic 7