Übungen: Gemischt & Grundlagen

Gemischte Aufgaben quer durch den Kurs, mit Schwerpunkt auf den Grundlagen aus Kapitel 1 (Einfuehrung: Computergrafik vs. Bildverarbeitung, Rasterisierung, Raytracing) und Kapitel 2 (Grafische Objekte: Punkte/Kanten/Dreiecke, Koordinatensysteme, Primitive, Szenengraph). Dazu einige kapiteluebergreifende Items, die Farbe (color), Transformationen (transformations) und Bildverarbeitung (image processing) verknuepfen. Multiple-Choice, Verstaendnisfragen und kleine Rechnungen. Jede Loesung nennt die volle Begruendung, einen Kapitelverweis und typische Fehler.


Beginner

Aufgabe 1 (Beginner) - Synthese vs. Analyse (MC)

Welche Aussage beschreibt die Computergrafik / Bildsynthese (computer graphics / image synthesis) korrekt?

  • A) Sie geht vom (realen) Bild aus und erzeugt eine Beschreibung des Bildinhalts.
  • B) Sie geht von einer Bildbeschreibung aus und faerbt algorithmisch die Pixel ein.
  • C) Sie macht ein vorhandenes Bild lediglich heller (einfache Manipulation).
  • D) Sie zaehlt Objekte in einem Mikroskopbild.
Lösung anzeigen

Richtig: B.

Computergrafik ist die Richtung Bildbeschreibung -> Bild, also das algorithmische Einfaerben der Pixel (Synthese). Die umgekehrte Richtung, Bild -> Beschreibung, ist die Bildverarbeitung / Bildanalyse (image processing / image analysis).

  • A) beschreibt die Bildverarbeitung (Analyse), nicht die Synthese.
  • C) beschreibt die Bildbearbeitung (image editing, z. B. ein Bild heller machen), die klar von der informationsextrahierenden Bildverarbeitung abzugrenzen ist.
  • D) (Bakterien/Objekte zaehlen) ist eine Analyseaufgabe, also Bildverarbeitung.

Verbindendes Element beider Richtungen ist stets das Pixel (picture element).

Typischer Fehler: Synthese und Analyse (bzw. deren Richtungen) verwechseln. Merke: Grafik faerbt ein, Verarbeitung wertet aus.

Kapitelverweis: Kapitel 1 - Einfuehrung


Aufgabe 2 (Beginner) - Haendigkeit der Koordinatensysteme (MC)

In einem rechtshaendigen Koordinatensystem (right-handed coordinate system) mit xx nach rechts und yy nach oben: Wohin zeigt die positive zz-Achse, und welches Grafik-API nutzt diese Konvention standardmaessig?

  • A) In den Bildschirm hinein; OpenGL.
  • B) Aus dem Bildschirm zum Betrachter heraus; OpenGL.
  • C) Aus dem Bildschirm zum Betrachter heraus; DirectX.
  • D) In den Bildschirm hinein; DirectX.
Lösung anzeigen

Richtig: B.

Rechtshaendig bedeutet: zz zeigt zum Betrachter heraus (aus dem Bildschirm). Das ist der Standard in OpenGL. Ein linkshaendiges Koordinatensystem (left-handed) hat zz in den Bildschirm hinein (weg vom Betrachter) und ist z. B. der Standard in DirectX.

Die Haendigkeit legt neben der zz-Richtung auch den Drehsinn fest.

Typischer Fehler: Haendigkeit und zz-Richtung vertauschen. Eselsbruecke: rechts = z kommt zu dir heraus.

Kapitelverweis: Kapitel 2 - Grafische Objekte


Aufgabe 3 (Beginner) - Deprecated OpenGL-Primitive

Nenne die drei Basisbausteine, aus denen jedes grafische Objekt letztlich aufgebaut wird. Welche der folgenden OpenGL-Primitive sind seit OpenGL 3.0/3.1 deprecated bzw. removed: Triangle Strip, Quad, Triangle Fan, Polygon, Quad Strip?

