Computeranimation Flashcards

1
Q

Anwendungen der Computergrafik?

A

Präsentationsgrafiken, Computerunterstütze de Konstruktion und Fertigung, Architektur, Medizin, Biowissenschaften, Computeranimation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Definition von Computeranimation?

A

Erstellung von (fotorealistischen) dreidimensionalen synthetischen Laufbild-Sequenzen mit Hilfe eines Rechners

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist der Unterschied zwischen Systemen mit integriertem Grafikprozessor und peripherem Grafikprozessor?

A

peripherer Grafikprozessor:
CPU und GPU kommunizieren über speziellen Bereich des Systemspeichers. Kommunikation der Prozessoren über einen gemeinsamen Bereich des Systmespeichers ist aufwändig und langsam. CPU kann nicht direkt auf den Bildwiedrholspeicher zugreifen.

integrierter Grafikprozessor:
durchgehender Adressraum, Bildwiederholspeicher als dual-ported memory ist Bestandteil des RAM´s. CPU kann hier direkt auf den Bildwiederholspeicher zugreifen, Konkurrenz der Prozessoren beim Speicherzugriff, deswegen Cache-Speicher für CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was sind die Forderungen an den Algorithmus für zweidimensionale Darstellungselemente?

A
  • möglichst effiziente Implementierung, kurze Laufzeit
  • augewählte Pixel sollen so nahe wie möglich an der Ideallinie liegen und möglichst geradlinig verlaufen
  • bei Linien mit einer Steigung zwischen -1 und +1 soll genau ein Pixel in jeder Spalte gesetzt werden
  • konstante Helligkeit der Linie unabhängig von der Steigung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Welche 3 Algorithmen haben wir gelernt?

A

Basisalgorithmus, Inkrementieller Algorithmus, Bresenham Algorithmus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie funktioniert der Basisalgorithmus?

A

Um die Linie von P0 nach P1 zu rastern, wird die Geradengleichung y = mx + B (m = Steigung, B = Y-Achsenabschnitt)
Verfahren:
1.) Berechne m = dy/dx
2.) Berechne B = y0 -mx0
3.) Erhöhe x ausgehend von x0 jeweils um 1
4.) Berechne yi = m*xi + B
5.) Setze Pixel und runde

-> Anzahl der Schritte in x-Richtung wird mit der Steigung pro Schritt multipliziert, Wert wird dann gerundet

Nachteile:

  • Falls |m| > 1 liefert der Algorithmus nicht in jeder Zeile ein Pixel
  • Für jeden Schritt ist eine Multiplikation und eine Addition zweier Gleitkommazahlen sowie eine Rundungsfunktion nötig
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie funktioniert der inkrementielle Algorithmus?

A

yi+1 = m*xi+1 + B
-> Für den nächsten Wert wird jeweils die Steigung pro Schritt auf den alten Wert dazuaddiert, neuer Funktionswert = alter Wert, eins nach rechts und Steigung m addiert

Nachteil:

  • Fallunterscheidung zwischen m<=1 und m>1 ist nötig, da dann nicht mehr xi+1 = xi +1 gilt (das nächste Pixel muss dann möglicherweise direkt über dem vorigen gezeichnet werden
  • immernoch mathematische Rundung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie funktioniert der Bresenham Algorithmus?

A

Algorithmus muss in jeder Spalte nur zwischen 2 Pixeln unterscheiden (Ost - und Nordost-Pixel)

Berechnung einer Entscheidungsvariable d

Prinzip:

  • dx und dy ausrechnen (Differenz der zwei Punkte)
  • d start = 2dy - dx, dE = 2dy, dNE = 2(dy-dx)

d neu ist immer dALT + dE oder dNE:

  • wurde E beim vorherigen Pixel gewählt, dNEU = dALT + dE
  • wurde NE beim vorherigen Pixel gewählt, dNEU = dALT + dNE

Vorteile:

  • nur ganzzahlige Addition
  • keine Multiplikation
  • keine Rundung
  • sehr effizient
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wann entsteht Antialiasing?

A

beim Übergang von kontinuierlichen in diskrete Signalen, denn es muss immer das Shannon´sche Abtasttheorem eingehalten werden. Das heißt, die Frequenz mit der das Signal abgetastet wird, muss doppelt so groß sein wie die Frequenz des abgetasteten Signals

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Gründe für Antialiasing?

A
  • Technik der Rasterbildschirme

- Strukturen im Bild sind feiner als die Auflösung des Bildschirmes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was kann man gegen Antialiasing tun?

A

1.) Erhöhen der Auflösung (technisch begrenzt und irgendwann deutlich zu teuer)

  1. ) Bereichsmittelwerte ohne Gewichtung
    - Grauwert eines Pixels wird proportional zu der von dem Rechteck der Linie überdeckten Fläche des Pixels eingestellt
    - Gewichtungsfunktion

