Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. WeltenzyklopÀdie
  2. Radiosity (Computergrafik)
Radiosity (Computergrafik) 👆 Click Here!
Dies ist ein als lesenswert ausgezeichneter Artikel.
aus Wikipedia, der freien EnzyklopÀdie

Radiosity bzw. RadiositĂ€t ist ein Verfahren zur Berechnung der Verteilung von WĂ€rme- oder Lichtstrahlung innerhalb eines virtuellen Modells. In der Bildsynthese ist Radiosity neben auf Raytracing basierenden Algorithmen eines der beiden wichtigen Verfahren zur Berechnung des Lichteinfalls innerhalb einer Szene. Es beruht auf dem Energieerhaltungssatz: Alles Licht, das auf eine FlĂ€che fĂ€llt und von dieser nicht absorbiert wird, wird von ihr zurĂŒckgeworfen. Außerdem kann eine FlĂ€che auch selbstleuchtend sein.

Das Radiosity-Verfahren basiert auf der Annahme, dass alle OberflĂ€chen ideal diffuse Reflektoren bzw. alle Lichtquellen ideal diffuse Strahler sind. Ideal diffus bedeutet dabei, dass Licht in alle Richtungen gleichmĂ€ĂŸig reflektiert bzw. abgestrahlt wird.

Im Gegensatz zu Raytracing ist Radiosity nicht vom Blickpunkt abhĂ€ngig; die Beleuchtung der FlĂ€chen wird also fĂŒr die gesamte Szene unabhĂ€ngig von der Position des Betrachters berechnet. Die blickpunktabhĂ€ngige Verdeckungsberechnung hat in einem unabhĂ€ngigen Schritt zu erfolgen.

Eigenschaften

[Bearbeiten | Quelltext bearbeiten]

Vorteile

[Bearbeiten | Quelltext bearbeiten]
Ein mittels diffusem Raytracing gerendertes Bild ohne Simulation der indirekten Beleuchtung diffuser OberflÀchen.
Ein mittels Radiosity gerendertes Bild. Man erkennt deutlich, dass das Licht von den Kugeln auf den Boden reflektiert wird. Außerdem erkennt man auch, dass die weiße Wand die Kugeln von hinten indirekt beleuchtet.
BlickpunktunabhÀngigkeit
Ein Vorteil des Radiosity-Verfahrens ist, dass die Berechnung vom Standort und Blickwinkel des Betrachters unabhĂ€ngig erfolgt. Die Lichtverteilung muss so fĂŒr eine Szene nur einmal berechnet werden. Danach kann die Szene in Echtzeit gerendert werden (meist mittels Scanline-Algorithmen oder Z-Buffering), was fĂŒr Anwendungen wie virtuelle Architekturmodelle interessant ist. Diesen Vorteil haben jedoch nicht alle Programme.
Einfache indirekte, ideal diffuse Lichtreflexion
Ideal diffuse Lichtreflexionen werden vom Radiosity-Verfahren auf natĂŒrliche Weise unterstĂŒtzt. Die Helligkeit und Farbe einer FlĂ€che werden nicht allein aufgrund der direkten Beleuchtung einer Lichtquelle, sondern auch durch diffus reflektiertes Licht anderer FlĂ€chen bestimmt. Ein Beispiel dafĂŒr ist ein Zimmer, das durch einfallendes Sonnenlicht nicht nur an den direkt beschienenen Stellen, sondern auch insgesamt heller wird.

Nachteile

[Bearbeiten | Quelltext bearbeiten]
Keine analytischen Primitiven
Durch die zwingende Aufteilung der Szene in Polygone können keine analytisch definierten Primitiven, wie die bei Raytracing ĂŒblichen Kugeln, verwendet werden. Durch die zur Vermeidung von sichtbaren Kanten notwendige feine Aufteilung ist bei komplexer Szenengeometrie rasch eine sehr hohe Zahl von FlĂ€chen notwendig. Dies fĂŒhrt hĂ€ufig zu einer hohen Wartezeit bei der Berechnung der Formfaktoren (siehe weiter unten).
Es wurde versucht, mittels adaptativer Vereinfachung der Geometrie dieses Problem teilweise zu lösen,[1] was jedoch ein manueller Vorgang ist, der seine Grenzen hat. Daneben sind die aus den Fehlern dieses Verfahrens resultierenden Auswirkungen auf die Lichtberechnung schwer vorhersehbar.
Hoher Speicher- und Zeitbedarf
Wenn N {\displaystyle N} {\displaystyle N} die Anzahl der Primitiven einer Szene ist, so weisen die effizientesten Radiosity-Varianten eine asymptotische ZeitkomplexitÀt von O ( N log ⁥ N ) {\displaystyle O(N\log N)} {\displaystyle O(N\log N)} auf, wie empirisch festgestellt wurde.[2] Dagegen benötigt Raytracing nur eine Laufzeit von O ( log ⁥ N ) {\displaystyle O(\log N)} {\displaystyle O(\log N)}. Dies begrenzt schnell den praktisch möglichen Verfeinerungsgrad bei Radiosity. Daneben ergeben sich zur Berechnung und Speicherung der Formfaktoren relativ hohe Speicheranforderungen.
Globale Beleuchtung schwer realisierbar
FĂŒr die möglichst realistische Darstellung einer Szene muss die globale Beleuchtung simuliert werden, was aber nur in SpezialfĂ€llen mit Radiosity effizient möglich ist. In seiner Grundform ist Radiosity nur zur Simulation ideal diffuser Reflexion fĂ€hig. Die BerĂŒcksichtigung beliebiger Beleuchtungsmodelle sowie transluzenter FlĂ€chen ist möglich,[3][4] hat jedoch keine breite Verwendung gefunden, da derartige Effekte schneller bzw. prĂ€ziser mittels auf Raytracing basierter Lösungen möglich sind.

