Computeranimation Flashcards

1
Q

Was ist die ISO-Definition der grafischen Datenverarbeitung?

A

“Methoden und Techniken zur konvertierung von Daten in und aus grafischer Darstellung mit Hilfe von elektronischen Rechenanlagen.”

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

Was sind die Teilgebiete der Grafischen Datenverarbeitung?

A
  • > Computergrafik
  • > Bildverarbeitung
  • > Mustererkennung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind die Teilgebiete der grafischen Datenverarbeitung und was sind deren Aufgaben?

A

Computergrafik:
-> Verfahren zur Eingabe und Manipulation von Bildbeschreibungen sowie deren Umwandlung in grafische Darstellungen
—————————–
Bildverarbeitung:
-> Methoden die nur auf den Bilddaten operieren und versuchen diese entweder zu “verbessern” (nachträgliche Korrektur von Aufnahmen) oder zu “vereinfachen” (Datenreduktion)
————————————-
Mustererkennung:
-> Beschäftigt sich mit den Problemen aus vorliegenden Bilddaten bestimmte Informationen zu gewinnen (z.B. automatisches Sortieren unterschiedleicher Teile, Erkennen von Buchstaben auf Fotos, …) z.B. erkenn Schriften beim Scannen

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

Was sind die Anwendungsgebiete der Computergrafik?

A
  • > Präsentationsgrafiken (2D/3D)
  • > Computerunterstützte Konstruktion und Fertigung (CAD / CAM)
  • > Architektur
  • > Medizin (Computertomographie)
  • > Biowissenschaften (3D-Molekülmodelle)
  • > Kartographie
  • > …
  • > Echtzeit-Bilddarstellungen (Flug- und Fahrsimulation)
  • > Computeranimation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist die Definition von Computeranimation?

A
Erstellung von (fotorealsitischen) dreidimensionalen syntethischen Laufbild-Sequenzen mit Hilfe eines Rechners:
-> Oder kurz: Belebte (bewegte) Computergrafik
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind die Komponenten eines CA-Systems?

A
Rechner:
-> Aktuelle CPU
-> Hochwertige Grafikkarte
-> RAM 16GB und mehr
-> Plattenspeicher 320 GB
-> Monitor ab 24"
---------------------------------
Optionales Zubehör:
-> Grafik-Tablet
-> 3D Scanner
-> Scanner
-> 3D Drucker
-> Vernetzung durch LAN
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist das einfache Rastersystem (PC der 1. Generation)?

A

Ein Teil des RAMs dient als Bildwiederholspeicher. Der Video-Controller zeigt das durch den Bildwiederholspeicher definierte Bild.

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

Was sind die Vorteile eines einfachen Rastersystems (PC der 1. Generation)?

A
  • > Einfache und dadurch preiswerte Systemarchitektur

- > Die CPU greuft direkt auf den Bildwiederholspeicher zu

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

Was sind die Nachteile eines einfachen Rastersystems (PC der 1. Generation)?

A
  • > Betriebssystem, Anwendungsprogramm incl. Grafikpaket und Grafiktreiber werden von der CPU ausgeführt
  • > Der Grafiktreiber enthält die Prozeduren zur Rasterung, Rasterung durch Software ist langsam
  • > Die CPU wird gebremst wenn der Zugriff des Video-Controllers auf den Bildwiederholspeicher über den Systembus erfolgt. Abhilfe: Bildwiederholspeicher als dual ported memory.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist das Rastersystem mit peripherem Grafikprozessor (PC der aktuellen Generation)?

A

Funktionsweise:
Der Systemspeicher enthält Programme und Daten, die von der CPU ausgeführt werden: Betriebssystem, Anwendungsprogramm inc. Grafikpaket. Der Speicher des Grafikprozessors enthält Programme und Daten für die Rasterung und andere Grafikoperationen (Grafiktreiber). Die Prozessoren kommunizieren über einen speziellen Bereich des Systemspeichers (FIFO-Warteschlange)
———————-
Anwesungen, die von der CPU an den Grafikprozessor übergeben werden: Move, Line, Point, Rect, Text, Circle, Polygon, AreFill, RasterOp, ….

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

Was sind weitere mögliche Funktionen des Grafikprozessors?

A
  • > Kappung (rechteckiger Teil aus der Gesamtszene)
  • > Geometrische Transformationen (Translation, Skalierung, Rotation, …)
  • > Ermittlung sichtbarer Flächen (z-Puffer Algorithmus)
  • > Rendering (Bildberechnung der 3D-Szene)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was sind die Nachteile eines Grafikprozessors?

A
  • > Die kommunikation der Prozessoren über einen gemeinsamen Bereich des Systemspeichers ist aufwändig und langsam
  • > Die CPU kann nicht direkt auf den Bildwiederholspeicher zugreifen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist ein Rastersystem mit integirertem Grafikprozessor?

A
Funktionsweise:
Durchgehender Adressraum (SAS: single adress space), Bildwiederholspeicher als dual ported memory ist Bestandteil des RAMs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind die Vorteile bei Rastersystemen mit integriertem Grafikprozessor?

A

-> Die CPU kann direkt auf den Bildwiederholspeicher zugreifen

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

Was sind die Nachteile bei Rastersystemen mit integriertem Grafikprozessor?

A
  • > Konkurrenz der Prozessoren beim Speicherzugriff. Abhilfe: Cache-Speicher für die CPU
  • > Adressrechnung um Fall von Betreibssystemen mit virtuellen Adressräumen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was sind die Forderungen an den Algorithmus?

A
  • > Möglichst effiziente Implementierung (Integer-Operation anstelle von Real Operationen) und dadurch möglichst kurze Laufzeit des Algorithmus
  • > Dadurch ist eine einfache Hardware-Implementierung möglich
  • > Ausgewä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
  • > Bei Linien mit anderer Steigung soll genau ein Pixel in jeder Zeile 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
17
Q

Erkläre den Basisalgorithmus mit Worten zur darstellung einer Linie.

A

Es sind zwei Punkte mit jeweils x und y koordinate gegeben. Es soll nun eine gerasterte Linie zwischen den beiden Punkten dargestellt werden.
Bestimmen lässt sich diese Strecke mit einer Geradengleichnung. Man kann mit den beiden Koordinaten der Punkte die Steigung berechen sowie den Y-Achsenabschnitt.
Zum Zeichen der Gerade wird dann von der linken X-Koordinate des linken Punkts gestartet und für jedes X (jede Pixelspalte) bis zum Endpunkt durchgangen. X wird also bei jedem Schritt um 1 erhöht.
Bei jedem Schritt wird dann der Pixel gesetzt und somit wird eine gerade erstellt-

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

Erkläre den Basisalgorithmus mit mathematischen Beispielen.

A

-> Gegeben: P0(x0,y0) und P1(x1,y1)
-> Gesucht: Gerasterte Linie von P0 nach P1
-> Geradengleichung:
y = mx + b
mit Steigung m und Y-Achsenabschnitt b
——————————
Einfachstes Verfahren:
->Berechne:
m = delta(y)/delta(x) = (y1-y0)/(x1-x0)
->Berechne:
b = y0-mx0
——————————-
-> Erhöhe x ausgehend von x0 jeweils um 1
-> Berechne yi = m
xi + B für jedes xi
->Setze Pixel (xi, Round(yi)), wobei Round (yi) = Floor (0,5 + yi) und die Funktion Floor(y) die nächste ganze Zahl <= y liefert

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

Was sind die Nachteile des Basisalgorithmus?

A
  • > Falls |m| > 1 liefert der Algorithmus nicht in jeder Zeile ein Pixel; Problemlösung durch Fallunterscheiungen: Falls |m| > 1 Berechnung von x = f(y)
  • > Für jede Iteration ist eine Multiplikation und eine Addition zweier Gleitkommazahlen sowie ein Aufruf von Floor nötig (ineffizient)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Erkläre den inkrementellen Algorithmus mit Worten.

A

Der Inkrementelle Algorithmus basiert mehr oder weniger auf dem Basisalgorithmus. Es werden wieder beide Punkte gesetzt und gesucht ist eine gerasterte Linie zwischen ihnen.
Es wird wieder die Steigung berechnet, der y-Achsenabschnitt ist hier allerdings unnötig.
Es wird der erste Punkt betrachtet und wieder mit Round(yi) auf den nächstgelegenen Pixel gerundet.
Nun wird allerdings nicht wie beim Basisalgorithmus ein “Schnittpunkt” berechnet, sondern sondern einfach auf den breits gerechneten ersten Punkt wird die Steigung dazu gerechent. Es wird also immer auf die x-Koordinate 1 dazu gerechnet und auf die y-koordinate wird die steigung darauf gerechnet . Dann wird wieder mit Round(yi) auf den Pixel gerundet. Dies wird so lange gemacht, bis die End-X-Koordinate erreicht wird.

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

Erkläre den Inkrementellen Algorithmus mit mathematischen Beispielen.

A

-> yi+1 = mx+1 +B
-> yi+1 = m(xi + delta x) +B
-> yi+1 = m
xi + B + mdelta x <==> mit yi = mxi +B
-> yi+1 = yi + m * deta x
———————————
Falls delta x = 1 gilt:
-> yi+1 = yi +m
———————————
-> Für alle Punkte (xi, yi) auf der Geraden gilt: Wenn x(i+1) = xi+1, so ist yi+1 = yi +m. Die Werte von x und y werden mit Hilfe der zuvor berechneten Werte definiert => inkrementeller Algorithmus
—————————-
Dieser inkrementelle Algorithmus wird oft auch als DDA (digital differential analyzer) bezeichnet, weil in jedem Schritt x um 1 und y um die erste Ableitung m=dy/dx erhöht wird.

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

Was sind die Vorteile des inkrementellen Algorithmus?

A

-> Eliminierung der Multiplikation
-> Eine Fallunterscheidung für horizontale, vertikale und Linien mit |m| > 1 ist notwendig. Falls |m| > 1 gilt:
Wenn yi+1, so ist xi+1 = xi + 1/m

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

Was sind die Nachteile des inkrementellen Algorithmus?

A
  • > Rundungsfunktion

- > Die Variablen y und m sind Gleitkommazahlen

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

Was ist die Zielsetzung des Bresenham Algorithmus?

A

-> Ganzzahlige Arithmetik (Integer-Operationen und daruch keine Rundungsfunktion)

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

Erkläre den Bresenham-Algorithmus in Worten.

A