-> Bessere Ergebnisse, geringerer Kontrast zwischen benachbarten Pixeln

  1. ) Bereichsmittelwerte mit Gewichtung (weighted area sampling)
    - Pixel werden als sich überlappende Kreisflächen betrachtet
    - Gewichtungsfunktion ist ein Kegel, Kegelvolumen ist auf 1 normiert
    - Intensität eines Pixels = Teilvolumen des Kegelschnitts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Welche Methoden zur Approximation von Kurven gibt es?

A

Polynome, Splines, Kubische Splines, Bezierkurven, B-Splines, Nurbs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Polynome?

A

Durch n vorgegebene Punkte lässt sich ein Polynom (n-1) - ten Grades legen, Kurve oszilliert dann meistens zwischen den Stützpunkten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Splines?

A

Spline = Teilkurve
Stückweise polynomielle Kurven
- Mit Polynomen ersten Grades lassen sich nur Geraden darstellen
- Mit Polynomen zweiten Grades (Parablen) stoßen Splines aufeinander (es ergeben sich aber Ecken)
- Mit Polynomen dritten Grades erzeugt man Kubische Splines, diese liefern schöne Ergebnisse, da C2-Stetigkeit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Welchen Grad der Stetigkeit gibt es?

A

C0: gleiche Funktionswerte, ungleiche 1. Ableitungen (Für CA nicht ausreichend)
C1: gleiche Funktionswerte, gleiche 1. Ableitungen, ungleiche 2. Ableitungen
C2: gleiche Funktionswerte, gleiche 1. Ableitungen, gleiche 2. Ableitungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Kubische Splines?

A

C2-Stetigkeit an den Intervallgrenzen
Soll eine Kurve durch n vorgegebene Punkte laufen, wird die Funktion in n-1 Intervalle zerlegt und in jedem Teilintervall durch ein Polynom 3-ten Grades dargestellt. Mathematisch aber sehr aufwändig

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Bezierkurven?

A

Es kann jede beliebige Kurve dargestellt werden. Jedes Bezier-Kurvensegment besteht z.B aus vier Punkten, zwei Stützpunkte definieren Anfang und Ende der Kurve, zwei Kontrollpunkte steuern den Kurvenverlauf, liegen aber nicht auf der Kurve.
Bernsteinpolynome definieren den Einfluss der Punkte auf den Kurvenverlauf.

  • geschlossene Kurven durch Mehrfachpunkte P0 = P3
  • Kurve liegt innerhalb der Hülle der Stütz- und Kontrollpunkten
  • C1-Stetigkeit an den Verbindungspunkten
  • Verschiebung von einem Punkt beeinflusst gesamten Kurvenverlauf
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

B-Splinekurven?

A

B = Basis
Verallgemeinerung von Bezierkurven, nicht alle Stützpunkte haben Einfluss auf gesamten Kurvenverlauf und der Grad der Polyno,e soll unabhängig von der Anzahl der Stützpunkte sein

  • werden berechnet wie Bezierkurven, k wird vom User gesetzt, bei Bezier ist dieses gegeben
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Nurbs?

A

Erweiterung der B-Splines, bei denen genaue Abbildungen eines Kreises möglich sind.
Punkte sind nicht gleichmäßig gewichtet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Welche geometrischen Transformationen gibt es?

A

Translation, Skalierung, Rotation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Wie funktioniert die Translation?

A

Translation ist einfache Vektoraddition, bei der jeder Punkt mit einem Vektor v addiert wird und sich somit alle Punkte gleich verschieben

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Wie funktioniert die Skalierung?

A

Einfache Matrizenmultiplikation, bei der jeder Punkt proportional zu den anderen herunter- oder heraufskaliert wird. Hierbei verschiebt sich aber das ganze Objekt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Wie funktioniert die Rotation?

A

Drehung von den Punkten um den Winkel phi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Wie unterscheidet sich die Rotation und Skalierung von der Translation?

A
  • bei der Skalierung und Rotation wird Position zum Ursprung verändert
  • Translation wird anders berechnet als Rotation und Skalierung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Wie funktionieren zusammengesetzte Transformationen beziehungsweise was ist das Ziel?