Lösung anzeigen

Basisbausteine: Punkte (points), die mit Kanten (edges) zu Dreiecken (triangles) verbunden werden. Aus dieser Kette Punkte -> Kanten -> Dreiecke werden alle Formen (Wuerfel, Kugel, Torus, Schachfiguren ...) approximiert (Dreiecksgitter / triangle mesh).

Deprecated/removed: Polygon, Quad und Quad Strip. Sie sind in OpenGL 3.0 deprecated und ab OpenGL 3.1 entfernt (removed). Modernes OpenGL baut alles aus Dreiecken auf.

Weiterhin gueltig (nicht deprecated): Triangle, Triangle Strip, Triangle Fan (sowie Points, Lines, Line Strip, Line Loop).

Tipp: Merke dir die Faustregel "alles Vierecke/Vielecke raus, Dreiecke rein". Wer noch GL_QUADS oder GL_POLYGON als "modern" ansieht, tappt in die Falle.

Kapitelverweis: Kapitel 2 - Grafische Objekte


Fortgeschritten

Aufgabe 4 (Fortgeschritten) - Rasterisierung vs. Raytracing

Erklaere den grundlegenden Richtungsunterschied zwischen Rasterisierung (rasterization) und Raytracing (ray tracing). Wer geht von wo aus? Nenne je einen charakteristischen Effekt/Zusatzschritt.

Lösung anzeigen

Rasterisierung (vertex-/objektbasiert, vorwaerts): Geht von den Objekt-Eckpunkten (vertices) aus. Zwei Schritte:

  1. Projektion: die Eckpunkte des 3D-Dreiecks werden ueber ein Projektionszentrum auf Pixel der Bildebene (viewplane) abgebildet.
  2. Fuellen (fill): aus den Eckpixeln werden die uebrigen Dreieckspixel bestimmt und eingefaerbt.

Charakteristischer Nebeneffekt: Aliasing (Treppeneffekt) an schraegen Kanten.

Raytracing (pixel-/bildbasiert, rueckwaerts): Geht vom Auge/der Kamera aus. Von der virtuellen Kamera werden Sehstrahlen (view rays) durch die Bildebene in die Szene verfolgt. Trifft ein View Ray ein Objekt, wird ein Shadow Ray (Schattenstrahl) zur Lichtquelle geschickt, um Schatten zu bestimmen.

Merksatz: Rasterisierung: Objekt-Eckpunkte -> Pixel (vorwaerts). Raytracing: Pixel/Auge -> Szene (rueckwaerts). Raytracing (und die Variante Path Tracing) liefert physikalisch realistischere Beleuchtung (Spiegelungen, indirekte Beleuchtung), ist aber rechenintensiver.

Typischer Fehler: Glauben, Raytracing gehe von den Objekt-Eckpunkten aus. Falsch: die Strahlen gehen von der Kamera aus; die eckpunktbasierte Methode ist die Rasterisierung.

Kapitelverweis: Kapitel 1 - Einfuehrung


Aufgabe 5 (Fortgeschritten) - Rechteck aus Koordinaten (Rechnung)

Gegeben sind vier Eckpunkte (vertices) eines Rechtecks in der xx/yy-Ebene:

P1={3,0, 1,5},P2={3,0, 1,5},P3={3,0, 1,5},P4={3,0, 1,5}P_1 = \{-3{,}0,\ -1{,}5\}, \quad P_2 = \{3{,}0,\ -1{,}5\}, \quad P_3 = \{3{,}0,\ 1{,}5\}, \quad P_4 = \{-3{,}0,\ 1{,}5\}

a) Berechne Breite und Hoehe. b) Wo liegt der Mittelpunkt? c) Ist der Umlauf P1P2P3P4P_1 \to P_2 \to P_3 \to P_4 im oder gegen den Uhrzeigersinn, und was bedeutet das in OpenGL?