Der Basis-Algorithmus benötigt mehrere Gleitkommarechnungen sowie eine Addition, schön wäre es, wenn wir einen Algorithmus angeben könnten, welcher mit ganzen Zahlen auskommt, sowie eine Rundung überflüssig macht. Hier ist der Bresenham-Algorithmus verwendbar.

  • > Dieser Algorithmus arbeitet rekursiv, d.h. er berechnet das nächste Pixel immer basierend auf dem vorherigen Pixel
  • > Zur Vereinfachung betrachten wir nun den Fall einer Linie, mit einem Winkel zwischen 0° und 45°, beginnend im Punkt (0,0). Desweiteren gehen wir davon aus, dass die Endpunkte durch ganzzahlige Pixel beschrieben werden.
  • > Wenn als letztes das Pixel (x,y) gezeichnet wurde, dann kommen für die Folgepixel nur (x+1,y) oder (x+1, y+1) in Frage. Also das Nordöstliche oder Östliche Pixel. Daher benötigen wir ein Entscheidungskriterium, welches Pixel gemalt werden soll: Wir berechen also den Abstand (E) der Linie von Punkt (x+1, y+ 1/2), also den Mittelpunkt zwischen den beiden nächtmöglichen Pixeln. Wenn E positiv ist, muss als nächstes der obere Pixel gesetzt werden (x+1, y+1), anderenfalls das untere Pixel (x+1, y).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Erkläre den Bresenham-Algorithmus an mathematischen Beispielen.

A

Verwendete Variablen:
-> P(xp, yp): zuletzt gewähltes Pixel bzw. Startpixel
-> E/NE: Wahlmöglichkeit für das nähste Pixel bzw. Startpixel
-> Q: Schnittpunkt der Linie mit der Gitterline x=xp+1
-> M: Mittelpunkt: M(xp+1, yp+1)
-> d: Entscheidungsvariable (d>0 = NE, d<=0 = E)
——————————–
Mathematische Formeln:
y = mx + B = dy/dx * x + b
==> Geradengleichung
F(x,y) = dy
x - dx * y + B dx = 0
oder
F(x,y) = a
x + b*y + c
==> Implizite Form
————————————-
-> Für einen Punkt (x,y) auf der Linie wird F(x,y) = 0
-> Bei Punkten (x,y) oberhalb der Linie wird F(x,y) < 0
-> Bei Punkten (x,y) unterhalb der Linie wird F(x,y) > 0
———————————–
Entscheidungsvariable d = F(M):
d = F(M) = F(xp + 1,yp + 1/2) = a(xp + 1) + b(yp + 1/2) + c

-> Liegt M unterhalb der Linie: d > 0 = NE
-> Liegt M oberhalb der Linie: d < 0 = E
-> Liegt M auf der Linie: d = 0 = E

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

Wie funktioniert die Inkrementelle Berechnung der Entscheidungsvariablen d?

A

-> Wurde E gewählt, ist d(neu) = F(M´).
……………..
d(neu) = F(M´) = F(xp + 2,yp + 1/2) = a(xp +2 ) + b(yp + 1/2) + c
………………
d(alt) = F(M) = F(xo + 1,yp + 1/2) = a(xp + 1) + b(yp + 1/2) + c
……………….
d(neu) - d(alt) = a
d(neu) = d(alt) + a mit a = dy = delta E
————————–
-> Wurde NE gewählt, ist dneu = F(M´´).
…………..
d(neu) = F(M´´) = F(xp + 2,yp + 3/2) = a(xp + 2) + b(yp + 3/2) + c
…………
d(alt) = F(M) = F(xp + 1, yp+1/2) = a(xp + 1) + b(yp + 1/2) + c
………….
d(neu) - d(alt) = a+b
d(neu = d(alt) + (a+b) mit a+b = dy -dx = delta NE
————————–
-> Startwert von d:
d(start) = F(x0 + 1,y0 + 1/2) = a(x0 + 1) + b(y0 + 1/2) + c
………..
d(start) = ax0 + bx0 + c + a + b/2
……….
d(start) = F(x0, y0) + a + b/2
——————————
Da der Startwert (x0, y0) auf der Linie liegt, ist F(x0, y0) = 0 und
d(start) = a + b/2 = dy + dx/2
…………
Um den Bruch in d(start) loszuwerden wird F(x,y) mit 2 multipliziert. Es gilt:
…….
d(start) = 2dy - dx
delta E = 2dy
delta NE = 2(dy - dx)
————————
Das Vorzeichen der Entscheidungsvariablen d ändert sich dadurch nicht.

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

Was sind die Vorteile des Bresenham-Algorithmus?

A
  • > Nur eine ganzzahlige Addition in jedem Schritt
  • > Keine Multiplikation, keine Rundung
  • > Algorithmus ist sehr effizient (optimaler Algorithmus)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Was sind Probleme aller Rasterungs-Algorithmen?

A
  • > Veränderung der Intensität bei Linien unterschiedlicher Steigung: Diagonale Linien haben z.B. nur eine Intensität von I / (Wurzel)2 wenn die Intensität pro Längeneinheit einer horizontalen Linie ist. (Abhilfe: Antialiasing)
  • > Dem Bresenham-Algorithmus entsprechend gibt es effiziente Algorithmen zur Rasterung von Kreisen und Ellipsen. Diese sind Mathematisch etwas aufwändiger und deshalb nicht Gegenstand dieser Vorlesung :)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Was ist Aliasing und wo kann es auftreten?

A

Aliasing kann beim Übergang von kontinuierlichen Signalen (beliebiger Wert aus endlichem Intervall) zu diskreten Signalen (endliche Wertemenge) auftreten.

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

Was sollte man beim Übergang von Kontinuierlichen zu diskreten Signalen beachten um Aliasing zu vermeiden?

A
  • > Beim Übergang von kontinuierlichen (analogen) zu diskreten (digitalen) Signalen muss das Shannon´sche Abtasttheorem eingehalten werden.
  • > Mindestens mit der doppelten Frequenz abtasten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Was sind gründe für Aliasingeffekte bei Bildschirmen?

A
  • > Technik der Rasterschirme

- > Strukturen im Bild sind feiner als die Auflösung des Monitors (Unterabtastung)

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

Wie kann ein Bildschirm gegen das Standbildaliasing vorgehen und was sind die Nachteile?

A

Nachteile:
-> Teuere Lösung (der Bildschirm hat die vierfache Anzahl an Pixeln, der Bildwiederholspeicher ist vier mal so groß)
-> Physikalische Grenzen

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

Was bringen Bereichsmittelwerte ohne Gewichtung (unweighted area sampling) um Aliasing zu vermeiden?

A
  • > Der Grauwert (die Farbsättigung) eines Pixels wird proportional zu der von dem Rechteck der Linie überdeckten Fläche des Pixels eingestellt
  • > Gewichtsfunktion hierbei Fläche (2D) bzw. Quader (3D)
  • > Es wird also quasi um die ursprünliche Linie ein rechteck gezeichnet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Was besagt die Filtertheorie beim Antialiasing?

A

-> Bessere Ergebnisse (geringerer Kontrast zwischen benachbarten Pixeln und dadurch weichere Übergänge) wenn Flächenanteile nahe am Mittelpunkt eines Pixels stärker gewichtet werden.

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

Was bringen Bereichsmittelwerte mit Gewichtung (wighted area sampling) um Aliasing zu vermeiden?

A

-> Pixel werden als sich überlappende Kreisflächen betrachtet
-> Die Gewichtungsfunktion (Filterfunktion) ist ein Kegel
-> Das Kegelvolumen ist auf 1 normiert (maximale Intensität)
-> Intensität eines Pixels : I = Imax * Wa mit Wa = Teilvolumen des Kegelschnitts
-> Einfache Integration von Kegelfiltern in Rasteralgorithmen, optimale Filter sind mathamatisch aufwändig
==> je weiter in der mitte des Pixels der skalierte punkt liegt, desto dunkler (heller) wird der Pixel dargestellt

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

Was ist die Zielsetzung und Forderung an die Approximation von Kurven.

A
  • > Zielsetzung: Freihandkurven
  • > Approximation = Annäherung
  • > Forderung: Glatte Kurven als Verbindung vorgegebener Punkte (Stützpunkte)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Was sind Polynome?

A

-> durch n vorgegebene Punkte lässt sich ein Polynom (n-1)-ten Grades legen:
y = f(x) = a(n-1) x^n-1 + a(n-2) x^n-2 + … + a2 x^2 + a1 x + a0
………..
n = 2: Gerade; n = 3: Parapel

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

Was sind die Nachteile von Polynomen?

A
  • > Kurve oszillliert meistens zwischen den Stützpunkten

- > Es kann also variieren wie stark sie gekurvt sind

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

Was sind Splines? Und was sind die Nachteile der verschiedenen Arten von Splines?

A

-> Stückweise polynominelle Kurven
-> Geraden (Polynome 2-ten Grades) durch jeweils drei Stützpunkte.
……….
Nachteil: Eckiger Linienzug
——————————-
-> Parapeln (Polynome 2-ten Grades) durch jeweils dreo Stützpunkte
………
Nachteil: Ecken an den Intervallgrenzen, d.h. keine C1-Stetigkeit

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

Was besagt der Grad der Stetigkeit zwischen zwei Kurvensegmenten?

A

Zwischen zwei Kurvensegmenten gilt:

  • > C0: gleiche Funktionswerte, ungleiche 1. Ableitungen
  • > C1: gleiche Funktionswerte, gleiche 1. Ableitung, ungleiche 2. Ableitungen
  • > C2: gleiche Funktionswerte, gleiche 1. Ableitung, gleiche 2. Ableitung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Was sind Kubische Splines?

A

Für die Appromaxion einer Kurve f(x), die durch n vorgegebenen Punkten verlaufen soll, wird die Funktion in n-1 Intervalle zerlegt und in jedem Teilintervall x (Element von) [xi, xi+1] durch ein Polynom 3-ten Grades fi(x), i = 1, … , n-1 dargestellt.

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

Was sind die Vor- und Nachteile von Kubischen Splines?

A
Vorteil:
-> C2-Stetigkeit an Intervallgrenzen
------------------------
Nachteil:
-> Mathematisch sehr aufwändig
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Was sind Bézierkurven?

A

Methode von Pierre Bézier, der sie 1972 zur Modellierung von Oberflächen bei Karosserieentwurf bei Renault (CAD) entwickelt hat.

  • > Jedes Bézier-Kurvensegment besteht aus z.B. vier Punkten Pi (Element von) [0,3]
  • > zwei Stützpunkte (P0, P3): Definieren Anfang und Ende der Kurve
  • > zwei Kontrollpunkte (P1, P2): Steuern den Lurvenverlauf und liegen nicht auf der Kurve
  • > Parametrisierte Darstellung: P(t) = (x(t) (über) y(t)), 0 <= t <= 1
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Was sind die Vorteile von Bezierkurven?

A
  • > Es können nucht nur Funktionen y = f(x) (jedem x genau ein Funktionswert y) sindern auch Relationen und damit jede beliebige Kurve, dargestellt werden.
  • > Also auch Kreise!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

Was sind Bernsteinpolynome?

A

Wenn für vier Punkte P(i)i (ELEMENT VON) [0,3], gilt:
…..
P(t) = (1-t)^3 * P(o) + 3t * (1-t)^2 * P(1) + 3t^2 * (1-t) * P(2) + t^3 * P(3)
0 <=t <=1
…..
P(t) = B(0,3) (t) * P(o) + B(1,3)(t) * P1 + B(2,3)(t) * P2 + B(3,3)(t) * P3
0 <= t <= 1
——————————–
Die Bernsteinpolynime Bi,n(t) definieren den Einfluss der Punkte auf den Kurvenverlauf: Für t=0 ist nur B(0,3)(t) != 0, deshalb geht die Kurve durch P0, für t=1 ist nur B(3,3) (t) != 0, deshalb geht die Kurve durch P3

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