A

Ziel: Steigerung der Effektivität, wenn eine Reihe von Transformationen auf mehrere Punkte (Objekte) angewandt werden

Bsp. Drehung eines Hauses um P1 um den Winkel phi:

  1. ) Verschiebe P1 zum Ursprung
  2. ) Rotiere um den Winkel phi
  3. ) Verschiebe zum ursprünglichen P1

Achtung! Matrizenmultiplikation ist nicht kommutativ: KV != VK, also Reihenfolge beachten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Was ist das Weltkoordinatensystem?

A

Koordinatensystem, in dem der Anwender die Objekte seiner künstlichen Welt platziert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Was sind die Bildschirmkoordinaten?

A

Matrix der Bildpunkte des Monitors, entspricht dem Bildwiederholspeicher

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Was ist die Window-Viewport-Translation?

A

Hier wird ein Window (Kamerasichtfenster) von Weltkoordinaten in Bildschirmkoordinaten umgewandelt. Zuerst wird zum Ursprung verschoben, dann skaliert, dann an die endgültige Position verschoben. Transformation als Wechsel des Koordinatensystems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Welche Möglichkeiten gibt es bei der Kappung (Clipping) ?

A
  • Analytisch: Berechnung der Schnittpunkte von Polygonkanten mit dem Kappungsrechteck (siehe C-S-Algorithmus)
  • Während der Rasterung: Es werden nur die Pixel gerastert, die innerhalb des Kappungsrechtecks liegen
  • Kappen am Window: Bei jeder Window-Viewport-Translation
30
Q

Was geschieht bei dreidimensionalen Transformationen?

A

Einheitliche Berechnung mit Hilfe von 4x4 Matrizen und nicht 3x3 wie bei 2D

31
Q

Welche dreidimensionalen Darstellungselemente gibt es?

A

Translationskörper, Raumprimitiven, Polygonflächen, gekrümmte Flächen,

32
Q

Was sind Translationskörper?

A

Volumen wird bestimmt durch den Raum, der von einer entlang einer Kurve verschobenen Fläche überstrichen wird, Translationskurve muss dabei außerhalb der Ebene der erzeugenden Fläche liegen

33
Q

Was sind Raumprimitiven?

A

primitve Formen, welche mittels geometrischer Transformationen ausgerichtet und zu komplexen Formen zusammengefügt werden. Sind Raumprimitiven als Körpermodell implementiert, können Objekte durch logische Verknüpfungsoperationen auf den Grundelementen beschrieben werden.

  • Vereinigungsmenge, Schnittmenge, Differenzmenge
34
Q

Was sind Polygonflächen?

A

Darstellung dreidimensionaler Objekte durch verwendung ebener Flächen (Polygone), exakte Beschreibung bei Polyedern, Approximation bei gekrümmten Flächen.

35
Q

Wie läuft die Integritätsprüfung bei Polygon-Objekten in der Modellierungsphase ab?

A
  • jeder Punkt ist ein Endpunkt mindestens zweier Kanten
  • jede Kante ist Teil von mindestens einem Polygon
  • jedes Polygon ist geschlossen
  • jedes Polygon teilt mindestens eine Kante mit mindestens einem weiteren Polygon
36
Q

Was ist der Normalenvektor im Bezug auf ein Polygon?

A

Zeigt an, welche Seite des Polygons außen liegt und somit sichtbar ist. Die Flächennormale zeigt nach außen, wenn in einem rechtshändigen Koordinatensystem die Polygoneckpunkte gegen den Uhrzeigersinn angeordnet sind

37
Q

Was sind Bezierflächen und wie funktionieren sie?

A

Jedes Bezier-Flächensegment besteht aus 16 Punkten, 4 Stützpunkten und 12 Kontrollpunkten (steuern Flächenverlauf und liegen nicht auf der Fläche)

Bezierfläche = Produkt zweier Bezierkurven
B-Splinefläche = Produkt zweier B-Splinekurven
38
Q

Was bedeutet Projektion?

A

Abbildung eines Vektors von R^n -> R^n-1

Abbildung der Objekte aus dem dreidimensionalen Weltkoordinatensystem auf eine Projektionsebene (Bildschirm oder Viewport)

39
Q

Welche Projektionsarten gibt es?

A

Zentralprojektion: Die Projektionsstrahlen treffen sich im Projektionszentrum, perspektivische Projektion; entspricht dem menschlichen Sehen

Parallelprojektion: Das Projektionszentrum liegt im unendlichen