Lösung anzeigen

a) Breite und Hoehe:

Breite=xP2xP1=3,0(3,0)=6,0\text{Breite} = x_{P_2} - x_{P_1} = 3{,}0 - (-3{,}0) = 6{,}0 Hoehe=yP4yP1=1,5(1,5)=3,0\text{Hoehe} = y_{P_4} - y_{P_1} = 1{,}5 - (-1{,}5) = 3{,}0

b) Mittelpunkt: Das Rechteck ist symmetrisch um den Ursprung. Kontrolle ueber den Durchschnitt gegenueberliegender Ecken:

M=(xP1+xP32, yP1+yP32)=(3,0+3,02, 1,5+1,52)=(0, 0)M = \left(\frac{x_{P_1}+x_{P_3}}{2},\ \frac{y_{P_1}+y_{P_3}}{2}\right) = \left(\frac{-3{,}0+3{,}0}{2},\ \frac{-1{,}5+1{,}5}{2}\right) = (0,\ 0)

Der Mittelpunkt liegt im Ursprung (0,0)(0,0).

c) Umlaufrichtung: P1P_1 (unten-links) -> P2P_2 (unten-rechts) -> P3P_3 (oben-rechts) -> P4P_4 (oben-links) laeuft gegen den Uhrzeigersinn (counter-clockwise, CCW). In OpenGL ist CCW die Standard-Orientierung der Vorderseite (front face).

Tipp: Fuer Breite/Hoehe immer die Differenz der jeweiligen Koordinate gegenueberliegender Ecken nehmen, nicht den absoluten Zahlenwert einer einzelnen Ecke.

Kapitelverweis: Kapitel 2 - Grafische Objekte


Aufgabe 6 (Fortgeschritten) - Szenengraph: Knoten und DAG-Vorteil

Der Szenengraph (scene graph) verwaltet komplexe Szenen. a) Nenne die mindestens drei Knotentypen. b) Was unterscheidet einen Baum (tree) von einem gerichteten azyklischen Graphen (DAG)? c) Worin liegt der zentrale Vorteil des DAG?

Lösung anzeigen

a) Knotentypen (node types):

  1. Gruppen (group nodes),
  2. Geometrien (geometry, inkl. Materialeigenschaften),
  3. Transformationen (transformation nodes).

Weitere Eigenschaften: der Szenengraph ist gerichtet, azyklisch, heterogen; die darstellbaren Primitive (Geometrie) liegen in den Blaettern (leaves).

b) Baum vs. DAG:

  • Baum: jeder Knoten hat genau einen Elternknoten.
  • DAG (directed acyclic graph): ein Knoten darf mehrere Eltern haben, aber es gibt keine Zyklen (azyklisch).

c) Vorteil des DAG: Instanzierung (instancing / reuse). Eine Geometrie wird nur einmal erzeugt (eingelesen) und ueber verschiedene Transformationen mehrfach verwendet. Das spart Speicher und Ladezeit. Beispiel Pinguin: dasselbe Dreieck-Primitiv wird fuer Fluegel und Fuesse mehrfach mit unterschiedlichen Transformationen instanziert.

Typischer Fehler: Baum und DAG gleichsetzen oder den Instanzierungs-Vorteil nicht nennen koennen. Der springende Punkt ist "einmal einlesen, mehrfach verwenden".

Kapitelverweis: Kapitel 2 - Grafische Objekte


Anspruchsvoll

Aufgabe 7 (Anspruchsvoll) - Faltung am Bildrand (Rechnung)

Ein Mittelwertoperator / Box blur (mean filter) mit normiertem 3×33\times 3-Kernel 19[111111111]\frac{1}{9}\begin{bmatrix}1&1&1\\1&1&1\\1&1&1\end{bmatrix} wird angewendet. Betrachtet wird ein einzelnes weisses Pixel mit Wert 255255, das direkt am Bildrand liegt, sodass nur 8 der 9 Kernelpositionen im Bild liegen (die 9. faellt aus dem Bild). Die restlichen abgedeckten Pixel sind schwarz (0)(0).