Vergleich mit Raytracing

[Bearbeiten | Quelltext bearbeiten]

Historisch gesehen war Radiosity interessant, da es die Simulation indirekter diffuser Beleuchtung auf einfache Weise erlaubte, was mit Raytracing lange Zeit nicht möglich war. Andererseits war Raytracing gut fĂŒr spiegelnde und transparente Objekte geeignet, wozu wiederum Radiosity nicht fĂ€hig war. Es wurden daher anfangs VorschlĂ€ge zur Kombination von Radiosity mit Raytracing gemacht, die jedoch aufwendig waren und sich letztendlich nicht im großen Maße durchsetzen konnten.

Mit dem Aufkommen moderner globaler Beleuchtungsverfahren wie Path Tracing und Photon Mapping wurden jedoch die Möglichkeiten von Raytracing betrĂ€chtlich erweitert. Weil derartige Algorithmen alle von Radiosity unterstĂŒtzten Effekte mit weniger Fehlern und auf elegantere Weise simulieren können, ist Radiosity im Bereich der hochwertigen realistischen Bildsynthese weitgehend aus der Mode gekommen. Kommerzielle Verwendung findet Radiosity vor allem beim Rendern von Architekturmodellen, bei denen eine zeitaufwendige Vorausberechnung vertretbar ist. Auch derartige Anwendungen sind jedoch mit Raytracing-basierten Verfahren (Particle Tracing) möglich.[5]

Weitere Anwendung finden Radiosity-Verfahren in den Bereichen der Klima- bzw. WÀrmeforschung, da WÀrmeverteilung eher diffus als gerichtet geschieht und Radiosity hier praktikabler als strahlenbasierte AnsÀtze ist.

Prinzip

[Bearbeiten | Quelltext bearbeiten]

Mit der eingangs formulierten Annahme kann die allgemeine Rendergleichung in die Radiosity-Gleichung ĂŒberfĂŒhrt werden.

B ( x ) = E ( x ) + ρ ( x ) ∫ x â€Č ∈ S B ( x â€Č ) 1 π r 2 cos ⁥ ϕ x cos ⁥ ϕ x â€Č ⋅ V ( x , x â€Č ) d x â€Č {\displaystyle B(x)=E(x)+\rho (x)\int _{x'\in S}B(x'){\frac {1}{\pi r^{2}}}\cos \phi _{x}\cos \phi _{x'}\cdot V(x,x')\,\mathrm {d} x'} {\displaystyle B(x)=E(x)+\rho (x)\int _{x'\in S}B(x'){\frac {1}{\pi r^{2}}}\cos \phi _{x}\cos \phi _{x'}\cdot V(x,x')\,\mathrm {d} x'}

mit