Was ist die Formel für Bernstein-Polynome?

A

P(t) = (1-t)^3P0 + 3t(1-t)^2P1 + 3t^2(1-t)P2 + t^3P3

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

Was sind die Eingenschaften von Bernsteinpolynomen?

A
  • > Im Anfang- und Endpunkt ist die Kurve tangential zum Kontrollpolygon
  • > C1-Stetigkeit an den Verbindungspunkten der Kurvensegmente durch Ausrichtung der Tangenten (bzw. Setzen der Punnkte auf eine Gerade)
  • > Kurve liegt innerhalb der konvexen Hülle der Stütz-/ Kontrollpunkte (Kappungsalgorithmus)
  • > Nur globale Kontrolle des Kurvensegments: Da alle Bernsteinpolynome für 0 Geschlossene Kurven durch Mehrfachpunkte z.B. P0 = P3
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

Was sind B-Splinekurven?

A

-> B = Basis
-> Verallgemeinerung von Bézierkurven
-> Die definition der B-Splinekurve P(t) vom Polynomgrad k-1 (k ist wählbar) erfolgt über n+1 Punkte Pi(t) = (x(t) (über) y(t)), 0 <= t <= n-k + 2
——————-
Für fünf Punkte Pi, i (Element von) [0,4], n = 4 und k = 3 gewichten die fünf Polynome N(i,k)(t) vom Grad k-1 den Einfluss der Punkte auf dem Kurvenverlauf
———————
Lokalitätseigenschaft:
-> N(0,3)(t) ist nur im Bereich t (Element von) [0,1] != 0 ==> der Startpunkt P0 beeinflusst nur diesen Wertebereich von t den Kurvenverlauf

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

Was sind die Eigenschaften von B-Splinekurven?

A
  • > C^(k-2)-Stetigkeit an den Verbindungspunkten der Kurvensegmente ist möglich (bei entsprechender Wahl der Punkte)
  • > Kurve liegt innerhalb der konvexen Hülle der Stütz-/Kontrollpunkte (Kappungsalgorithmus)
  • > Lokale Kontrolle
  • > Durch Mehrfachpunkte sind Ecken (Bereiche starker Krümmung) darstellbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

Was sind NURBS?

A

-> Non Uniform Rational B-Splines = Nicht gleichmäßige Rationale B-Splines
-> erweiterung der B-Splines
-> Nicht gleichmäßig: Die Punkte d(i) werden mit Gewichten w(i) multipliziert
————————–
Rational:
-> rationale Funktionen f(x) = g(x)/h(x) mit g(x), h(x):Polynome

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

Was sind die Vorteile von NURBS im Vergleich zu Bézierkurven / B-Splinekurven?

A
  • > Exakte Darstellung von Kegelschnittfunktionen (kreisen), ansonsten nur Approximation CAD/CAM
  • > Invarianz der Kontrollpunkte unter Translation, Skalierung, Rotation und Zentralprojektion, d.h. Unveränderlichkeit des Kurvenverlaufs unter diesen Operationen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

Was sind Vektoren?

A
  • > Allgemein: Ein Vektor ist der n-Tupel reeller Zahlen

- > Werden in der Computergrafik verwenden um Positionen von Punkten im Weltkooridnatensystem darzustellen

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

Was sind Matritzen?

A
  • > Allgemein: Eine Matrix ist ein n x m -Tupel reeller Zahlen
  • > Werden in der Computergrafik u.a. für die Durchführung geometrischer Transformationen verwendet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Wie funktioniert eine Matrizenmultiplikation?

A

Sei A eine n x m Matrix (a(ij)) und B eine m x p Matrix (b(ij)). Das Produkt C = A * B ergibt eine n x p Matrix
…..
c(ij) = (SUMME; oben m, unten a =1) a(is) * b(sj)
———————–
Die Anzahl der Spalten von A muss gleich der Zeilen von B sein.

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

Wie funktioniert die Translation (Verschiebung) im zweidimensionalen Raum?

A
Verschiebung von Punkten (x,y) in der (x,y)-Ebene um die Beträge dx, dy auf die neuen Punkte P´(x´,y´):
.......
x´ = x + dx, y´ = y + dy
P´ = [x´(über) y´], 
P = [x (über ) y], 
T = [d(x), d(y)]
.......
P´ = P + T (Vektoraddition)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

Wie funktioniert die Skalierung im zweidimensionalen Raum?

A
Skalierung von Punkten um die Faktoren s(x), s(y):
.....
x´ = s(x)*x, y´ = s(y) * y
P´ = [x´ (über) y´], P = [x (über) y]
......
S = [s(x)     0]
      [0     s(y)]
P´ = S*P (Matrizenmultiplikation)
......
Mit x´= s(x) * x + 0 * y, 
y´ = 0*x + s(y) * y
------------------------------
Falls s(x) = s(y): Uniforme Skalierung (Proportionen bleiben erhalten)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

Wie funktioniert die Rotation im zweidimensionalen Raum?

A
Drehung von Punkten um den Qunkel Q:
......
x´ = x * cos(Q)-y * sin(Q)
y´ = x * sin(Q) + y * cos(Q)
.....
P´ = [x´ (über) y´]
P = [x (über) y]
R= [cos(Q)     -sin(Q)]
      sin(Q)       cos(Q)