a) Welchen Ergebniswert liefert die Faltung an dieser Stelle? b) Warum tritt dieses Randproblem ueberhaupt auf, und warum verwendet man ueblicherweise ungerade Kernelgroessen?

Lösung anzeigen

a) Rechnung. Von den 8 im Bild liegenden Positionen traegt nur das weisse Zentrum (255255) bei, die uebrigen sind 00. Der Kernel normiert dennoch mit 19\frac{1}{9}:

g(i,j)=19(255+0+0+)=2551928g'(i,j) = \frac{1}{9}\big(255 + 0 + 0 + \dots\big) = \frac{255 \cdot 1}{9} \approx 28

Liegt das weisse Pixel dagegen so, dass es selbst mit acht weissen Nachbarn erfasst wird und nur eine Position aus dem Bild faellt, ergibt sich

g(i,j)=25589=20409227g'(i,j) = \frac{255 \cdot 8}{9} = \frac{2040}{9} \approx 227

Entscheidend: der Normierungsfaktor 19\frac{1}{9} bleibt fest, obwohl nur 8 Positionen tatsaechlich im Bild liegen. Dadurch wird der Rand systematisch zu dunkel, wenn man die fehlende Position einfach als 00 zaehlt.

b) Randproblem und ungerade Kernelgroesse. Am Bildrand ragt der Kernel ueber das Bild hinaus, es fehlen Nachbarpixel (moegliche Abhilfen im Kurs: Rand ignorieren, mit Konstante auffuellen usw.). Ungerade Kernelgroessen (3×33\times 3, 5×55\times 5, 7×77\times 7) waehlt man, weil es dann genau ein Zentrum (central pixel) gibt, das eindeutig durch das Ergebnis ersetzt wird. Bei gerader Groesse laege das Zentrum zwischen vier Pixeln und das Bild wuerde sich um einen halben Pixel verschieben.

Typischer Fehler: Die Kernel-Normierung an die Zahl der tatsaechlich abgedeckten Pixel anpassen (also durch 8 statt durch 9 teilen), ohne dass die Aufgabe das vorgibt. Standard ist der feste Normierungsfaktor der Blur-Kernel (Summe = 1 fuer Helligkeitserhalt).

Kapitelverweise: Kapitel 1 - Einfuehrung und Kapitel 12 - Lokale Operatoren


Aufgabe 8 (Anspruchsvoll) - 90-Grad-Rotation eines Vertex (Rechnung)

Ein Vertex p=(0,4, 0,2, 0)T\vec{p} = (0{,}4,\ 0{,}2,\ 0)^T soll um 9090^\circ um die zz-Achse gedreht werden (mathematisch positiver Drehsinn). a) Stelle Rz(90)R_z(90^\circ) auf und berechne p\vec{p}\,'. b) Wieso wirkt diese Rotation nur "richtig", wenn der Punkt bezueglich des Ursprungs gedreht werden soll, und was tut man sonst?

Lösung anzeigen

a) Rotationsmatrix und Rechnung. Mit cos90=0\cos 90^\circ = 0 und sin90=1\sin 90^\circ = 1:

Rz(90)=[cosαsinα0sinαcosα0001]=[010100001]R_z(90^\circ) = \begin{bmatrix} \cos\alpha & -\sin\alpha & 0 \\ \sin\alpha & \cos\alpha & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} p=Rz(90)p=[010100001][0,40,20]=[0,20,40]\vec{p}\,' = R_z(90^\circ)\,\vec{p} = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 0{,}4 \\ 0{,}2 \\ 0 \end{bmatrix} = \begin{bmatrix} -0{,}2 \\ 0{,}4 \\ 0 \end{bmatrix}