40
Q

Was für verschiedene Projektionsperspektiven gibt es?

A

rechtwinklig: Projektionsaurichtung ist senkrecht zur Projektionsebene
axonometrisch: die Normale der Projektionsebene ist nicht parallel zu einer Hauptachse

  • > isometrisch: Projektionsebene bildet mit jeder der drei Hauptachsen den gleichen Winkel
  • > dimetrisch: Projektionsebene bildet mit zwei der drei Hauptachsen den gleichen Winkel
  • > trimetrisch: Projektionsebene bildet mit jeder Achse einen anderen Winkel
41
Q

Was für verschiedene Perspektiven gibt es?

A

1/2/3-Punkt-Perspektiven, Projektionsebene schneidet 1,2 -oder 3 der Hauptachsen

42
Q

Wie funktioniert die Berechnung der Zentralprojektion?

A

Projektionsebene ist gleich der (x,y)-Ebene, das Projektionszentrum Z liegt auf der negativen z-Achse im Punkt (0,0,-a). Der Fluchtpunkt F liegt hier dem Projektionszentrum gespiegelt gegenüber am Punkt (0,0,a).

Die Berechnung der neuen Koordinaten funktioniert durch den Strahlensatz

x´/x = a/z+a

43
Q

Wie funktioniert die Berechnung der Parallelprojektion?

A

Projektionsebene ist gleich der (x,y)-Ebene, die Normale der Projektionsebene ist parallel zur z-Achse, die Projektionsrichtung ist senkrecht zur Projektionsebene

44
Q

Erkläre Begriffe: Projektionszentrum, Fluchtpunkt, Viewplane, Kappungsebenen

A

Projektionszentrum: Ist gleich dem Beobachterstandpunkt

Fluchtpunkt: Fluchtpunkt ist das an der Projektionsebene gespiegelte Projektionszentrum

Viewplane: Projektions- bzw Ansichtsebene im Bildraum

Kappungsebenen: Zwischen der vorderen und hinteren Kappungsebene liegt der Schärfentiefenbereich der virtuellen Kamera

45
Q

Wie funktioniert die Kappung am Bildraum mit dem Cohen-Sutherland-Algorithmus?

A

Aufteilung von Bereichen, welche jeweils einen Code bekommen. Der Mittlere Bereich stellt den sichtbaren Bereich dar und hat den Code 0000.

Bit 1: Links vom Fenster
Bit 2: Rechts vom Fenster
Bit 3: Unter dem Fenster
Bit 4: Über dem Fenster

Eine Linie ist sichtbar, wenn Anfangs- und Endpunkt den Code 0000 haben; eine Linie ist nicht sichtbar, wenn Anfangs- und Endpunkt nicht den Code 0000 haben und ist Clipping Kandidat, wenn einer der beiden Codes nicht 0000 ist.

Ist ein Code nicht 0000, wird er mit der jeweiligen äußeren Geraden (x-min/max oder y min/max) geschnitten und ein neuer Punkt berechnet, dann läuft der ganze Algorithmus wieder durch.

Parallelprojektion:
- Bits werden auf 6 Stellen erweitert, um die Tiefe darzustellen, Algorithmus funktioniert analog zu zweidimensionalen Fall

Zentralprojektion:
Zwei Möglichkeiten:
1.) Transformation in Bildraum der Parallelprojektion und Vorgang wie oben

2.) Modifizierung des Algorithmus und Änderung der Bereichscodes

46
Q

Welche Arten von Algorithmen zur Ermittlung verdeckter Kanten gibt es?

A

Objektraum-Algorithmen: arbeiten im Weltkoordinatensystem

Bildraum-Algorithmen: arbeiten im Gerätekoordinatensystem

47
Q

Wie funktioniert der Z-Puffer?

A

Z-Puffer gleicht dem Bildwiederholspeicher und wird mit 0 initialisiert. Der Z-Puffer enthält die Tiefeninformation der Polygone und der Bildwiederholspeicher die Farbwerte.

Bei jedem Durchlauf werden Polygone in beliebiger Reihenfolge untersucht, ist der untersuchte Wert auf dem aktuellen Pixel im Puffer höher als der Wert davor, wird dieser im Z-Puffer überschrieben. Der Farbwert wird für das jeweilige Pixel im Bildwiederholspeicher auch überschrieben.

Nach der Abarbeitung aller Polygone erhält der Bildwiederholspeicher die Abbildung der sichtbaren Flächen.