.....
P´ = R * P (Matrizenmultiplikation
-----------------
Mit: 
x´ = cos(Q)*x - sin(Q)*y
y´ = sin(Q)*x + cos(Q)*y
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

Was geschieht bei der Skalierung im zweidimensionalen raum noch, außer dass sich die Größe verändert?

A

Auch die Distanz vom Ursprung wird von mit dem Faktor vergrößert oder verkleinert, also verschoben.

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

Was geschieht bei der Rotation im zweidimensionalen Raum noch, außer dass das Objekt gedreht wird?

A

Das Objekt verschiebt sich um den Ursprung herum, also es verändert auch seine Position

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

Wie kann man die Translation, Rotation und Skalierung vereinheitlichen? Was bringt das?

A

-> Einheitliche Berechnung aller Transformationen = alle Unternehmungen könne gleich behandelt werden.
-> Durch 3x3 Matritzen.
(die klammern die untereinander stehen sind eigentlich eine hier)
——————————–
Translation
……
[x´] = [1 0 d(x)] * [x]
[y´] = [0 1 d(y)] * [y]
[1 ] = [0 0 1 ] * [1 ]
———————————
Skalierung
……
[x´] = [s(x) 0 0] * [x]
[y´] = [0 s(x) 0] * [y]
[1 ] = [0 0 0] * [1 ]
——————————–
Rotation
……
[x´] = [cos(Q) -sin(Q) 0] * [x]
[y´] = [sin(Q) cos(Q) 0] * [y]
[1 ] = [0 0 1] * [1]

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

Was ist die Zielsetzung von zusammengesetzten Transformationen?

A

-> Steigerung der Effektivität, wenn eine Reihe von Transformationen auf mehrere Punkte (ein Objekt) angewandt wird.

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

Wie wird bei zusammengesetzen Transformationen vorgegangen?

A
Vorgehenweise:
1. Verschiebe P1 zum Ursprung
2. Rotiere um den Winkel Q
3. Verschiebe zum ursprünglichen P1
-----------------------------
Berechnung einer Transformtaionsmatrix und Anwednung dieser Matrix auf alle Punkte des Objekts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

Was ist bei zusammngesetzten Transformationen zu beachten?

A

-> Im allgemeinen ist die Matritzenmultiplikation nicht kommunitativ, d.h. M1M2 != M2M1. Die Kommunikativität gilt nur in wenigen Sonderfällen (sonst muss die Reihenfolge beachet werden!)

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

Was ist das Weltkoordinatensystem?

A

Koordinatensystem, in dem der Anwender die Objekte seiner künstlichen Welt platziert (beliebige Einheiten von Nanometer bis Lichtjahre)

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

Was sind die Bildschirmkoorrdinaten?

A
  • > Matrix der Bildpunkte des Monitors (n Zeilen x m Spalten), entspricht dem Bildwiederholspeicher.
  • > Die Abbildung eines teils des Weltkoordinatensystems (Window = Kamerasichtfenster) auf einen Bereich des Bildschirms (Viewport) nennt man Window-Viewport-Transformation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

Wie wird bei der Window-Viewport-Transformation vorgegangen?

A
  • > Window in Weltkoordinaten
  • > Window verschoben zum Ursprung
  • > Window sklaiert auf die größe des Viewports
  • > Verschiebung um Koordinaten in jeweilige und endgültige Position
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

Was ist die Kappung (Clipping)?

A

Die außerhalb des Windows liegenden grafischen Infromationen werden abgeschnitten.

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

Was für möglichkeiten der Kappung gibt es?

A
  • > Analytisch: Berechnung der Schnittpunkte von Polygonkanten mit dem Kappungsrechteck (Cohen-Sutherland-Algorithmus)
  • > Während der Rasterung: Es werden nur die Pixel gerastert, die innerhalb des Kappungsrechtecks liegen
  • > Kappung am Window: Bei der Window-Viewport-Transformation (implizit)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

Wie können alle Transformationen im dreidimensionalen Raum berechnet werden?

A
Einheitliche Berechnung aller Transformationen um dreidimensionalen Raum erfolgt durch die Verwendung von 4x4 - Matrizen:
P´ = M * P
------------------------------------
mit:
.....
P´ = [x´]
       [y´]
       [z´]
       [1 ]
......
M = [m(11)   m(12)   m(13)   m(14)]
       [m(21)  m(22)  m(23)  m(24)]
       [m(31)  m(32)  m(33)   m(34)]
       [m(41)  m(42)  m(43)   m(44)]
......
P = [x]
      [y]
      [z]
      [1]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

Wie kann man die Bildschirmpunkte berechnen, bzw was ist die Formel dafür?

A

P´ = ((x-x(min)) * (u(max) - u(min))/(x(max) - x(min)) + u(min)*(y - y(min)) * (u(max)-u(min))/(y(max) - y(min)) + v(min) 1)

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

Wie sieht eine 4x4 Matrix für die Translation im 3-dimensionalen Raum aus?

A
T(dx,dy,dz) = 
[1   0   0   dx]
[0   1   0   dy]
[0   0   1   dz]
[0   0   0   1  ]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

Wie sieht eine 4x4 Matrix für die Skalierung aus?

A
S(sx, sy, sz)=
[sx   0   0   0]
[0   sy   0   0]
[0   0   sz   0]
[0   0   0     1]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

Wie sieht eine 4x4 Matrix für die Rotation um die X-Achse aus?

A
R(x)(Q) = 
[1        0             0      0]
[0   cos(Q)   -sin(Q)   0]
[0   sin(Q)    cos(Q)   0]
[0        0            0       1]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

Wie sieht eine 4x4 Matrix für die Rotation um die Y-Achse aus?

A
R(y)(Q) = 
[cos(Q)   0   sin(Q)    0]
[0           1         1        0]
[0           0        0       0]
[-sin(Q)   0   cos(Q)   0]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

Wie sieht eine 4x4 Matrix für die Rotation um die Z-Achse aus?

A
R(z)(Q) = 
[cos(Q)  -sin(Q)   0    0]
[sin(Q)    cos(Q)   1    0]
[0           0            1    0]
[0            0           1    0]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

Was ist bei zusammengesetzten Transformationen im dreidimensionalen raum zu bachten?

A

Da die Matrizemultiplikation nicht kommunitativ ist: Reihenfolge beachten!

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

Was ist eine inverse Matrix?

A

Es gibt das Weltkoordinatensystem und jedes Bauteil hat noch quasi ein “eigenes” kleines Koordinatensystem, mit dem es um die eigenen Achsen rotieren kann und sich nicht um den Ursprung dreht. Die Inverse Matrix verläuft (bzw. das Koordinatensystem) parallel.

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

Was ist die Definition einer Inversen Matrix?

A

Sind A und B n x m - Matrizen und gilt AB = BA = E mit E = Einheitsmatrix mit einsen auf der Diagonalen, sonst alles 0, so ist die inverse Matrix von B A, die mit A^-1 bezeichnet wird.

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

Was für Darstellungsmodelle dreidimensionaler Objekte gibt es?

A

Darstellungsform, bei der die Gestalt aufgebaut ist:

  • > Drahtmodell (Gittermodell) aus Liniensegmenten (Kanten).
  • > Flächenmodell aus Flächenelementen (Polygonen)
  • > Körpermodell (Volumenmodell) aus Körpersegmenten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
81
Q

Was ist ein Translationskörper?

A

Ein Körper, der entlang einer Achse entweder Rotiert oder verschoben wird. Die “Spur”, die dabei entsteht, wird dann als neuer Körper mit Fläche definiert.

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

Was ist das Volumen eines Translationskörpers?

A

Sonderfall:
-> Translationskurve = Kreis => Rotationskörper

83
Q

Was ist das Modellierungssystem?

A

Das Modellierungssystem definiert eine Menge dreidimensionaler primitiver Formen (Würfel, Zylinder, Kugel, Kegel, Pyramide, …). Diese einfachen Objekte lassen sich mittels geometrischer Transformationen (Translation, Skalierung und Rotation) ausrichten und zu komplexen Objekten zusammenfügen.

84
Q

Wann können Boolsche Operationen auf Köerperopermodelle angewandt werden?

A

Sind die Raumprimitiven als Körpermodell implementiert, können Objekte durch logische Verknüpfungsoperationen (Boolsche Operationen) auf den Grundelementen beschrieben werden.

85
Q

Was passiert bei Boolschen Operationen?

A

Körper die einander überlappen und entweder voneinander abgezogen werden oder addiert / zusammengefügt werden, damit ein neu geformter Körper entsteht.

86
Q

Was für Arten von Boolschen operationen gibt es?

A
  • > Vereinigungsmenge (beide Köerper werden zusammengefasst)
  • > Schnittmenge: Nur die Fläche die sich überlappt bleibt übrig
  • > Differenzmenge: Die Objekte werden zu einem zusammengefügt.
87
Q

Was bringen Polygonflächen?

A
  • > Darstellung dreidimensionaler Objekte durch Verwendung ebener Flächen (Polygone)
  • > Exakte Beschreibung beo Polyedern, Approximation bei gekrümmten Flächen
88
Q

Was muss gespeichert werden, um ein Polygonmodell darstellen zu können?

A

-> Alle Objektpunkte (Ecken)
-> Alle Objektkanten (Verbundene Punkte)
-> Alle Objektflächen (Begrenzt durch kanten)
———————-
Es baut alles aufeinander auf.

89
Q

Was ist die Integritätsprüfung und was untersucht sie?

A

Die Untersuchung der Objekte auf Fehler in der Modellierungsphase.

  • > Jeder Punkt ist 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
90
Q

Was gibt der Normalenvektor bei einem Polygon an?

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.

91
Q

Wie können gekrümmte Flächen beschrieben werden?

A

Gekrümmte Flächen können durch mathematische Funktionen beschrieben werden, falls eine Approximation durch Polygonflächen nicht ausreichend genau ist.

92
Q

Was sind Bézierflächen?

A

Jedes Bézier-Flächensegment besteht z.B. aus 16 Punkten: 4 Stützpunkte (Eckpunkte) und 12 Kontrollpunkte (steuern den Flächenverlauf und liegen nicht auf der Fläche).

93
Q

Was ist der unterschied zwischen Bézierflächen und B-Splineflächen?

A
  • > Bezierfläche = Produkt zweier Bézierkurven

- > B-Splinefläche = Produkt zweier B-Splinekurven

94
Q

Was ist eine Projektion?

A

Abbildung der Objekte aus dem dreidimensionalen Weltkoordinatensystem (x,y,z) auf eine Projektionsebene (Bildschirm oder Viewport)

95
Q

Was sind Probleme bei Projektionen?

A

Wegen der Reduzierung um eine Dimensuin z.B. Bild (R^2) auf Linie (R^1)

  • > Verlust von Informationen
  • > Mehrdeutigkeit (Projektion eines Drahtmodells)
  • > Unmögliche Objekte (Escher-Effekt)
96
Q

Was gibt es für Projektionsarten?

A

Zentralprojektion:
-> Die Projektionsstrahlen treffen sich im Projetktionszentrum
…..
Parallelprojektion:
-> Das Projektionszentrum liegt im Unendlichen

97
Q

Was besitzt die Zentralprojektion für Eigenschaften?

A

Die Zentralprojektion besitzt die Eigenschaft, die abgebildeten Objekte proportional zu ihrer Entfernung von der Bildebene zu verkleinern (deshalb auch perspektivische Projektion genannt, enstpricht dem natürlichen Sehen).

98
Q

Was gibt es sonst noch für Projektionsarten?

A

-> rechtwinklig: Die Projektionsrichtung ist senkrecht zur Projektionszeichung (technische Zeichnung)
-> Axonometrisch: Die Normale der Projektionsebene ist nicht parallel zu einer Hauptachse (IKEA Bauanleitung)
………
Untergruppen:
-> Isometrisch: Die Projektionsebene bildet mit jeder der drei Hauptachsen den gleichen Winkel, woraus gleiche Skalierung in den drei Achsenrichtungen erfolgt (45° Überall)
-> Dimetrisch: Die Projektionsebene bildet mit zwei der drei Hauptachsen den glecihen winkel. Die Skalierung ist in zwei Richtungen gleich.
-> Trimetrisch: Die Projektionsebene bildet mit jeder Achse einen anderen Winkel, so dass die Skalierung in jeder Richtung eine Andere ist.
——————————
-> 1, 2, 3 - Punktperspektive

99
Q

Wie kann man die Zentralprojektion berechnen?

A

Annahme:
Die Projektionsebene ist gleich der (x,y) - Ebene, das Projektionszentrum liegt auf der negativen z-Achse im Punkt (0,0, -a). Da die Projektionsebene nur die z-Achse schneidet: Ein-Punkt-Projektion.
Der Fluchtpunkt FP ist hierbei das an der Projektionsebene gespiegelte Projektionszentrum Z und liegt im punkt (0,0,a).

100
Q

Wie funktioniert der Strahlensatz bei der Zentralprojektion?

A

Strahlensatz:
x´/x = |a| / |z+a| ==> x´ = x* a/(z+a)
y´/y = |a| / |z+a| ==> y´= y * a/(z+a)

101
Q

Wie sieht die Transformationsmatrix für die Skalierung bei der Zentralprojektion aus?

A
P´ = M(z) * P
------------------------------
P´ = 
[x´]
[y´]
[0]
[1 ]
........
M(z) = 
[a/(z+a)     0       0      0]
[0         a/(z+a)   0      0]
[0              0      0       0]
[0             0        0      1 ]
........
P =  
[x]
[y]
[z]
[1 ]
102
Q

Wie wird die Parallelprojektion berechnet?

A

Die Projektionsebene ist gleich der (x,y)-Ebene, die Normale der Projektionsebene ist parallel zur z-Achse, die Projektionsrichtung ist senkrecht (orthogonal) zur Projektionsebene => Hauptrisse bzw. orthogonale Projektion je nach Lage des Objekts im Weltkoordinatensystem

103
Q

Wie sieht die Transformationsmatrix bei der Skalierung bei der Parallelprojektion aus?

A
P´= M(o) * P
------------------------------
P´ = 
[x´]
[y´]
[0]
[1 ]
......
M(o) = 
[1   0   0   0]
[0   1   0   0]
[0   0   0   0]
[0   0   0   1]
......
P=
[x]
[y]
[z]
[1 ]
---------------------------------
d.h. es wird ledigleich die z Koordinate des Punktes P auf Null gesetzt.
104
Q

Was ist das Problem bei der Parallelprojektion?

A

Die Projektionstransfomrationen sollen nur auf die Punkte der Objekte innerhalb des Bildraums angewandt werden (=> Kappung)!

105
Q

Wie ist das Projektionszentrum bei der Zentralprojektion?

A

Ist gleich dem Beobachter - standpunkt bzw. der Kameraposition

106
Q

Wie ist der Fluchtpunkt bei der Zentralprojektion?

A

Der Fluchtpunkt ist das an der Projektionsebene gespielte Projektionszentrum.

107
Q

Was ist die Viewplane?

A

Projektions- bzw. Ansichtsebene im Bildraum (durch die Kameraoptik wird diese auf die “Filmebene” projiziert). Die viertuelle Kamera fokussiert sich auf die Viewplane.

108
Q

Was sind die Kappungsebenen?

A

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

109
Q

Wie verläuft eine Projektion?

A
Primitive in dreidimensionalen Weltkoordinaten
............
-> Kappen am Bildraum
............
Gekappte Weltkoordinaten
............
-> Projizieren auf die Projektionsebene
-> In zweidimensionale Koordinaten in den Viewport transformieren
.........
zweidimensionale Gerätekoordinaten
110
Q

Wie sehen die Bit-Codierungen um das Fenster beim Cohen-Sutherland-Algorithmus aus?

A
1001 | 1000 | 1010
--------------------------
0001 | 0000 | 0010
---------------------------
0101 | 0100 | 0110
......................................
Bit 1: Links vom Fenster
Bit 2: Rechts vom Fenster
Bit 3: unter dem Fenster
Bit 4: über dem Fenster
111
Q

Erkläre den Cohen-Sutherland-Algorithmus.

A

……
1. Schritt
……
-> die Ebene wird in 9 Bereiche eingeteilt
-> für alle Polygonkanten werden die filgenden Anweisungen ausgeführt
-> den Endpunkten einer Poygonkante werden die entsprechenden Bereichscodes zugeordnet
————————–
Test:
-> eine Polygonkante ist sichtbar, falls beide Endpunktcodes = 0000 sind;
=>Ende des Algorithmus für diese Kante
…..
-> eine Polygonkante ist nicht sichtbar, falls das logische UND (bitwiese) der beiden Endpunktcodes != 0000 ist;
=> Ende des Algorithmus für diese Polygonkante
…….
-> eine Polygonkante ist ein Clipping-Kandidat, falss das logische UND (bitweise) der beoden Endpunktcodes = 000 ist;
——————
für Clipping-Kandidaten werden die Schnittpunkte der Polygonkante mit den Rändern des Fensters berechnet:
Falls für den Endpunkt der Polygonkante:
-> Bit 1 = 1, schneide die Polygonkante mit der der Geraden x = x(min)
……
-> Bit 2 = 1, schneide die Polygonkante mit der Geraden x = x(max)
……
-> Bit 3 = 1, schneide die Polygonkanten mit der Geraden y = y(min)
……
-> Bit 4 = 1, schneide die Polygonkanten mit der Geraden y = y(max)
——————————-
Die Schnittpunkte der Polygonkanten bekommen die neuen Bereichscodes.
Dann wird der Test wiederholt.
……
2. Schritt
……
Berechnung der Schnittpunkte von Polygonkanten im Raum mit den Begrenzungsflächen des Bildraumes (3D-Clipping)
-> die Schnittpunktberechnung wird vereinfacht, wenn der Bildraum in einen normalisierten (kanonischen) Bildraum transformiert wird
-> Transformationsmatrix N(o) bzw. N(z), P´ = N x P

112
Q

Wie verläuft eine Kappung und die Projektion mit dem Cohen-Sutherland-Algorithmus?

A

Ausgabeprimitive in dreidimensionalen Weltkoordinaten
…..
-> Normalisierungstransformation anwenden
-> am kanonischen Bildraum kappen
-> Auf die Projektionsebene projizieren
-> In den Viewport in 2D-Gerätekoordinaten zur Anzeige transformieren
…….
zweidimensionale Gerätekoordinaten

113
Q

Wie lässt sich der Cohen-Sutherland-Algorithmus bei der Zentralprojektion implementieren?

A

Hinsichtlich der Implementierung gibt es zwei Möglichkeiten:
1. Transformation des kanonischen Bildraums der Zentralprojektion in den kanonischen Bildraum der Parallelprojektion und Kappung wie dort,
…….
oder
…….
2. Modifizierung des Cohen-Sutherland-Algorithmus, d.h. ander Festlegung der Bereichscodes und andere Berechnung der Schnittpunkte
—————————-
Nach Normalisierung, Kappung und Projektion wird in die 2D-Gerätekoordinaten transformiert (Window-Viewport-Transformation)

114
Q

Wie verhalten sich die verschiedenen Bits wenn der 2D-Cohen-Algorithmus in den 3D-Raum (bzw. Parallelprojektion) erweitert wird?

A

Bit 1: Punkt liegt über dem Bildraum = y > 1
Bit 2: Punkt liegt unter dem Bildraum = y < -1
Bit 3: Punkt liegt rechts vom Bildraum = x > 1
Bit 4: Punkt liegt links vom Bildraum = x < -1
Bit 5: Punkt liegt hinter dem Bildraum = z < -1
Bit 6: Punkt liegt vor dem Bildraum = z > 0

115
Q

Wie verhält sch der Cohen-Sutherland-Algorithmus in der 3D-Darstellung?

A

Anlgorithmus verläuft analog zum zweidimensionalen Fall.

116
Q

Was ist die allgemeine Béziergleichung?

A

P(t) = (SUMME; oben N, unten i=0) B(i,n)(t) * P(i)

0 <= t <= 1

117
Q

Wie ist die allgemeine B-Spline-Gleichung?

A

P(t) = (SUMME; oben n, unten i=0) N(i,k)(t) * P(i)

118
Q

Wie ist die allgemeine NURBS-Gleichung?

A

q(u) = (SUMME; oben m, unten i=0) d(i) * R(n über i)
== genauer ==
(SUMME: oben m, unten i=0) (d(i) * N(n über i) * w(i))/((SUMME; oben m, unten j=0) N(n über j)(u) * w(j))

119
Q

Wie lautet die abgeleitete Gleichung für die Rotation im zweidimensionalen Raum?

A
x´ = r * cos(Q + (PHI))
y´ = r * sin(Q + (PHI))
120
Q

Was besagen die Additionstheoreme?

A
y´ = x*cos(Q) - y*sin(Q)
y´ = x*sin(Q) - y*cos(Q)
121
Q

Was gilt allgemein bei der Transformation als Wechsel des Koordinatensystems?

A

p(i) = M( i

122
Q

Wie ist die allgemeine Formel für die Béziergleichung?

A

P(s,t) = (SUMME; oben m, unten i=0) (SUMME; oben n, unten j = 0) N(i,k)(8) * N(j,k)(t) * P(i,j)

123
Q

Wie funktioniert die Berechnung der Schnittpunkte beim erweiterten Cohen-Sutherland-Algorithmus?

A

Die Strecke der Polygonkente von P(o) nach P(1) sieht in parametrisierter Darstellung so aus:
-> P(t) = P(o) + t(P(1) - P(o)), 0y= t <= 1
für t= 0: P(o), für t= 1: P(1)
—————————
Für eine Strecke (Polygonkante) von P(o)(x(o), y(o), z(o)) nach P(1)(x(1), y(1), z(1)) gilt:
…..
x = x(o) + t(x(1) - x(o)), 0 <= t <= 1
((1))
y = y(o) + t(y(1) - y(o)), 0 <= t <= 1
((2))
z = z(o) + t(z(1) - z(o)), 0 <= t <= 1
((3))
……
Für t (ELEMENT VON) [0,1] liefern diese drei Gleichungen die Koordinaten aler Punkte der Strecke von P(o) nach P(1)
——————————-
Ist z.B. das Bit 1 des Bereichscodes des Endpunkts einer Strecke gleich 1 (Punkt liegt über dem Bildraum) -> Berechnung des Schnittpunkts der Strecke mit der Ebene y = 1:
……
1 = y(o) + t(y(1) - y(o)), aus ((2))
t = (1 - y(o))/(y(1) - y(o)
(paramter t des Schnittpunktes)
…..
Paramter t des schnittpunktes einsetzen in ((1)) und ((3)):
x = x(o) + ((1-y(o)) * (x(1) - x(o))) / (y(1) - y(o))
x = z(o) + ((1-y(o)) * (z(1) - z(o)) / (y(1) - y(o))
———————–
y = 1, x und z sind die Koordinaten des Schnittpunkts der Strecke (Polygonkante) mit der Ebene y = 1

124
Q

Was ist das Grundprinzip bei der Schattendarstellung?

A

Die Darstellung eines Schattens zu einem gegebenen Objekt als Projektion auf seine Umgebung (z.B. Bodenfläche)

125
Q

Was sind die Projektionsebene, die Projektionsart und der Stil der Projektion, wenn ein Sonnenlicht einen Schatten auf einer Bodenfläche erzeugt?

A
  • > Projektionsebene: (x,z) - Ebene
  • > Parallelprojektion: Sonnenlicht
  • > Schiefwinklige Projektion: Die Projektionsrichtung ist nicht senkrecht zur Projektionsebene.
126
Q

Was ist für eine realitätsnahe Darstellung von Objekten nötig?

A

Bisher sind wir nur in der Lage, ein Drahtmodell (Gittermodell) der im Rechner befindlichen 3D-Objekte am Bildschirm anzuzeigen. Für eine realitätsnahe bzw. eindeutige Darstellung von Objekten ist die Berücksichtigung der Tiefeninformation erforderlich. Eine Möglichkeit hierzu ist die Entfernung der verdeckten Kanten vor der Anzeige der Objekte

127
Q

Was für zwei Arten von Algorithmen zur Ermittlung verdeckter Kanten gibt es?

A
  • > Objektraum-Algorithmen (arbeiten im Weltkoordinatensystem)
  • > Bildraum-Algortithmen (arbeiten im Gerätekoordinatensystem)
128
Q

Was beschreibt die Ausnutzung der Kohärenz?

A

Berechnungen für einen Teil der Szene werden für nahe gelegene Teile wieder verwendet.

129
Q

Was passiert mit verdeckten Kanten in der Projektion?

A

Das Entfernen verdeckter Kanten im 3D-raum muss hinsichtlich des logischen Ablaufs vor der Projektion auf die 2D-Ebene stattfinden, da nach der Projektion keine Tiefeninformationen mehr zur Verfügung stehen. Bei der Implementierung ist das Entfernen verdeckter Kanten häufig Bestandteil der Rasterung.

130
Q

Wie verläuft die Implementierung beim entfernen verdeckter Kanten?

A
Ausgabeprimitive in dreidimensionalen weltkoordinaten
.....
-> Normalisierungstransformation anwenden
->
am kanonischen Bildraum kappen
-> 
Entfernen verdeckter Kanten
-> 
Auf die Projektionsebene projezieren
-> 
In den Viewport in 2D-Gerätekoordinaten zur Anzeige Transformieren
.....
zweidimensionale Gerätekoordinaten
131
Q

Wie funktioniert der Z-Puffer-Algorithmus?

A
  • > Bei der Terminierung des Algorithmus enthält die Datenstruktur z-Puffer für jedes Pixel den z-Wert (die Tiefe) des in diesem Punkt dem Betrachter am nächsten liegenden Objekts.
  • > Der z-Puffer wird mit 0 initialisiert (z-Wert der hinteren Kappungsebene)
  • > Der Bildwiederholspeicher wird mit der Hintergrundfarbe initialisiert
  • > Die Polygone werden in beliebiger Reihenfolge untersucht
  • > Nach Abarbeitung aller Polygone enthält der Bildwiederholspeicher die Abbildung der sichtbaren Flächen.
132
Q

Wie sieht der z-Puffer bei einem 10 * 10 Pixel großen Bild aus?

A
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 
\+
5 5 5 5 5 5 5 
5 5 5 5 5 5 
5 5 5 5 5 
5 5 5 5  
5 5 5  
5 5  
5 
=
5 5 5 5 5 5 5 0 
5 5 5 5 5 5 0 0 
5 5 5 5 5 0 0 0 
5 5 5 5 0 0 0 0 
5 5 5 0 0 0 0 0
5 5 0 0 0 0 0 0
5 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0
--------------------------
oder auch anderes Bsp:
--------------------------
5 5 5 5 5 5 5 0 
5 5 5 5 5 5 0 0 
5 5 5 5 5 0 0 0 
5 5 5 5 0 0 0 0 
5 5 5 0 0 0 0 0
5 5 0 0 0 0 0 0
5 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0
\+
3
4 3 
5 4 3 
6 5 4 3 
7 6 5 4 3
8 7 6 5 4 3
=
5 5 5 5 5 5 5 0 
5 5 5 5 5 5 0 0 
5 5 5 5 5 0 0 0
5 5 5 5 0 0 0 0 
6 5 5 3 0 0 0 0 
7 6 5 4 3 0 0 0
8 7 6 5 4 3 0 0
0 0 0 0 0 0 0 0
-----------------------
Immer die größere Zahl wird geschrieben.
133
Q

Wie wird die Kohärenzeigenschaft berechnet? Was bringt sie?

A

Flächengleichung des Polygons:
Ax + By + Cz + D = 0

Tiefe des Polygons am Punkt (x(i), y(i)):
z(i,j) = - (A
x(i) + B y(j) + D)/C
——————————
Für benachbarte Pixel (x(i), y(i)) und (x(i+1), y(j)) auf der Bildzeile gilt: x(i+1) = x(i) + 1

z(i+1, j) = - (A
(x(i) + 1) + By(i) + D) / C

z(i+1, j)-z(i,j) = - (A/C)

z(i+1, j) = z(i, j) - (A/C)
——————————-
Analog gilt für benachbarte Pixel (x(i), y(i)) und (x(i), y(j-1)) auf der Bildspalte: y(j-1) = y(j) - 1

z(i, j-1) = - (A
x(i) + B* (y(i) - 1) + D) / C
bzw.
z(i,j-1) = z(i,j) + B/C
———————————
d.h. die Berechnung der Tiefenwerte benachbarter Pixel eines Polygons geschieht durch die Addition konstanter Terme.

134
Q

Was sind die Vorteile des z-Puffer Algorithmus?

A
  • > Einfache Implementierung (-> Hardware)
  • > Die Ausführungszeit (bezogen auf die Szene) ist unabhängig von der Anzahl der Polygone, da die Anzahl der Pixel je Polygon (Polygongröße) abnimmt wenn die Anzahl der Polygone im Bildraum steigt.
135
Q

Was sind die Nachteile des z-Puffer Algorithmus?

A

-> Speicherplatzbedarf: Bei einer Auflösung von 1024 x 1024 Pixel und 32 Bit Tiefe des z-Puffers: 4MB Speicher auf der Grafikkarte.

136
Q

Wie funktioniert der Scanline-Algorithmus?

A

-> Vorsortierung aller Polygone nach den größsten y-Werten
-> für jede Rasterzeile wird eine Liste der aktiven Polygone sowie eine Liste der nach x-werten aufsteigen sortierten polygonkanten erstellt
-> die Datenstruktur einer Polygonkante verweist auf das zugehörige Polygon
-> Die Datenstruktur eines Polygons enthält eine Betrachtungsflagge, die angibt, ob die momentane Rasterzeilenpositiona innerhalb oder außerhalb der Polygonfläche liegt
-> Zu Beginn einer Rasterzeile werden alle Flaggen auf außerhalb gesetzt
-> Bei jedem Schnitt einer polygonkante mit der Rasterzeile wird die entsprechende Flagge der Polygonfläche invertiert (außerhalb -> innerhalb -> außerhalb)
-> Für einen Rasterzeilenabschnitt zwischen zwei aufeinanderfolgenden Polygonkantenschnitten (span) gibt es nur zwei Möglichkeiten:
——————————–
1. Es ist nur eine Betrachtungsflagge gesetzt: Die Farbinformation der Pixel wird von der zugehörigen polygonfläche übernommen
2. Es sind mehrere Betrachtungsflaggen gesetzt:
Für diesen Span wird aus den Flächengleichungen der Polygone die sichtbare Fläche berechnet und deren farbinformation übernommen
———————————
Kohärenzeigenschaft
Die Berechnung ist nicht nötig, wenn dich die Reihenfolge in der Liste der nach x-Werten aufsteigend sortieren Polygonkanten gegenüber der vorhergehenden Rasterzeile nicht geändert hat.
——————————-
problem:
Bei Durchdringungen kann sich trotz gleichbleibender Reihenfolge der Polygonkanten die Sichtbarkeit ändern.
———————————-
Durchdringungstest für zwei Polygone P1 und P2:
-> Falls gilt: sing(z1L - z2L) != sign(z1R.z2R) mit z = Tiefenwerte der Polygone an den Randpunkten schneiden sich die Polygone innerhalb von LR
-> In diesem Fall wird der Schnittpunkt I der Polygone berechnet und der span LR in LO und IR geteilt.
————————–
SIEHE BILDER SKRIPT KAPITEL 7

137
Q

Was sind die Vorteile des Scan-Line Algorithmus?

A

-> Geringer Speicherplatzbedarf

138
Q

Was sind die Nachteile des Scan-Line Algorithmus?

A

-> Die Ausführungszeit steigt mit der Anzahl der Polygone

139
Q

Was gilt für alle Algorithmen?

A
  • > Es gibt keinen optimalen Algorithmus
  • > Die Ausführungszeit ist stark abhängig von der Anzahl und der Lage der Polygone in der Szene, mit Ausnahme des z-Puffer Algorithmus
140
Q

Wie verhält sich die Relative Leistung der Algorithmen mit steigender Polygonzahl?

A

Algorithmus -> Anahl der Polygone (100, 2500, 60000)

  • > Depth-Sort -> 1* -> 10 -> 507
  • > z-Puffer -> 54 -> 54 -> 54
  • > Scan-Line -> 5 -> 21 -> 100
  • > Bereichsunterteilung nach Warncock -> 11 -> 64 -> 307
  • Einträge sind diesbezüglich normalisiert
141
Q

Was ist für die realistische Darstellung von Objekten notwendig?

A

Für die Erzeugung realitätsnaher Bilder muss eine Schattierung der dargestellten Objekte durchgeführt werden. Dabei werden diejenigen Partien eines Objektes dunkler getönt, die wenig oder gar kein Licht von den für die Szene definierten Lichtquellen erhalten. Es muss also jedes Element unseres Bildes daraufhin untersucht werden, wie viel Licht es in Richtung des Betrachters reflektiert.

142
Q

Was ist die Definition eines Beleuchtungsmodells?

A

Ein Beleuchtungsmodell ist eine Vorschrift zur Berechnung der Lichtstärke I (Intensität [Candela]) an einer bestimmten Stelle im Objektraum (Weltkoordinatensystem).

143
Q

Wie wird ein Objekt sichtbar?

A
  • > Die 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 den Betrachter unsichtbar (Zielsetzung der Militättechniker: Amerikanischer Tarnkappenbomber)
  • > Erst durch Reflexion und durch die mit der Transmission verbundene Brechung des Lichts wird ein Objekt sichtbar.
144
Q

Was ist ambientes Licht?

A
  • > Für die ambiente Beleuchtung wird angenommen, dass k(a) unabhängig von der Blickrichtung ist und I(H) aus allen Raumwinkeln gleichmäßig auftrifft.
  • > Im ambienten Licht werden alle indirekten Beleuchtungen der Szene zuzsammengefasst
  • > Diese Grundhelligkeit wird meistens mit 10-20% der maximalen Helligkeit angenommen
145
Q

Wie berechnet sich ambientes Licht?

A

mit:
-> I(amb): Intensität des von einem Punkt ambient reflektierten Lichts
-> I(H): Intensität der Hintergrundbeleuchtung der Szene
-> k(a): ambienter Reflexionskoeffizient (Materialkonstante), 0<= k(a) <= 1

146
Q

Was geschieht bei einer diffusen Reflexion?

A

Bei der diffusen Reflexion wird das einfallende Licht gleichmäßig in alle Richtungen reflektiert.

147
Q

Was besagt das Kosinusgestz von Lambert bei der diffusen Reflexion?

A

mit:
——————————
-> I(dif f): Intensität des von einem Punkt diffus reflektierten Lichts
-> I(Lq): Intensität der Lichtquelle
-> Q: Einfallswinkel (Winkel zwischen den Vektoren N und L)
-> k(d): diffuser Reflexionswinkel (Materialkonstante), 0 <= k(d) <= 1

148
Q

Was bildet der Kosinus von Q in Bezug auf die Vektoren N und L bei der diffusen Reflexion?

A

N * L = |N| * |L| * cos(Q)
I(diff f) = I(Lq) * (N*L) * k(d)

149
Q

Was muss gemacht werden, dass alle nicht direkt beleuchteten Objekte schwarz dargestellt werden?

A

I = I(diff f) + I(amb)
I = I(Lq) * (N*L) * k(d) + I(H) * k(a)

150
Q

Wie verhält sich die direkte Beleuchtung zum Abstand des Objekts?

A
Die direkte Beleuchtung (hier I(dif f) nimmt mit dem Quadrat der Entfernung d eines Objekts zur Lichtquelle ab:
-----------------------
I = f(d) * I(Lq) * (N*L) * k(d) + I(H) * k(a)
--------------------
mit
.......
f(d): Abstandsfunktion z.B: 
f(d) = 1/d^2
oder
f(d) = 1/(d+ d(o))
151
Q

Wie lautet die Funktion zur Berücksichtigung der Absorbtion der Primärfarben bei der diffusen Reflektion?

A

I(p) = f(d) * I(p über Lq) * (N*L) * k(p über d) + I(p über h) + k(p über a),
p (ELEMENT VON) {R, G, B}

152
Q

Was geschieht bei der spiegelnden Reflexion?

A

Bei der spiegelnden Reflexion bilden einfallender Strahl und reflektierter Strahl mit der Oberflächennormalen denselben Winkel.
Die Spiegelung wird vom Betrachter nur dann wahrgenommen, wenn die Vektoren R und A zusammenfallen

153
Q

Wie sieht das Modell von Phong aus?

A

mit
———————–
-> I(spieg): Intensität des von einem Punkt spiegelnden reflektierten Lichts
-> I(Lq): Intensität der Lichtquelle
-> k(s): Spiegelnder reflexionskoeffizient (Materialkonstante), 0 <= k(s) <= 1
-> c: Streuung des reflektierten Lichts (Materialkonstante)
-> 2 alpha: Winkel zwischen den Vektoren A und R

154
Q

Was beeinflusst das Aussehen der Glanzlichter?

A

Die Materialkonstanten k(s) und c beeinflussen das Aussehen der Glanzlichter (highlights)

  • > k(s) steuert die Helligkeit des Glanzlichts
  • > c steuert die Größe des Glanzlichts
155
Q

Wie berechnen sich die Glanzlichter?

A

I(spieg) = I(Lq) * k(s) * (A*R)^c

156
Q

Was für Arten von Reflexionen werden in der Praxis tatsächlich verwendet?

A

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.

157
Q

Wie berechnet sich die gemischte Reflexion?

A

ausformuliert
—————–
I = k(a) * I(H) + f(d) * I(Lq)(NL) + k(s)(AR)^c)

158
Q

Was passiert wenn man beim Phong-Beleuchtungsmodell wenn man ka (z.B. 0,1) und kd (z.B. 0,45) fixiert und ks und c größer bzw. kleiner macht?

A

Je größer man c setzt, z.B. von 3,0 auf 200, desto größer wird der Durchmesser des “Kreises”, der Reflektiert.
Ja größer man ks setzt, z.B. von 0,1 bis 0,5, desto stärker wird die Spiegelung an sich vo der Intensität

159
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. Die Richtungsänderung des Lichts beim Übergang zwischen Medien unterschiedlicher optischer Dichte wird als Brechung bezeichnet. Man unterscheidet zwsichen gerichteter Transmission (z.B. Klarglas) und diffuser Transmission (z.B. Milchglas).

160
Q

Was besagt das Brechungsgesetz von Snellius bei gerichtet Transmittiertem Licht?

A
n(1) * sin(Q) = n(2) * sin(Q)´
-------------------------
mit
----------------------------
n(1), n(2): Brechungsindizes
Q: Einfallswinkel des Lichts
Q´: Ausfallswinkel des Lichts
161
Q

Zu was führt die Berücksichtigung von Transparenz bei gerichtet Transmittierten Licht?

A

Die Berücksichtigung von Transparenz vedeutet, dass die Intensität des unmittelbar hinter dem betrachteten Objekt O(1) liegenden O(2) in die Brechung einbezogen wird.

162
Q

Wie sieht die berechnung aus, bei der man bei gerichtet transmittierten Licht das Objekt hinter dem ersten Objekt in die Berechnung mit einbezieht?

A

mit
——————————-
-> I(ges): gesamte Intensität des von einem Objekt abgestrahlten Lichts
-> I(r): gesamte Intensität des von einem Objekt reflektierten Lichts
-> k(t): Transmissionsgrad von Objekt O(1), 0 <= k(t) <= 1
-> 1 - k(t): reflexionsgrad von Objekt O(1), 0 <= (1.k(t)) <= 1

163
Q

Wie verhält sich k(t) für transparente / undurchsichtige Objekte?

A

Für optisch undurchsichtige Objekte ist k(t) = 0, für vollkommen transparente Objekte ist k(t) = 1

164
Q

Wann werden Schatten sichtbar?

A

Fällt der Betrachtungspunkt (die Kameraposition) nicht mit der Position der (punktförmigen) Lichtquelle zusammen, werden in der Szene Schatten sichtbar. Schattenalgorithmen stellen also fest, welche Flächen von der Lichtquelle aus sichtbar sind.

165
Q

Wie sieht das Beleuchtungsmodell aus, wenn Schatten hinzugefügt werden?

A

mit
——————
S(i) = 0: falls das Licht i an diesem Punkt blockiert wird
S(i) = 1: falls das Licht i an diesem Punkt nicht blockiert wird
i = [1,m]: Anzahl der Lichtquellen
———————
Dieses Modell ist korrekt, es hat aber wegen der vielen im 3D-Raum zu verfolgender Strahlen einen großen Rechenaufwand.
…..
Punkte, die im Schatten aller Lichtquellen liegen werden immer noch durch das ambiente Licht beleuchtet.

166
Q

Wie verläuft die Berechnung des Schattens?pirischen Midellen

A
  1. Berechnung des Schatten-Tiefenpuffers aus der Sicht der Lichtquelle
  2. Berechnung des Tiefenpuffers aus der Sicht des Betrachters. Der Tiefenpuffer enthält für jedes Pixel den z-Wert (die Tiefe) des in diesem Punkt dem Betrachter am nächsten liefenden Objekts
  3. Jeder Bildpunkt P(x,y,z) aus 2. wird in den Koordinatenraum vom 1. Transofmiert => 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
167
Q

Was ist ein Schattierungsalgorithmus?

A

Ein Schattierungsalgorithmus ist eine Vorschrift, an welcher Stelle der Szene welches Beleuchtungsmodell mit welchen Parametern anzuwenden ist.

168
Q

Was für Phasen von Schattierungsalgorithmen, welche Algorithmen und Modelle gibt es?

A

inkrementelle Algorithmen / empirische Modelle -> konstante Einfärbung, konstante Beleuchtung, Gouraud-Algorithmus, Phong-Algorithmus -> Warnock, Romney, Bouknight, Phing, Blinn
…….
Raytraicing-Algorithmen / transitionsmodelle -> Raytraicing -> Cook & Trrance, Torrance & Sparrow, Trowbridge & Reitz, Whitted
…….
Radiosity Methoden / analytische Modelle -> Radiosity -> Radiosity

169
Q

Erkäre die verschiedenen Arten der Schatten-Algorithmen.

A
  • > Inkrementelle Algorithmen: Für jeden Punkt werden die unterschiedlichen Lichtanteile aufsummiert
  • > Empirische Modelle: Nur auf Beobachtung beruhend
  • > Raytracing Algorithmen: Strahlverfolgung
  • > Transitionsmodelle: Simulation physikalischer Vorgänge
  • > Radiosity Methoden: Strahlberechnung
  • > Analytische Modelle: Berechnung physikalischer Vorgänge
170
Q

Wie funktionieren Inkrementelle Algorithmen mit einer konstanten Schattierung?

A

-> nur ambiente Beleuchtung und diffuse Reflexion
-> keine Entfernungsabhängige Lichtabnahme
…..
I = k(a) * I(H) + k(d) * I(Lq) * (NL)
…..
-> Die Lichtquelle liegt im Unendlichen, deshalb ist (N
L) für jede Polygonfläche konstant.

171
Q

Was ist das Problem bei inkrementellen Algorithmen mit einer konstanten Schattierung und was ist die Lösung dafür?

A
  • > Problem: Sprunghafte Intensitätsunterschiede an den Polygongrenzen (Mach-Band-Effekt)
  • > Lösung: Variable Schattierung innerhalb eines Polygons
172
Q

Was ist die Gourand-Schattierung und wie funktioniert sie?

A

Algorithmus:
-> zu 1: Berechnung der Normalenvektore N(A), N(B) und N(C) an den Eckpunkten des Polygons als Mittelwert der Normalenvektoren der angrenzenden Polygone (smooth Shading).
…..
N(P) = (N(1) + N(2) + N(3))/3
…..
-> zu 2: Berechnung von I(A), I(B) und I(C) mit bel. Beleichtungsmodellen
-> zu 3.1: Berechnung von I(1) und I(2) als lineare Interpolation von I(A), I(B) und I(C) in y-Richtung.
…..
I(1) = I(A) (y-y(c))/(y(A)-y(B)) + I(C) (y(A)-y)/(y(A) - y(C))
…..
I(2) = I(A) (y-y(B))/(y(A)-y(B)) + I(B) (y(A)-y)/(y(A) - y(B))
…..
I(i) = I(1) (x(2) - x(i))/(x(2) - x(1)) + I(2) (x(i) - x(1))/(x(2)-x(1))
…..
zu 3.2: Berechnung vin I(i) als lineare Interpolation von I(1) und I(2) in x-Richtung.

173
Q

Was sind die Probleme der Gourand-Schattierung und was ist die Lösung?

A
  • > Problem: Der Mach-Band-effekt wird nur zum teil beseitigt, spiegelnde Reflexionen in der Mitte von Polygonen gehen verloren.
  • > Lösung: Interpolation der Normalenvektoren
174
Q

Was ist die Phong-schattierung und wie funktioniert diese?

(PHASE 1)

A

-> Schattierung durch Interpolation der Normalenvektoren
…..
-> Berechnung der Normalenvektoren N(A), N(B) und N(C) wie bei der Gourand-Schattierung.
-> Berechnung von N(1) und N(2) als vektorielle Interpolation von N(A), N(B) und N(C) in y-Richtung
-> Berechnung von N(i) als vektorielle Interpolation von N(1) und N(2) in x-Richtung.
-> Berechnung von I(i) unter Verwendung von N(i) mit bel. Beleichtungsmodell. Berechnung von AR als Bestandteil von I(spieg) in der Beleuchtungsgleichung.
————————
-> Die explizite Berechnung des Vektors R kann folgendermaßen umgegangen werden:
-> Berechnung des winkelhalbierenden Vektors H zwischen A und L:
H = (A+L)/|A+L|, mit H,A,L normierte Vektoren
——————————-
-> Bilden A und R den Winkeln 2alpha, dann ist der Winkel zwischen N und H gleich alpha:
…..
cos(alpha) = N
H
-> Es gilt: cos(2alpha) = cos^2(alpha) - sin^2(alpha)
(Additionstheorem)

175
Q

Was bringt die Phong-Schattierung im Gegensatz zu der Gourand-Schattierung?

A

Die Phong-Schattierung liefert ansprechende Abbildungen bei wesentlich erhöhtem Rechenaufwand (im Vergleich zur Gourand-Schattierung). Der Mach-Band-Effekt wird reduziert, aber nicht vollständig beseitigt.

176
Q

Wsa ist die Idee beim Raytracing?

(PHASE 2)

A

Lichtstrahlen, die eine Lichtquelle verlassen werden verfolgt, bis sie über Reflexion und Transmission an Objekten das Auge des Betrachters treffen.

177
Q

Was ist das Problem und die Lösung beim Raytracing?

A

-> Probleme: Viele unnötige Verechnungen, da nur wenige Lichtstrahlen das Auge des Betrachters erreichen.
-> Lösung: Umkehrung des Verfahrens: Ausgehend vom Auge des Betrachters wird durch jedes Pixel ein Sehstrahl zurückverfolgt bis er ein Objekt oder den Hintergrund trifft. In Abhängigkeit des getroffenen Objekts werden ein reflektionsstrahl und ein Transmissionsstrahl berechnet und rekursiv zurücl verfolgt, bis diese Strahlen den Hintergrund treffen oder eine vorgegebene Tracetiefe erreicht ist.
Die resultierende Farbe eines Pixels ergibt sich als gewichtete Summe der in den einzelnen rekursionsschritten berechneten Farbintensitäten.

178
Q

Wie wird die Abstandsfunktion beim Raytracing angewandt?

A

I = k(a)I(H) + k(d) (SUMME; unten Lq) I(Lq)(N*L(Lq)) + k(s)(I(s) + (SUMME; unten Lq) (A * R(Lq))^c) + k(t)I(t)
—————————-
Mit:
-> I(S): Intensität des aus Reflexionsrichtung einfallenden Lichts
-> I(t): Intensität des aus Transmissionsrichtung einfallenden Lichts
-> k(t): Transmissionskoeffizient
-> k(s): spiegelnder Reflexionskoeffizient

179
Q

Was passiert in der ersten Stufe des Raytracing-Algorithmus?

A

In der ersten Phase des Algorithmus wird der den Rekursionsstufen entsprechnede Strahlenbaum aufgebaut, in der zweiten Phase wird der Baum durchlaufen und die Intensitäten werden aufsummiert.

180
Q

Was sind die Vorteile des Raytracing-Algorithmus?

A
  • > Die Ermittlung sichtbarer Flächen und die Berechnung von Schatten werden implizit erledigt
  • > Beeindruckende Effekte wie Transparenz mit Brechung
181
Q

Was sind die Nachteile des Raytracing-Algorithmus?

A
  • > Großer Rechenaufwand: Die Laufzeit wächst linear mit der Pixelanzahl und exponentiell (a^x !) mit der Objektzahl x (jeder verfolgte Strahl muss auf einen Schnittpunkt mit allen Objekten getestet werden).
  • > Mindestens 75% der Laufzeit werden für die Schnittberechnung verwendet (umschreibende Objekte)
  • > Anfällig bei begrenzter Rechengenauigkeit (Rundungsfehler), falsche Schnittpunkte S´ können sich selbst verdeckende Objekte liefern.
  • > Anfällig für Aliasing-Effekte: Da je Pixel nur ein Sehstrahl verfolgt werden Details, die kleiner als der Abstrand zwischen benachbarten Sehstrahlen sind unterabgetastet (Antialiasing durch Überabtastung, d.h. mehrere sehstrahlen Pro Pixel)
182
Q

Wann kommt es zu Aliasfrequenzen?

A

Aliasfrequenzen werden wahrgenommen, wenn die Frequenz des darzustellenden Musters größer als die doppelte Abtastrate ist. Dies ist deutlich im entfernteren Teil eines z.B. Schachbrettmusters zu erkennen.

183
Q

Was ist Radiosity?

(PHASE 3)

A

Strahlenberechnung:
-> 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.

184
Q

Was ist die Formel für Radiosity?

A

mit
————————-
-> B(i): gesamte von der Fläche F(i) abgegebene Energie
-> E(i): Eigenstrahlung der Fläche E(i) (Bekannt)
-> p(i): diffuser Reflexionskoeffizient von F(i) (Bekannt)
-> B(j): gesamte von der Fläche F(j) abgegebene Energie
-> F(i,j): Formfaktor
-> n: Anzahl der Flächen (bekannt)
—————————-
umordnen der Audrücke liefert:
—————————-
B(i) - p(i) (SUMME; oben n, unten j=1) B(j)F(i,j) = E(i)
————————-
und als lineares Gleichungssystem (LGS)
————————–
[1 - p(1)F(11) -p(1)F(12) -p(1)F(1n) ] * [B(1)] = [E(1)]
[-p(2)F(21) 1-p(2)F(22) -p(2)F(2n ] * [B(2)] = [E(2)]
[ ]*[….] = […]
[-p(n)F(n1) -p(n)F(n2) 1-p(n)F(nn)] * [B(n)] = [E(n)]

185
Q

Was muss vor der Berechnung der Flächenstrahlung bei der Radiosity passieren?

A

Vor der Berechnung der Flächsenstrahlung B(i) durch Lösen des linearen Gleichungssystems (Gauß-Seidel-Verfahren) müssen die Formfaktoren F(ij) berechnet werden.

186
Q

Was ist sind die Formfaktoren F(ij)

A

Die starhlungstechnische Auswirkung der Fläche F(j) auf die Fläche F(i)

187
Q

Wie berechnen sich die Formfaktoren F(ij)?

A

Formfaktor zwischen dF(j) und dF(i):
…..
dF(didj) = (cos(Q(i)) * cos(Q(j)))/(PI * r^2)b(ij)dF(j)
mit:
b(ij) = Blockierungsfunktion (1 und 0, je nachdem dF(j) von dF(i) aus sichtbar ist oder nicht)
—————————–
F(dij) ergibt sich durch die Integration (Aufsummierung) über der Fläche F(j):
…..
F(dij) = (INTEGRAL; unten Fj) (cos(Q(i)) * cos(Q(j))/(PI * r^2))b(ji)dF(j)
——————————-
F(ij) ist der Mittelwert von der Integration über die Fläche F(j):
…..
F(ij) = 1/F(i) (INTEGRAL; unten F(i)) (INTEGRAL; unten F(j) (cos(Q(i)) * cos(Q(j))/PI*r^2)b(ij)dF(j)dF(i)

188
Q

Was kann mit der Berechnung der Formfaktoren bei der Radiosity gemacht werden?

A

Es kann gezeigt werden, dass der Formfaktor F(ij) gleich dem Quotient der auf die Grundfläche der Halbkugel projizierten Fläche F(j) und der Grundfläche der Halbkugel ist. Für die Berechnung wird die Halbkugel durch einen Halbwürfek erssetzt.

189
Q

Wie funktioniert der Radiosity-Algorithmus?

A
  • > Berechnung der Intensitäten in den Eckpunkten der Flächenelemente durch Mittelwertberechnung der Flächenstrahlungen (B(i))
  • > Schattierung durch Intensitätsinterpolation (Gourand-Schattierung)
190
Q

Was sind die Vorteile des Radiosity-Verfahrens?

A

Realistische Darstellung einer Szene bezüglich deren diffuser Reflexion.

191
Q

Was sind die Nachteile des Radiosity-Verfahrens?

A
  • > Großer Rechenaufwand: 10^4 Flächenelemente F(i) liefern 10^8 Formfaktoren F(ij), das LGS zur Berechnung der n=10^4 Flächenstrahlungen B(i) hat eine Berechnungskomplexität der Größenordnung O(n^3) (polynominelles Wachstum)
  • > Bei Bewegung von Objekten in der Szene müssen die Formfaktoren F(ij) und das LGS neu berechnet werden
  • > Ändern sich die Farb- oder Beleuchtungsparameter (z.B. die Intenisität einer Lichtqiuelle) muss das LGS neu berechnet werden.
  • > Änder sich nur der Blickpunkt (Viewpoint = Kamerapostion) muss nur der Gourand-Algorithmus neu ausgeführt werden (in Realzeit möglich, siehe “Virutelles Studio”)
  • > Keine spiegelnde Reflexion und keine Transparenz, deshalb Kombination von Radiosity und Raytracin (Selektives = objektbezogenes Raytracing)
192
Q

Was ist ein zweidimesionales Musterfeld und was bringt es?

A

Bei feinen Details ist eine explizite Modellierung mit Plygonen zu aufwändig. Einfacher ist die Verwendung eines zweidimensionalen Musterfeldes (Texture Map), das auf die Oberfläche eines Objekts abgebildet wird.

193
Q

Wie wird in der Theorie beim Texture-Mapping vorgegangen?

A

-> 1. Abbildung der vier Ecken eines Pixels auf die (gekrümmte) Objektoberfläche:
Abbildung Bildraum -> Obkektraum
-> 2. Abbildung der Objektoberfäche auf das Musterfeld; Berechnung des Farbwertes des Pixels ggfs. als gewichteter Mittelwert der Fläche im Musterfeld:
Abbildung Objektraum -> Texturraum

194
Q

Was sidn die Probleme beim Texture Mapping?

A

Verzerrungen bei Texturprojektionen auf gekrümmte Flächen.

195
Q

Wie lässt sich die Verzerrung beim Texture-Mapping vermeiden?

A

Verwendung von Hilfsflächen (hilfskörpern), die die Projektionsrichtung festlegen.

  • > Texturprojektion über eine zylinderförmige Hilfsfläche auf die Objektoberfläche entlang der Hilfsflächennormalen.
  • > Die zylinderförmige Projektion funktioniert am besten für den Zylinder und ergibt bei den Anderen Modellen mehr oder weniger starke Verzerrungen.
  • > Texturprojektion über eine kugelförmige Hilfsfläche auf die Objektoberfläche entlang von den Strahlen aus dem Objektmittelpunkt auf die Hilfsfläche.
  • > Die kugelförmige Projektion funktioniert am besten für die Kugel und ergibt bei den anderen Modellen mehr oder weniger starke Verzerrungen.
  • > Texturprojektion über eine kubusförmige Hilfsfläche, auf die Objektfläche entlang von Strahlen aus dem Objekmittelpunkt auf die Hilfsfläche.
  • > Die kubusförmige Projektion funktioniert am besten für den Würfel und ergibt bei den anderen Modellen eine mehr oder weniger starke Verzerrungen.
196
Q

Für was ist Texture-Mapping anfällig und wie lässt es sich vermeiden?

A

-> Anfällig für Aliasing-Effekte, wenn ein Pixel im Bildraum mehreren Pixeln im Texturraum entspricht (Unterabtastung)
…..
Lösung:
-> Skalierugn der Textur

197
Q

Was ist Solid Texturing?

A
  • > Abbildung von 3D-Texturräumen auf 3D-Objekte
  • > Dadurch soll der Eindruck erzeugt werden, dass das dargestellte Objekt aus einem bestimmten Material (z.B. Marmor, Holz) herausgeschnitten wurde.
  • > Die Repräsentation des Texturraums kann explizit als 3D-Muster oder prozedual durch eine Funktion von drei Koordinaten vorgenommen werden.
198
Q

Was ist Bump-Mapping?

A
  • > Um den Eindruck von unebenen Oberflächenstrukturen zu erwecken, wenden im Musterfeld Zusatzinformaitonen über die Veränderung der Flächennormalen gespeichert.
  • > Eine Störfunktion S(u,v) verändert die Richtung des Normalenvektors bevor er im Beleuchtungsmodell benutzt wird.
199
Q

Was ist Displacement-Mapping?

A

Hier wenden nicht die Flächennormalen verschoben, sondern die Flächen selbst.

200
Q

Was ist Reflection-Mapping?

A

Spiegelungen auf Objektoberflächen können erzeugt werden, indem die Szene auf die Oberfläche spiegelnd projiziert wird und dann als 2D texture map verwendet wird.

201
Q

Wie funktioniert die Rendering-Pipeline bei z-Puffer und Gourand Schattierung?

A
  • > Datenbanken durchlaufen
  • > Modellierungstransformation: Abbildung der Objekte aus den Modellkoordinaten in Weltkoordinaten
  • > Trivial ablehnen: Entfernen der Objekte, die vollständig außerhalb des Bildraums sind
  • > Beleuchtung: Berechnung der Intensität an jedem Knoten (Gourand-Schattierung) im Weltkoordinatensystem
  • > Darstellungstransformation: Transformation des Weltkoordinatensystems in einen nomalisierten (kanonischen) Bildraum (Koordinaten 0 bis +-1)
  • > Kappung: 3D-Kappung am kanonischen Bildraum
  • > Projektion, WVT (Window Viewport Transformation): Projektion auf die Betrachtungsebene (Viewplane), Umrechnung in Bildschirmkoordinaten
  • > Rasterung: z-Puffer-Algorithmus und Berechnung des Farbwerts jedes Pixels durch Intensitätsinterpolation (Gourand-Schattierung)
  • > Anzeige
202
Q

Wie funktioniert die Rendering-Pipeline bei dem z-Puffer und der Phong-Schattierung?

A
  • > Datenbank durchlaufen
  • > Modellierungstransformation
  • > Trivial ablehnen
  • > Darstellungstransformation
  • > Kappung
  • > Projektion, WVT
  • > Rasterung: (einschließlich Beleuchtung): z-Puffer Algorithmus mit Beleuchtung und Berechnung des Farbwerts jedes Pixels durch Normaleninterpolation (Pong-Schattierung). Die Beleuchtungsgleichung wird bei der rasterung für jedes Pixel ausgewertet. Dabei ist der Zugriff auf das weltkoordinatensystem notwendig.
  • > Anzeige
203
Q

Wie funktioniert die Rendering-Pipeline beim Raytracing?

A
  • > Datenbanken durchlaufen
  • > Modellierungstransformation
  • > Raytracing
  • > Anzeige
204
Q

Wie funktioniert die Rendering-Pipeline bei der Radiosity und Gourand-Schattierung?

A

-> Datenbanken durchlaufen
-> Modellierungstransformaiton
-> Berechnugn der Knotenintensitäten durch Radiosity: Unabhängig vom Blickpunkt durch Berechnung der Formfaktoren und Lösung des LGS
-> Neue Datenbank
……
-> Neue Datenbank durchlaufen
-> Trivial ablehnen
-> Darstellungstransformation
-> Kappung
-> Projektion, WVT
-> Rasterung: z-Puffer-Algorithmus und Berechnung des Farbwerts jedes Pixels durch Intensitätsinterpolation (Gourand-Schattierung)
-> Anzeige