Also p=(0,2, 0,4, 0)T\vec{p}\,' = (-0{,}2,\ 0{,}4,\ 0)^T. Kontrolle: eine +90+90^\circ-Drehung um zz bildet die xx-Richtung auf die yy-Richtung ab, also (x,y)(y,x)(x,y) \to (-y, x): (0,4, 0,2)(0,2, 0,4)(0{,}4,\ 0{,}2) \to (-0{,}2,\ 0{,}4). Passt.

b) Bezug zum Ursprung. Rotation (und Skalierung) wirken immer relativ zum Ursprung. Soll ein Objekt um einen anderen Referenzpunkt (reference point) r\vec{r} gedreht werden, nutzt man den dreistufigen Algorithmus: erst T(r)T(-\vec{r}) in den Ursprung verschieben, dann rotieren, dann mit T(+r)T(+\vec{r}) zurueckschieben:

M=T(+r)RzT(r)M = T(+\vec{r}) \cdot R_z \cdot T(-\vec{r})

Typischer Fehler: Beim RzR_z (und RxR_x) steht sin-\sin oben rechts. Vor allem bei RyR_y ist es umgekehrt (+sin+\sin oben rechts, sin-\sin unten links) - hier kommt es haeufig zu Vorzeichenfehlern.

Kapitelverweis: Kapitel 5 - Transformationen


Aufgabe 9 (Anspruchsvoll) - RGB nach HSV (Rechnung)

Gegeben eine Farbe im Wertebereich [0,1][0,1]: c=[0,2, 0,8, 0,2]T\vec{c} = [0{,}2,\ 0{,}8,\ 0{,}2]^T (also r=0,2r=0{,}2, g=0,8g=0{,}8, b=0,2b=0{,}2). Berechne Value VV, Saturation SS und den ungefaehren Hue HH.

Lösung anzeigen

Schritt 1 - Extremwerte: max(r,g,b)=0,8\max(r,g,b) = 0{,}8 (das ist gg), min(r,g,b)=0,2\min(r,g,b) = 0{,}2 (hier r=br = b).

Schritt 2 - Value (groesste Komponente):

V=max(r,g,b)=0,8V = \max(r,g,b) = 0{,}8

Schritt 3 - Saturation:

S=1minmax=10,20,8=10,25=0,75S = 1 - \frac{\min}{\max} = 1 - \frac{0{,}2}{0{,}8} = 1 - 0{,}25 = 0{,}75

Schritt 4 - Hue: Das Maximum liegt im gruenen Kanal. Der Farbwinkel fuer reines Gruen ist

H=120H = 120^\circ

Da Rot und Blau exakt gleich gross sind (r=b=0,2r = b = 0{,}2), liegt der Farbton genau auf der Gruen-Achse, ohne Verschiebung Richtung Gelb (6060^\circ) oder Cyan (180180^\circ).

Ergebnis: c=[120, 0,75, 0,8]HSVT\vec{c} = [120^\circ,\ 0{,}75,\ 0{,}8]^T_{\text{HSV}} - ein kraeftiges, aber nicht voll gesaettigtes Gruen.

Typischer Fehler: VV als Mittelwert der Kanaele berechnen. Falsch: V=max(r,g,b)V = \max(r,g,b). Und SS nutzt das max\max-min\min-Verhaeltnis, nicht die Summe.

Kapitelverweis: Kapitel 10 - Farbraeume


Klausur-Niveau

Aufgabe 10 (Klausur-Niveau) - Cross-Topic: Farbe, Grauwert und Kantenfilter

Ein kleines Bild enthaelt eine gelbe Flaeche. a) Ein Pixel leuchtet mit R=90%R = 90\%, G=90%G = 90\%, B=0%B = 0\% - welche Farbe entsteht, und warum (additive Mischung)? b) Rechne diesen Pixel (Werte im Bereich [0,1][0,1]) in seinen Grauwert ueber die YCbCr-Helligkeitsgewichtung Y0,30R+0,60G+0,10BY \approx 0{,}30\,R + 0{,}60\,G + 0{,}10\,B um. c) Wird nun ein Laplace-Kantenfilter [010141010]\begin{bmatrix}0&1&0\\1&-4&1\\0&1&0\end{bmatrix} auf eine homogene (gleichfarbige) Region dieses Grauwertbildes angewandt - welches Ergebnis erhaelt man dort, und warum?