Vorteile:
Einfache Implementierung
Ausführungszeit unabhängig von Anzahl der Polygone

Nachteile:
Früher verhältnismäßig hoher Speicherplatzbedarf

48
Q

Wie funktioniert der Scan-Line Algorithmus

A

Bild wird Zeilenweise durchgangen, in der Datenstruktur eines Polygons befindet sich eine Betrachtungsflagge, die bei jedem Schnitt zwischen Rasterzeile und Polygonkante auf sichtbar/unsichtbar eingestellt wird.

Nur 2 Möglichkeiten:

  • nur eine Betrachtungsflagge ist gesetzt, Polygon im Span und sichtbar
  • mehrere Betrachtungsflaggen sind gesetzt, Tiefen werden berechnet, aus Flächengleichungen der Polygone wird das sichtbare Polygon berechnet.

Problem:
bei Durchdringungen ändert sich Sichtbarkeit zwischen 2 Kantenschnitten, teilt wenn nötig Span noch einmal in Unterspans auf

Vorteil:
geringer Speicherplatzbedarf

Nachteil:
Laufzeit steigt mit steigender Polygonanzahl

49
Q

Wie sieht die Translationsmatrix aus?

A

(x´) ( 1 0 dx ) ( x )
(y´) = ( 0 1 dy ) x ( y )
(1 ) ( 0 0 1 ) ( 1 )

50
Q

Wie sieht die Skalierungsmatrix aus?

A

(x´) ( sx 0 0 ) ( x )
(y´) = ( 0 sy 0 ) x ( y )
(1 ) ( 0 0 1 ) ( 1 )

51
Q

Wie sieht die Rotationsmatrix aus?

A

(x´) ( cos -sin 0 ) ( x )
(y´) = ( sin cos 0 ) x ( y )
(1 ) ( 0 0 1 ) ( 1 )

52
Q

Was ist ein Beleuchtungsmodell?

A

ist eine Vorschrift zur Berechnung der Lichtstärke I an einer bestimmten Stelle im Objektraum

  • Farbe eines Objekts hängt vom Anteil der von ihm absorbierten, reflektierten und transmittierten Wellenlängen des Lichts ab
  • Absorbiert ein Objekt das gesamte Licht ist es für den Betrachter unsichtbar
  • Erst durch Reflexion und durhc die mit der Transmission verbundene Brechung des Lichts wird ein Objekt sichtbar
53
Q

Was gibt es Für Beleuchtungsmodelle?

A

Ambientes/Diffus reflektiertes/Spiegelnd reflektiertes Licht

54
Q

Wie funktioniert das Beleuchtungsmodell des Ambienten Lichts?

A

I^amb = I^h * k^a

I^amb = Intensität des von einem Punkt ambient reflektierten Lichts

I^h = Intensität der Hintergrundbeleuchtung der Szene

k^a = ambienter Reflektionskoeffizient (Materialkonstante, größergleich 0, kleinergleich 1)

  • Es wird angenommen, dass k^a unabhängig von der Blickrichtung ist und I^h aus allen Raumwinkeln gleichmäßig auftrifft
  • In ambienten Licht werden alle indirekten Beleuchtungen der Szene zusammengefasst
55
Q

Wie funktioniert das Beleuchtungsmodell des diffus reflektierten Lichtes?

A

Das einfallende Licht wird gleichmäßig in alle Richtungen reflektiert.

Kosinusgesetz von Lambert:
I^diff = I^lq * cos(q) * k^d

I^diff = Intensität des von einem Punkt diffus reflektierten Lichts

I^lq = Intensität der Lichtquelle

q = Einfallswinkel

k^d = diffuser Reflektionskoeffizient (Materialkonstante)

-bei diesem Modell werden alle nicht direkt beleuchteten Objekte schwarz dargestellt, deshalb Integration der ambienten Beleuchtung:

I = I^diff + I^amb

-die direkte Beleuchtung nimmt mit dem quadrat der Entfernung d eines Objekts zur Lichtquelle ab

56
Q

Wie funktioniert das Beleuchtungsmodell des spiegelnd reflektierenden Lichtes (gerichtete Reflexion) ?

A

einfallender Strahl und reflektierender Strahl bilden mit Oberflächennormalen denselben Winkel

Modell von Phong:

I^spieg = I^lq *k^s * cos^c (2a)

I^spieg = Intensität des von einem Punkt spiegelnd reflektierten Lichts

I^lq = Intensität der Lichtquelle

k^s = spiegelnder Reflexionskoeffizient (Materialkonstante)