B(x) = gesamte vom Punkt x abgestrahlte Energie (Summe aus Eigenstrahlung und Reflexion als Leistung pro FlÀcheneinheit), genannt Radiosity im Punkt x
E(x) = im Punkt x abgegebene Eigenstrahlung
ρ(x) = Reflexionsfaktor im Punkt x
S = alle OberflÀchen der Szene
r = Abstand der Punkte x und x'
ϕ ( x ) {\displaystyle \phi (x)} {\displaystyle \phi (x)} = Der Winkel zwischen der Normale im Punkt x und der Verbindungslinie zwischen den Punkten x und x'
V ( x , x â€Č ) = { 1 , wenn  x  von  x â€Č  aus sichtbar 0 , sonst {\displaystyle V(x,x')={\begin{cases}1,&{\mbox{wenn }}x{\mbox{ von }}x'{\mbox{ aus sichtbar}}\\0,&{\mbox{sonst}}\end{cases}}} {\displaystyle V(x,x')={\begin{cases}1,&{\mbox{wenn }}x{\mbox{ von }}x'{\mbox{ aus sichtbar}}\\0,&{\mbox{sonst}}\end{cases}}}.

Die gesuchte Radiosity im Punkt x ergibt sich aus einem Integral in geschlossener Form, was auf direktem Weg nicht berechnet werden kann. Abhilfe schafft die Diskretisierung der OberflĂ€che S: anstatt alle infinitesimal kleinen TeilflĂ€chen ÎŽA' zu betrachten, teilt man die OberflĂ€che S in zusammenhĂ€ngende TeilflĂ€chen (Facetten oder Patches genannt) Ai auf (Finite-Elemente-Methode). FĂŒr diese TeilflĂ€chen gelten weitere Annahmen: jedes Ai ist planar; die jeweilige Radiosity Bi und der Reflexionsfaktor ρi sind ĂŒber Ai konstant. Dies fĂŒhrt dann zur diskreten Radiosity-Gleichung.

B i = E i + ρ i ∑ j = 1 n B j F i j , 1 ≀ i ≀ n {\displaystyle B_{i}=E_{i}+\rho _{i}\sum _{j=1}^{n}B_{j}F_{ij},\quad 1\leq i\leq n} {\displaystyle B_{i}=E_{i}+\rho _{i}\sum _{j=1}^{n}B_{j}F_{ij},\quad 1\leq i\leq n}

mit

Bi = gesamte von TeilflÀche i abgestrahlte Energie (Summe aus Eigenstrahlung und Reflexion als Leistung pro FlÀcheneinheit), genannt Radiosity der TeilflÀche i
Ei = von der TeilflÀche i abgegebene Eigenstrahlung
ρi = Reflexionsfaktor der TeilflĂ€che i
n = Anzahl der TeilflÀchen
Fij = Anteil an der von FlÀche j abgegebenen Energie, die auf FlÀche i auftrifft, genannt Formfaktor.

Die Radiosity B i {\displaystyle B_{i}} {\displaystyle B_{i}} von TeilflĂ€che i {\displaystyle i} {\displaystyle i} ist also gleich der Eigenstrahlung E i {\displaystyle E_{i}} {\displaystyle E_{i}} der TeilflĂ€che i {\displaystyle i} {\displaystyle i} plus der mit dem diffusen Reflexionsfaktor p i {\displaystyle p_{i}} {\displaystyle p_{i}} gewichteten Summe der Radiosity B j {\displaystyle B_{j}} {\displaystyle B_{j}} von allen anderen TeilflĂ€chen j {\displaystyle j} {\displaystyle j}. Wobei hierbei der Formfaktor F i , j {\displaystyle F_{i,j}} {\displaystyle F_{i,j}}, welcher den Anteil an der von FlĂ€che j abgegebenen Energie die auf FlĂ€che i auftrifft festlegt, eingeht. Der Formfaktor berĂŒcksichtigt also die Ausrichtung und den Abstand der TeilflĂ€chen i , j {\displaystyle i,j} {\displaystyle i,j} zueinander. Da man dies fĂŒr alle TeilflĂ€chen i {\displaystyle i} {\displaystyle i} berechnen muss, ergibt sich ein lineares Gleichungssystem mit so vielen Gleichungen und Unbekannten wie es TeilflĂ€chen gibt.

1. Unterteilung der OberflÀchen

[Bearbeiten | Quelltext bearbeiten]

Im ersten Schritt erfolgt die Festlegung der Primitiven: Wie und in welche TeilflĂ€chen soll eine gegebene kontinuierliche OberflĂ€che zerlegt werden? Üblich sind Dreieck und Quadrat. Bereits in dieser Phase wird zwischen QualitĂ€t und Effizienz entschieden. Je feinmaschiger das Netz, desto genauer sind die Ergebnisse, aber umso aufwendiger die Berechnungen.

In der Praxis benutzt man meist adaptive Verfahren. Ausgehend von einer z. B. triangulierten OberflĂ€che, werden nach dem hier angegebenen Schema die zugehörigen Radiosity-Werte aller Facetten bestimmt. Mit diesen Daten erfolgen dann weitere ortsabhĂ€ngige Netzverfeinerungen. Ausschlaggebend dafĂŒr können sein: ein hoher Radiosity-Gradient benachbarter Facetten, DiskontinuitĂ€ten im Lichtverlauf (z. B. Lichtfleck) oder eine örtlich ungĂŒnstige Netzeinteilung (z. B. T-Knoten).

Bestimmung von Radiosity-Werten bei konstanten, linearen und quadratischen Basisfunktionen

2. Festlegung der Basisfunktionen

[Bearbeiten | Quelltext bearbeiten]

Die diskrete Radiosity-Gleichung stellt eine Möglichkeit der Diskretisierung dar. Sie beruht auf der Annahme, dass die Radiosity ĂŒber einer gegebenen Facette konstant ist, und verwendet daher konstante Basisfunktionen. Die Wahl von Basisfunktionen höheren Grads ist ebenfalls insbesondere mit dem Galerkin-Ansatz möglich.

3. Berechnung der Formfaktoren

[Bearbeiten | Quelltext bearbeiten]

Der aufwendigste Schritt bei Radiosity ist, unabhÀngig von dem gewÀhlten Algorithmus, die Berechnung der Formfaktoren. Ein Formfaktor gilt immer zwischen zwei Patches und beschreibt die Menge der ausgetauschten Strahlung, liegt also zwischen null (keine Strahlung wird ausgetauscht) und eins (alle Strahlung wird ausgetauscht).

Der Formfaktor ist rein geometrischer Natur und wird durch die Stellung der Patches zueinander bestimmt. Außerdem spielt die Sichtbarkeit der Patches eine Rolle. Die Sichtbarkeitsberechnung braucht bei weitem die meiste Zeit in der Berechnung.

Die Formel fĂŒr einen Formfaktor lautet:

F s , e = 1 A s ∫ v ∈ A e ∫ u ∈ A s 1 π r 2 cos ⁥ ϕ u cos ⁥ ϕ v V ( u , v ) d A s d A e {\displaystyle F_{s,e}={\frac {1}{A_{s}}}\int _{v\in A_{e}}\int _{u\in A_{s}}{\frac {1}{\pi r^{2}}}\cos \phi _{u}\cos \phi _{v}V(u,v)\,\mathrm {d} A_{s}\mathrm {d} A_{e}} {\displaystyle F_{s,e}={\frac {1}{A_{s}}}\int _{v\in A_{e}}\int _{u\in A_{s}}{\frac {1}{\pi r^{2}}}\cos \phi _{u}\cos \phi _{v}V(u,v)\,\mathrm {d} A_{s}\mathrm {d} A_{e}}

mit

F s , e {\displaystyle F_{s,e}} {\displaystyle F_{s,e}} = Formfaktor zwischen dem Sender S {\displaystyle S} {\displaystyle S} und dem EmpfÀnger E {\displaystyle E} {\displaystyle E}
A s {\displaystyle A_{s}} {\displaystyle A_{s}} = Der FlÀche des Senders S {\displaystyle S} {\displaystyle S}
A e {\displaystyle A_{e}} {\displaystyle A_{e}} = Der FlÀche des EmpfÀngers E {\displaystyle E} {\displaystyle E}
ϕ u {\displaystyle \phi _{u}} {\displaystyle \phi _{u}} = Der Winkel zwischen der Normale des Senders S {\displaystyle S} {\displaystyle S} und der Verbindungslinie zwischen Sender S {\displaystyle S} {\displaystyle S} und EmpfĂ€nger E {\displaystyle E} {\displaystyle E}
ϕ v {\displaystyle \phi _{v}} {\displaystyle \phi _{v}} = Der Winkel zwischen der Normale des EmpfĂ€ngers E {\displaystyle E} {\displaystyle E} und der Verbindungslinie zwischen EmpfĂ€nger E {\displaystyle E} {\displaystyle E} und Sender S {\displaystyle S} {\displaystyle S}
r {\displaystyle r} {\displaystyle r} = Entfernung zwischen Sender S {\displaystyle S} {\displaystyle S} und EmpfÀnger E {\displaystyle E} {\displaystyle E}
V ( u , v ) = { 1 , wenn  u  von  v  aus sichtbar 0 , sonst {\displaystyle V(u,v)={\begin{cases}1,&{\mbox{wenn }}u{\mbox{ von }}v{\mbox{ aus sichtbar}}\\0,&{\mbox{sonst}}\end{cases}}} {\displaystyle V(u,v)={\begin{cases}1,&{\mbox{wenn }}u{\mbox{ von }}v{\mbox{ aus sichtbar}}\\0,&{\mbox{sonst}}\end{cases}}}

Da das direkte Berechnen dieses Doppelintegrals sehr schwierig ist, werden im Allgemeinen AnnÀherungen verwendet.

Das simpelste Verfahren ist nur fĂŒr FlĂ€chen korrekt, die relativ klein und relativ weit entfernt sind und zwischen denen keine partielle Verdeckung besteht. Man berechnet dabei Winkel und Entfernung nur zwischen zwei reprĂ€sentativen Punkten, den Mittelpunkten der beiden FlĂ€chen.

F s , e ≈ A e cos ⁥ ϕ u cos ⁥ ϕ v d u , v π r 2 {\displaystyle F_{s,e}\approx A_{e}{\frac {\cos \phi _{u}\cos \phi _{v}d_{u,v}}{\pi r^{2}}}} {\displaystyle F_{s,e}\approx A_{e}{\frac {\cos \phi _{u}\cos \phi _{v}d_{u,v}}{\pi r^{2}}}}

Wobei u {\displaystyle u} {\displaystyle u} der Mittelpunkt von A s {\displaystyle A_{s}} {\displaystyle A_{s}} und v {\displaystyle v} {\displaystyle v} der Mittelpunkt von A e {\displaystyle A_{e}} {\displaystyle A_{e}} ist.

Methode nach Nusselt

[Bearbeiten | Quelltext bearbeiten]
Ermittlung der Formfaktoren nach Nusselt

(auch „Nusselts Analogon“)

Es wird ein reprĂ€sentativer Punkt der EmpfĂ€ngerflĂ€che, der Mittelpunkt, ausgewĂ€hlt. Die sichtbaren Teile der SenderflĂ€che werden auf die Einheitshalbkugel um diesen Punkt projiziert. Dadurch wird cos ⁥ ϕ v r 2 {\displaystyle {\frac {\cos \phi _{v}}{r^{2}}}} {\displaystyle {\frac {\cos \phi _{v}}{r^{2}}}} beachtet. Dann wird die Projektion auf der Einheitskugel wiederum in die FlĂ€che, in der A j {\displaystyle A_{j}} {\displaystyle A_{j}} liegt, projiziert. Die entstandene FlĂ€che wird durch π {\displaystyle \pi } {\displaystyle \pi } geteilt (FlĂ€che des Einheitskreises). Durch diesen Schritt wird der Formfaktor F s , e ≈ ∫ v ∈ A e cos ⁥ ϕ u cos ⁥ ϕ v d u , v π r 2 d A e {\displaystyle F_{s,e}\approx \int _{v\in A_{e}}{\frac {\cos \phi _{u}\cos \phi _{v}d_{u,v}}{\pi r^{2}}}\,\mathrm {d} A_{e}} {\displaystyle F_{s,e}\approx \int _{v\in A_{e}}{\frac {\cos \phi _{u}\cos \phi _{v}d_{u,v}}{\pi r^{2}}}\,\mathrm {d} A_{e}} ermittelt.

Hemi-Cube-Verfahren

[Bearbeiten | Quelltext bearbeiten]
Approximation der Formfaktoren mittels Hemi-Cube

Von Cohen et al. stammt das sogenannte Hemi-Cube-Verfahren.[6] Die Einheitshalbkugel nach Nusselt wird durch einen EinheitshalbwĂŒrfel approximiert, dessen SeitenflĂ€chen in ein diskretes Gitter unterteilt sind. Jeder GitterflĂ€che wird ein Gewichtungsfaktor, der Delta-Formfaktor, zugeordnet, welcher von der Position der GitterflĂ€che abhĂ€ngig ist. Ein Delta-Formfaktor ist damit der Formfaktor der GitterflĂ€che nach Nusselt. Die Summe der Delta-Formfaktoren ist 1.

FĂŒr jede der fĂŒnf HalbwĂŒrfelflĂ€chen wird mit modifizierten Rasteralgorithmen (ĂŒblicherweise Z-Buffer) ein Item-Buffer berechnet. Dieser enthĂ€lt fĂŒr jede GitterflĂ€che die IdentitĂ€t der ObjektflĂ€che (Item, rotes Dreieck im Bild), die darauf projiziert wurde. FĂŒr jedes Item wird die Summe der Delta-Formfaktoren der ĂŒberdeckten GitterflĂ€chen berechnet (rote GitterflĂ€chen im Bild). Diese Summe wird als Formfaktor zwischen Item und betrachteter FlĂ€che aufgefasst.

Sillions Verbesserung

[Bearbeiten | Quelltext bearbeiten]

Statt eines HalbwĂŒrfels wird nun nur noch eine einzige FlĂ€che verwendet, welche zentriert ĂŒber dem differentiell kleinen FlĂ€chenstĂŒck (dA) platziert wird. Diese FlĂ€che wird ebenfalls in kleine, diskrete Bereiche aufgeteilt. Diesen werden dann genau wie beim Hemicube-Verfahren in AbhĂ€ngigkeit von der Geometrie zu dA, den sogenannten Delta-Formfaktoren zugeordnet. Der Vorteil bei diesem Verfahren ist, dass ein Patch nur auf diese eine FlĂ€che projiziert werden muss und nicht mehr auf fĂŒnf FlĂ€chen eines WĂŒrfels. Außerdem ist dieses Verfahren legitim, da Patches, die orthogonal auf der FlĂ€che von dA stehen, keinen großen Beitrag an der Gesamthelligkeit haben. Diese Beobachtung kann man sich ĂŒber den Cosinus zwischen den Normalen der beiden FlĂ€chenstĂŒcke klarmachen.

4. Berechnung der Radiosity-Werte

[Bearbeiten | Quelltext bearbeiten]

Die diskrete Radiosity-Gleichung kann als lineares Gleichungssystem aufgefasst werden und lÀsst sich demzufolge nach einigen Umformschritten wie folgt in Matrixform darstellen.

( B 1 B 2 ⋼ B n ) = ( E 1 E 2 ⋼ E n ) + ( ρ 1 F 11 ρ 1 F 12 
 ρ 1 F 1 n ρ 2 F 21 ρ 2 F 22 
 ρ 2 F 2 n ⋼ ⋼ ⋱ ⋼ ρ n F n 1 ρ n F n 2 
 ρ n F n n ) ⋅ ( B 1 B 2 ⋼ B n ) {\displaystyle {\begin{pmatrix}B_{1}\\B_{2}\\\vdots \\B_{n}\end{pmatrix}}={\begin{pmatrix}E_{1}\\E_{2}\\\vdots \\E_{n}\end{pmatrix}}+{\begin{pmatrix}\rho _{1}F_{11}&\rho _{1}F_{12}&\ldots &\rho _{1}F_{1n}\\\rho _{2}F_{21}&\rho _{2}F_{22}&\ldots &\rho _{2}F_{2n}\\\vdots &\vdots &\ddots &\vdots \\\rho _{n}F_{n1}&\rho _{n}F_{n2}&\ldots &\rho _{n}F_{nn}\end{pmatrix}}\cdot {\begin{pmatrix}B_{1}\\B_{2}\\\vdots \\B_{n}\end{pmatrix}}} {\displaystyle {\begin{pmatrix}B_{1}\\B_{2}\\\vdots \\B_{n}\end{pmatrix}}={\begin{pmatrix}E_{1}\\E_{2}\\\vdots \\E_{n}\end{pmatrix}}+{\begin{pmatrix}\rho _{1}F_{11}&\rho _{1}F_{12}&\ldots &\rho _{1}F_{1n}\\\rho _{2}F_{21}&\rho _{2}F_{22}&\ldots &\rho _{2}F_{2n}\\\vdots &\vdots &\ddots &\vdots \\\rho _{n}F_{n1}&\rho _{n}F_{n2}&\ldots &\rho _{n}F_{nn}\end{pmatrix}}\cdot {\begin{pmatrix}B_{1}\\B_{2}\\\vdots \\B_{n}\end{pmatrix}}} oder kurz B = E+T‱B.

Um alle gesuchten Radiosity-Werte zu bestimmen, muss das Gleichungssystem gelöst werden. Naheliegend ist die Invertierung der Matrix (I-T) (Matrix-Inversion nach Gauß), was aber aufgrund des enormen Aufwands unpraktikabel ist.

Im Allgemeinen existieren zwei unterschiedliche iterative Lösungsstrategien, die gegen die exakte Lösung konvergieren. Damit ist ein frei wÀhlbarer Kompromiss zwischen DarstellungsqualitÀt und Rechenzeit möglich.

  • Beim Gathering wird die Radiosity Bi einer Facette durch Einsammeln aller einflussnehmenden Bj (abhĂ€ngig vom jeweiligen Formfaktor) gebildet. Ausgangspunkt ist B0=E und man sieht nur die selbstleuchtenden FlĂ€chen. Nach dem ersten Schritt B1=E+T‱B0 sind zusĂ€tzlich alle direkt beleuchteten Objekte sichtbar. Im nĂ€chsten Iterationsschritt B2=E+T‱B1 werden die einfachen Reflexionen berĂŒcksichtigt usw. AuffĂ€llig ist, dass in jedem Schritt alle Formfaktoren benötigt werden. Auf diesem Prinzip beruhende Verfahren sind Jacobi-Iteration und Gauß-Seidel-Iteration.
  • Beim Shooting wird die unverteilte Radiosity Bi auf alle als EmpfĂ€nger in Frage kommenden Facetten (abhĂ€ngig vom jeweiligen Formfaktor) geschossen. Ausgangspunkt sind wiederum die selbstleuchtenden FlĂ€chen, somit gilt B=E.
 fĂŒr jede Facette i
   Radiosity B = Eigenleuchten E
   unverteilte Radiosity ΔB = Eigenleuchten E
 wiederhole
   i = Facette mit maximaler Restenergie ΔBi‱Ai
   fĂŒr jede Facette j
     rad = ΔBiâ€ąÏj‱Fji         (wie viel der zu verteilenden Radiosity bekommt Facette j)
     ΔBj = ΔBj+rad            (zu verteilende Radiosity der Facette j wird um diesen Betrag erhöht)
     Bj = Bj+rad              (Radiosity der Facette j wird um diesen Betrag erhöht)
   ΔBi = 0                    (zu verteilende Radiosity der Facette i wurde verteilt und ist nun 0)
 bis (Abbruchkriterium)
Als Abbruchkriterien können neben objektiven Werten wie Fehlermetriken auch der subjektive Eindruck benutzt werden. Shooting-Verfahren sind den Gathering-Verfahren in zwei Gesichtspunkten ĂŒberlegen. Zum einen kann aus dem Pseudocode abgeleitet werden, dass fĂŒr jeden Iterationsschritt lediglich j Formfaktoren benötigt werden. Zum anderen wird in jedem Durchlauf die Radiosity der Facette mit der grĂ¶ĂŸten Restenergie verteilt, wodurch Shooting-Verfahren wesentlich schneller gegen „schöne“ Bilder konvergieren als Gathering-Verfahren. Auf diesem Prinzip beruhende Algorithmen sind Southwell-Iteration und Progressive-Refinement.

5. Rendern

[Bearbeiten | Quelltext bearbeiten]

Den letzten Schritt bildet das Rendern des fertigen Bildes. Die an den ausgesuchten Stellen berechneten Radiosity-Werte werden gemĂ€ĂŸ den gewĂ€hlten Basisfunktionen kombiniert. Wurden Radiosity-Werte in den Netzknoten bestimmt ist z. B. auch Gouraud Shading möglich. GenĂŒgt das so erstellte Bild dem Anspruch nicht, so können weitere Iterationen aus (4) folgen. Treten ungewollte grafische Artefakte auf, so sollte mit entsprechenden Änderungen in der Netzstruktur der Algorithmus von vorn gestartet werden.

Geschichtliche Entwicklung

[Bearbeiten | Quelltext bearbeiten]
Mit Radiosity gerendertes Bild

1984 wurde das Verfahren erstmals von Goral et al.[7] vorgestellt. Es stammt aus der Thermodynamik, wo es verwendet wurde, um den Austausch von WĂ€rmestrahlung zu berechnen (Strahlungsrechnung). Zu dieser Zeit wurde die Full-Form-Factor-Matrix-Methode zum Lösen des Gleichungssystems verwendet. Hier wird das Gleichungssystem fĂŒr alle Formfaktoren zwischen allen Patches (=FlĂ€chen) der Welt aufgestellt und dann mittels eines mathematischen Verfahrens (meist dem Gauß-Seidel-Verfahren) gelöst. Prinzipiell entspricht dieses Vorgehen dem Einsammeln von Radiosity. FĂŒr jedes Patch wird berechnet, wie viel Licht es von jedem anderen Patch erhĂ€lt. Das hat den Nachteil, dass die Berechnung der gesamten Matrix extrem viel Zeit benötigt und viel Speicherplatz belegt, was das Verfahren fĂŒr komplexe Szenen unbrauchbar macht.

1988 wurde dann das Progressive-Refinement-Verfahren von Cohen et al. vorgestellt.[8] Hier wird der Prozess umgedreht, und das Licht wird nicht mehr an jedem Patch eingesammelt, sondern von jedem Patch verschossen. So kann man zuerst einmal das Licht von den Patches mit dem grĂ¶ĂŸten Radiositywert versenden und sich dann denen mit wenig Radiosity zuwenden. Hier ist es nicht mehr nötig, die gesamte Matrix zu berechnen, sondern es werden in jedem Schritt nur noch die Formfaktoren von einem einzelnen Patch zu allen anderen benötigt. Dadurch sinkt der benötigte Speicherplatz enorm, und man erhĂ€lt nach jedem Schritt ein brauchbares Bild. Je lĂ€nger man wartet, desto besser wird das Bild, da immer mehr Indirektionen berechnet werden. Um zu konvergieren, braucht dieses Verfahren allerdings genauso lange wie die Full-Form-Factor-Matrix-Methode.

Im Prinzip entspricht das Verfahren einer Reihenentwicklung der Matrix. Das Lineare Gleichungssystem, das sich aus der Strahlungsgleichung ergibt ist dann ( I − M ) B = E {\displaystyle (I-M)B=E} {\displaystyle (I-M)B=E}, wobei I {\displaystyle I} {\displaystyle I} die Einheitsmatrix, M {\displaystyle M} {\displaystyle M} die Matrix, bestehend aus den Formfaktoren und den Reflexionskoeffizienten und E {\displaystyle E} {\displaystyle E} die Eigenstrahlung beschreibt. Stellt man die Gleichung nun um zu B = ( I − M ) − 1 E {\displaystyle B=(I-M)^{-1}E} {\displaystyle B=(I-M)^{-1}E}, so lĂ€sst sich der rechte Teil ( I − M ) − 1 {\displaystyle (I-M)^{-1}} {\displaystyle (I-M)^{-1}} als Reihe der folgenden Form entwickeln, und man erhĂ€lt eine inkrementelle AnnĂ€herung an die tatsĂ€chliche StrahlungsintensitĂ€t:

∑ i = 1 ∞ x i = 1 1 − x = ( 1 − x ) − 1 {\displaystyle \sum _{i=1}^{\infty }x^{i}={\frac {1}{1-x}}=(1-x)^{-1}} {\displaystyle \sum _{i=1}^{\infty }x^{i}={\frac {1}{1-x}}=(1-x)^{-1}}.

1991 wurde von Hanrahan et al. das Hierarchische Radiosity vorgestellt.[9] Bei diesem Verfahren wird eine Patchhierarchie verwendet. Wenige große Patches bestehen aus vielen kleinen. Der Lichtaustausch wird jetzt auf unterschiedlichen Stufen vorgenommen. Wenn der Fehler gering ist, wird das Licht auf einer hohen Hierarchieebene ausgetauscht, wenn ein großer Fehler zu erwarten ist (zum Beispiel wenn viel Licht ausgetauscht wird oder die FlĂ€chen sehr nahe beieinander liegen), dann wird das Licht auf einer niedrigeren Ebene ausgetauscht. Dadurch reduziert sich die Anzahl der zu berechnenden Formfaktoren substantiell, und die Berechnung wird deutlich beschleunigt.

ZusÀtzlich zu diesen Verfahren wurden noch viele Erweiterungen ersonnen. Zum Beispiel gibt es die Methode des Clustering[10], welches eine Erweiterung des Hierarchischen Radiosity ist. Hier wird oberhalb der Patchhierarchie eine weitere Hierarchie erzeugt, die Cluster. Licht kann dann auch zwischen ganzen Clustergruppen ausgetauscht werden, abhÀngig vom zu erwartenden Fehler. Wieder spart man sich die Berechnung vieler Formfaktoren.

Literatur

[Bearbeiten | Quelltext bearbeiten]
  • Michael F. Cohen, John R. Wallace: Radiosity and Realistic Image Synthesis. Morgan Kaufmann, San Francisco 1993, ISBN 0-12-178270-0.
  • François X. Sillion, Claude Puech: Radiosity and Global Illumination. Morgan Kaufmann, San Francisco 1994, ISBN 1-55860-277-1.

Quellen

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ H. E. Rushmeier u. A: Geometric simplification for indirect illumination calculations. In: Proceedings of Graphics Interface ’93. Canadian Information Processing Society, Toronto 1993, S. 227–236 (smartech.gatech.edu (Memento vom 7. August 2016 im Webarchiv archive.today) PDF).
  2. ↑ M. F. Cohen u. A.: Radiosity and realistic image synthesis. Academic Press Professional, San Diego 1993, ISBN 0-12-178270-0.
  3. ↑ H. Rushmeier, K. Torrance: Extending the radiosity method to include specularly reflecting and translucent materials. In: ACM Transactions on Graphics. Band 9, S. 1–27, ACM Press, New York 1990 (graphics.cornell.edu PDF)
  4. ↑ E. Gobbetti u. A.: Hierarchical Higher Order Face Cluster Radiosity for Global Illumination Walkthroughs of Complex Non-Diffuse Environments. In: Computer Graphics Forum, Band 22-3 (9/2003).
  5. ↑ B. Walter u. A.: Global Illumination Using Local Linear Density Estimation. In: ACM Transactions on Graphics, Vol. 16-3 (7/1997), S. 217–259, ACM Press, New York 1997
  6. ↑ M. F. Cohen, D. P. Greenberg: The hemi-cube: a radiosity solution for complex environments. In: Proceedings of the 12th annual conference on Computer graphics and interactive techniques, S. 31–40, ACM Press, New York 1985, ISBN 0-89791-166-0
  7. ↑ C. Goral, K. E. Torrance, D. P. Greenberg und B. Battaile: Modeling the interaction of light between diffuse surfaces. (PDF; 1,1 MB) In: Computer Graphics. Band 18, Nr. 3.
  8. ↑ M. F. Cohen u. A.: A progressive refinement approach to fast radiosity image generation. In: Proceedings of the 15th annual conference on Computer graphics and interactive techniques, S. 75–84, ACM Press, New York 1988
  9. ↑ Pat Hanrahan u. A.: A Rapid Hierarchical Radiosity Algorithm. In: Proceedings of the 18th annual conference on Computer graphics and interactive techniques, S. 197–206, ACM Press, New York 1991
  10. ↑ B. Smits u. A.: A Clustering Algorithm for Radiosity in Complex Environments. In: Proceedings of the 21st annual conference on Computer graphics and interactive techniques. ACM Press, New York 1994, S. 435–442 (cs.ucl.ac.uk (Memento vom 10. MĂ€rz 2004 im Internet Archive) PDF)
Dieser Artikel wurde am 3. September 2005 in dieser Version in die Liste der lesenswerten Artikel aufgenommen.
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Radiosity_(Computergrafik)&oldid=260261755“
Kategorien:
  • Wikipedia:Lesenswert
  • Algorithmus (Computergrafik)

  • indonesia
  • Polski
  • Ű§Ù„ŰčŰ±ŰšÙŠŰ©
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • Ù…Ű”Ű±Ù‰
  • Nederlands
  • æ—„æœŹèȘž
  • PortuguĂȘs
  • Sinugboanong Binisaya
  • Svenska
  • ĐŁĐșŃ€Đ°Ń—ĐœŃŃŒĐșа
  • Tiáșżng Việt
  • Winaray
  • äž­æ–‡
  • РуссĐșĐžĐč
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id