Lösung anzeigen

a) Additive Mischung. RGB ist additiv (Licht/Display). Blau fehlt (0%0\%), nur Rot und Gruen leuchten in gleicher, hoher Intensitaet. Rot + Gruen ergibt additiv Gelb. Der Pixel ist also gelb.

b) Grauwert (Y-Kanal). Mit R=0,9R=0{,}9, G=0,9G=0{,}9, B=0,0B=0{,}0:

Y0,300,9+0,600,9+0,100,0=0,27+0,54+0=0,81Y \approx 0{,}30 \cdot 0{,}9 + 0{,}60 \cdot 0{,}9 + 0{,}10 \cdot 0{,}0 = 0{,}27 + 0{,}54 + 0 = 0{,}81

Der Grauwert betraegt Y0,81Y \approx 0{,}81 (auf [0,255][0,255] skaliert etwa 0,812552070{,}81 \cdot 255 \approx 207). Die hohe Gruen-Gewichtung (0,600{,}60) traegt am staerksten bei, weil das menschliche Auge fuer Gruen am empfindlichsten ist.

c) Laplace auf homogener Flaeche. Die Laplace-artigen Kantenfilter haben eine Kernel-Summe von 0 (hier 4+1+1+1+1=0-4 + 1 + 1 + 1 + 1 = 0). In einer homogenen Region sind alle Nachbarwerte gleich (nennen wir sie vv):

e=1v+1v+1v+1v+(4)v=4v4v=0e = 1\cdot v + 1\cdot v + 1\cdot v + 1\cdot v + (-4)\cdot v = 4v - 4v = 0

Das Ergebnis ist 0 (dunkel). Erst an Kanten (starke Wertunterschiede) liefert der Filter stark positive/negative Werte und hebt sie hervor. So verbindet sich die Kette Farbe -> Grauwert -> Kantendetektion.

Typischer Fehler: Bei den Blur-Kerneln ist die Summe 1 (Helligkeitserhalt), bei den Laplace-Kantenfiltern jedoch 0. Wer beide verwechselt, erwartet in homogenen Flaechen ein falsches Ergebnis.

Kapitelverweise: Kapitel 1 - Einfuehrung, Kapitel 10 - Farbraeume und Kapitel 12 - Lokale Operatoren


Aufgabe 11 (Klausur-Niveau) - Cross-Topic: CMY-Negation und Skalierung abseits des Ursprungs

a) Ein Bildschirmfarbwert ist RGB=[0,8, 0,3, 0,0]T\text{RGB} = [0{,}8,\ 0{,}3,\ 0{,}0]^T. Rechne ihn in CMY um und nenne, ob RGB additiv oder subtraktiv ist und wozu CMY dient. b) Ein achsenparalleles Objekt reicht auf der xx-Achse von x=2x = 2 bis x=4x = 4 und wird mit dem Faktor sx=3s_x = 3 skaliert. Wo liegt es danach, und welches typische Problem zeigt sich? Wie behebt man es?

Lösung anzeigen

a) CMY-Umrechnung. CMY ist das negierte RGB (Wertebereich [0,1][0,1]): C=1RC = 1 - R, M=1GM = 1 - G, Y=1BY = 1 - B.

C=10,8=0,2,M=10,3=0,7,Y=10,0=1,0C = 1 - 0{,}8 = 0{,}2, \qquad M = 1 - 0{,}3 = 0{,}7, \qquad Y = 1 - 0{,}0 = 1{,}0