c = Streuung des reflektierten Lichts (Materialkonstante), je größer c, desto kleiner das Highlight des Glanzpunktes, da cos^c dann immer kleiner wird.

2a = Winkel zwischen Vektoren

-die Materialkonstanten k^s und c beeinflussen das Aussehen der Glanzlichter:
k^s steuert Helligkeit des Glanzlichts, c steuert die größe des Glanzlichts

-in der Praxis weisen die meisten Oberflächen eine Mischung aus diffuser und spiegelnder Reflexion auf, sodass häufig von einer gemischten Reflexion gesprochen wird

57
Q

Was ist gerichtet transmittiertes Licht?

A

von Transmission spricht man, wenn ein Teil des Lichts ein transparentes Objekt durchdringt und nur der restliche Teil des Lichts reflektiert wird.

Man unterscheidet zwischen gerichteter Transmission (Klarglas) und diffuser Transmission (Milchglas)

basiert auf Brechungsgesetz von Snellius:
n1 * sin(q) = n2 * sin(q)´

n1,n2 = Brechungsindizes

q/q´ = Ein/Ausfallwinkel des Lichts

Intensität des unmittelbar hinter dem betrachteten Objekt liegenden anderen Objektes wird in die Berechnung mit einbezogen
(gesamte Intensität des von einem Objekt abgestrahlten Lichts (I^ges) wird verrechnet mit gesamter Intensität des von einem Objekt reflektierten Lichts (I^r), Transmissionsgrad (k^t) und Reflektionsgrad (1-k^t), für Optisch undurchsichtige Objekte ist k^t = 0, für vollkommen transparente Objekte ist k^t = 1

I^ges = (1-k^t) * I^r1 + k^t * I^ges2

58
Q

Definieren Sie die Grundgedanken von Schatten?

A

Fällt der Betrachtungspunkt (Kameraposition) nicht mit der Position der (punktförmigen) Lichtquelle zusammen, werden in der Szene Schatten sichtbar.

Beleuchtungsmodell (8) ist Verrechnung der gesamten Reflektionen und Hinzufügen von Schatten zum gesamten Beleuchtungsmodell.

I = I^amb + Summe Anzahl Lichtquellen* S (wenn in diesem Punkt blockiert 0, wenn nicht 1) * f(d) (Schattenfunktion)* (I^diff+I^spieg)

  • großer Rechenaufwand wegen der vielen im 3D-Raum zu verfolgender Strahlen
  • Punkte, die im Schatten aller Lichtquellen liegen, werden immer noch durch das ambiente Licht beleuchtet.
59
Q

Was ist der Tiefenpuffer Schattenalgorithmus (shadow mapping) und wie funktioniert er?

A
  1. Berechnung des Schatten-Tiefenpuffers aus Sicht der Lichtquelle
  2. Berechnung des Tiefenpuffers aus Sicht des Betrachters, Puffer erhält für jedes Pixel den z-Wert des in diesem Punkt am nächsten liegenden Objekts
  3. Jeder Bildpunkt P(x,y,z) aus 2. wird in den Koordinatenraum von 1. transformiert -> P´(x´,y´,z´)
  4. Ist die z-Koordinate z´ des transformierten Punktes P´ kleiner als der Eintrag z an der Stelle (x´,y´) im Schatten-Tiefenpuffer, dann liegt P im Schatten
60
Q

Was gibt es für verschiedene Beleuchtungs- bzw Schattenmodelle?

A

Inkrementelle Algorithmen: Für jeden Punkt werden die unterschiedlichen Lichtanteile aufsummiert

Empirische Modelle: Nur auf Beobachtung beruhend

Raytracing Algorithmen: Strahlenverfolgung

Transitionsmodelle: Simulation physikalischer Vorgänge

Radiosity Methoden: Strahlungsbrechung

Analytische Modelle: Berechnung physikalischer Vorgänge

61
Q

Was sind inkrementelle Algorithmen?

A
  • Nur ambiente Beleuchtung und diffuse Reflexion
  • Keine entfernungsabhängige Lichtabnahme
  • Lichtquelle liegt im Unendlichen, deshalb für jede Polygonfläche konstant

Funktionsweise:
Berechne das Beleuchtungsmodell an einem Punkt des Polygons, fülle das Polygon mit der berechneten Farbe

Problem: sprunghafte Schattierungen, Polygone werden sichtbar

Deswegen: variable Schattierung innerhalb eines Polygons (z.B. Gouraud, Phong Schattierung)

62
Q

Wie funktioniert die Gouraud-Schattierung (Schattierung durch Intensitätsinterpolation) ?

A

Vorgang:
1. Berechne die Normalenvektoren an den Eckpunkten des Polygons als Mittelwert der Normalenvektoren der angrenzenden Polygonflächen

N = N1+N2+N3/3

  1. Berechne das Beleuchtungsmodell an den Eckpunkten des Polygons
  2. Für alle Scan-Linien
    a. Berechne den interpolierten Farbwert an der linken und rechten Kante des Polygons
    b. Für jedes im Inneren des Polygons liegende Pixel der Scan-Linie, berechne den interpolierten Farbwert des Pixels

Probleme: Die Stufenartige Schattierung wird nur zum Teil beseitigt, spiegelnde Reflexionen in der Mitte von Polygonen gehen verloren

63
Q

Wie funktioniert die Phong-Schattierung (Schattierung durch Interpolation der Normalenvektoren) ?

A

Vorgang:
1. Berechne den Normalenvektor an den Eckpunkten des Polygons

  1. Für alle Scan-Linien:
    a. Berechne den interpolierten Normalenvektor an der linken und rechten Kante des Polygons
    b. Für jedes im Inneren des Polygons liegende Pixel an der Scan-Linie, berechne den interpolierten Normalenvektor, berechne das Beleuchtungsmodell
  • liefert ansprechende Abbildungen bei wesentlich erhöhtem Rechenaufwand, die Stufenartige Schattierung wird reduziert, aber nicht vollständig beseitigt
64
Q

Was ist Raytracing?

A

Strahlenverfolgung, die Idee ist es Lichtstrahlen, die eine Lichtquelle verlassen zu verfolgen, bis sie über Reflexion und Transmission an Objekten das Auge des Betrachters treffen.

Problem: Viele unnötige Berechnungen, da nicht alle Lichtstrahlen ins Auge des Betrachters fallen

Lösung: Umkehrung des Verfahrens, Ausgehend vom Auge des Betrachters wird durch jedes Pixel ein Sehstrahl zurückverfolt, bis er in ein Objekt oder in den Hintergrund trifft. In Abhängigkeit des getroffenen Objekts werden ein Reflexionsstrahl und ein Transmissionsstrahl berechnet und rekursiv zurückverfolgt, bis diese in den Hintergrund treffen oder eine gewisse Tracetiefe erreichen.

Farbe des Pixels: gewichtete Summe der in den einzelnen Rekusionsschritten berechneten Farbintensitäten

Vorgehensweise:
1) Für jedes Pixel wird der Strahl vom Projektionszentrum durch das Pixel berechnet und anschließend der Schnittpunkt mit dem nächstliegenden Objekt berechnet, wenn dieses Objekt getroffen wird, wird die Schattierung berechnet, ansonsten I^ambient gesetzt.

2) Berechnung der Schattierung:
Für jede Lichtquelle wird der Strahl vom Schnittpunkt mit dem Objekt zur Lichtquelle berechnet und nun I^diff und I^spieg berechnet.
Ist dieses Objekt reflektierend oder transparent werden Reflexionsstrahl bzw gebrochener Strahl berechnet und anschließend wieder zu Schritt 1.) gesprungen.

Hierbei spielen:
I^s (Intensität des aus Reflexionsrichtung einfallenden Lichts
I^t (Intensität des aus Transmissionsrichtung einfallenden Lichts
k^t (Transmissionskoefizient)
k^s (spiegelnder Reflexionskoeffizient)

eine Rolle.

65
Q

Was hat der Raytracing-Algorithmus für Vor- und Nachteile?

A

Vorteile:
Die Ermittlung sichtbarer Flächen und die Berechnung von Schatten werden implizit erledigt, Beeindruckende Effekte entstehen

Nachteile:
Großer Rechenaufwand (läufzeit wächst linear mit Pixelanzahl und exponentiell mit der Objektanzahl), 75 Prozent der Laufzeit für Schnittpunktberechnung, sehr genaue Berechnung notwendig, sonst Rundungsfehler, Aliasing-Effekte (Unterabtastung)

66
Q

Was ist diffuses Raytracing und Pathtracing?

A

Beim diffusen Raytracing wird nicht nur ein Lichtstrahl verfolgt, sondern es werden mehrere zufällig generierte Strahlen zur Bestimmung eines Wertes benutzt. Dies funktioniert bei spiegelnden und reflektierenden Flächen, nicht aber bei diffusen Flächen bzw der globalen Beleuchtung, da bei diffusen Flächen keine Sekundärstrahlen ausgesandt werden.

Das Pathtracing minimiert dieses Problem und kann auch die globale Beleuchtung berechnen. Hier wird bei jedem Auftreffen eines Strahles auf eine reflektive, diffuse oder reflektive Fläche mindestens ein zufällig generierter Strahl erzeugt, der sich seinen Weg durch die Szene bahnt. Je höher die Anzahl der zufällig generierten Strahlen bei Schnittpunkten, desto besser das Bild, je weniger, desto mehr Bildrauschen entsteht, da nicht für jedes Pixel eindeutige Werte errechnet werden können.

67
Q

Was ist Radiosity?

A

Idee: Erhaltung der Lichtenergie in einer geschlossenen Szene. Die gesamte von einer Fläche F^i abgegebene Energie(Strahlung) besteht aus der abgegebenen Eigenstrahlung E^i der Fläche plus der Summe der von F^i reflektierten Energien, die von allen anderen Flächen abgegeben werden. Berechnung nur von diffusen Reflexionen, Verdeckungsmodell muss separat berechnet werden,

B^i: gesamte von der Fläche F^i abgegebene Energie
E^i: Eigenstrahlung der Fläche E^i
p^i: diffuser Reflexionskoeffizient von F^i
B^j: gesamte von der Fläche F^j abgegebene Energie
F^ij: Formfaktor

Arbeitsweise:
Objekte sind aus Flächenelementen aufgebaut, die entweder diffuse Reflektoren oder Lichtquellen sind. Zwischen all diesen Flächen findet ein Austausch von Licht statt, Licht wird hier als Strahlung betrachtet, die eine gewisse Energie besitzt. Hier werden keine Spiegelungen berechnet, sondern nur diffuse Reflektionen, meist refletieren Stoffe in der Natur aber nur diffus.
Es wird an den Eckpunkten der einzelnen Flächen der Farbwert durch das Beleuchtunsmodell berechnet.

Im Gegensatz zu Raytracing nicht vom Blickpunkt abhängig, muss nur am Anfang einer Szene berechnet werden.

68
Q

Was ist Texturemapping?

A

Textur wird auf Objekt gezeichnet, optimal stimmt die Geometrie der Textur mit der des Objektes überein, meistens hat man aber mit Problemen wie Verzerrung zu rechnen. Bei 3D Texturemapping soll der Eindruck geschaffen werden, dass das Objekt aus einem bestimmten Material besteht

69
Q

Was ist Bumpmapping?

A

3D-Struktur des Objekts wird auf Textur erzeugt, ist aber in Wirklichkeit gar nicht auf Textur vorhanden. Hier werden Tiefeninformationen des Objektes genommen und auf die Farb/Grauwerte der Textur übertragen.

Flächennormalen werden bei der Bildberechnung manipuliert und verschoben, dadurch entsteht ein 3D-Eindruck auf der Fläche. Dadurch wird gleichzeitig die Belichtung verändert und auf der Textur entsteht ein 3D-Tiefeneindruck

70
Q

Was ist Displacementmapping?

A

Man legt Displacement-Map auf Objekt, welche Geometrie des Objektes beeinflusst und manipuliert. Rechenaufwand ist viel großer, da alle Tiefeninformationen vorhanden sind und gleichzeitig auch berechnet werden müssen; kein “Fake” wie Bumpmapping/Texturemapping

71
Q

Was sind Reflectionmaps?

A

Man berechnet Spiegelnde Projektion eines Objekts/einer Szene, welche dann ganz einfach z.B . auf Boden dazugerechnet wird.

72
Q

Wie sieht die Rendering-Pipeline für Z-Puffer und Gouraud-Schattierung aus?

A
  • Datenbank durchlaufen
  • Modellierungstranformation: Abbildung aus Modellkoordinaten in Weltkoordinaten
  • Trivial ablehnen: entfernen von Objekten, die vollständig außerhalb des Bildraums liegen
  • Beleuchtung: Berechnung der Intensität an jedem Knoten (Gouraud) im Weltkoordinatensystem
  • Darstellungstransformation: Transformation des Weltkoordinatensystems in einen normalisierten kanonischen Bildraum
  • Kappung
  • Projektion, Window-Viewport Translation: Projektion auf die Betrachtungsebene, Umrechnung in Bildschirmkoordinaten
  • Rasterung: z-Puffer-Algorithmus und Berechnung des Farbwerts jedes Pixels durch Intensitätsinterpolation