Also CMY=[0,2, 0,7, 1,0]T\text{CMY} = [0{,}2,\ 0{,}7,\ 1{,}0]^T. RGB ist additiv (Licht, selbstleuchtende Displays: mehr Licht = heller). CMY ist subtraktiv (Pigment/Druck: mehr Pigment = dunkler) und dient der Ausgabe auf Druckern.

b) Skalierung abseits des Ursprungs. Skalierung ist nur gegenueber dem Nullpunkt invariant. Sie multipliziert alle Koordinaten mit sxs_x, also auch die Positionskoordinaten:

xlinks=23=6,xrechts=43=12x_{\text{links}} = 2 \cdot 3 = 6, \qquad x_{\text{rechts}} = 4 \cdot 3 = 12

Das Objekt reicht danach von x=6x = 6 bis x=12x = 12. Es ist zwar dreimal so breit geworden (vorher Breite 22, nachher Breite 66), hat aber zugleich seine Position geaendert - es ist vom Ursprung weggewandert.

Behebung: Objekt zuerst in den Ursprung translieren, dann skalieren, dann zuruecktranslieren (M=T(+p)ST(p)M = T(+\vec{p}) \cdot S \cdot T(-\vec{p})), oder Objekte gleich um den Ursprung modellieren.

Typischer Fehler: Vergessen, dass Skalierung (und Rotation) auf den Ursprung bezogen sind. Ein nicht im Ursprung definiertes Objekt "wandert" ungewollt mit.

Kapitelverweise: Kapitel 10 - Farbraeume und Kapitel 5 - Transformationen (Grundlage bereits in Kapitel 2)


Aufgabe 12 (Klausur-Niveau) - Gemischte Zuordnung (MC, mehrere richtig)

Welche der folgenden Aussagen sind korrekt? (Mehrfachauswahl moeglich.)

  • A) Das verbindende Element von Computergrafik und Bildverarbeitung ist das Pixel.
  • B) Path Tracing ist eine Variante des Ray Tracing und liefert realistische Spiegelungen und indirekte Beleuchtung, ist aber rechenintensiv.
  • C) Im Szenengraphen liegen die Transformationsknoten in den Blaettern und die Geometrie in der Wurzel.
  • D) Ein Convolutional Neural Network (CNN) besteht aus gelernten Faltungsmatrizen; der Convolution/Pooling-Teil ist die Feature Extraction, der Fully-Connected-Teil die Classification.
  • E) Modernes OpenGL (3.1+) baut Objekte aus Dreiecken auf; Quad und Polygon sind entfernt.
Lösung anzeigen

Richtig: A, B, D, E. Falsch: C.

  • A) Richtig. Der Kern der Vorlesung lautet "(fast) immer um Pixel"; das Pixel verbindet Synthese und Analyse.
  • B) Richtig. Path Tracing ist eine Ray-Tracing-Variante. Vorteile: realistische Spiegelungen (reflections), indirekte Beleuchtung (indirect illumination). Nachteile: verfahrensbedingte Unschaerfe (Sampling-Rauschen) und hoher Hardware-Anspruch.
  • C) Falsch. Umgekehrt: Die Geometrie (bzw. die darstellbaren Primitive) liegt in den Blaettern (leaves). Die Wurzel steht fuer die Gesamtszene; Transformations- und Gruppenknoten liegen dazwischen.
  • D) Richtig. Ein CNN ist ein Netzwerk aus gelernten Faltungsmatrizen. Convolution + ReLU + Pooling = Feature Extraction; Fully Connected = Classification.
  • E) Richtig. Ab OpenGL 3.1 sind Polygon, Quad und Quad Strip entfernt; modernes OpenGL nutzt Dreiecke.

Typischer Fehler: Beim Szenengraphen die Ebenen vertauschen. Merke: Geometrie in den Blaettern, Szene in der Wurzel.

Kapitelverweise: Kapitel 1 - Einfuehrung und Kapitel 2 - Grafische Objekte