Übersichtsfragen 2 Was haben für denn so in CG 1 gemacht? 2 Wo sind wir in der Vorlesung auf Aliasing-Probleme gestoßen? Einführung 1 Wie lassen sich Objekte im Raum beschreiben? (parametrisch, explizit, implizit) (1) 2 Wie lassen sich Linien und Ebenen in parametrischer und expliziter Form ausdrücken? (1) F2 Wie lassen sich Linien-Segmente, Parallelogramme und Dreiecke in expliziter Form ausdrücken? (1) 1 Was sind baryzentrische Koordinaten und welche geometrische Interpretation liegt ihnen zu Grunde? (2) 1 Zeichnen Sie ein Dreieck und kennzeichnen Sie die Bereiche, wo die baryzentrischen Koordinaten negativ sind. (2) Lokale Beleuchtung / Rendering Pipleline 1 Was ist lokale Beleuchtung? Welche (zwei) Vorteile hat sie? (3) 2 Benennen Sie die Schritte der Rendering Pipeline und erläutern Sie sie im Detail! (3) 1 Welche Arten von Transformationen gibt es in der Rendering Pipeline? (3) Point Rendering Pipeline 1 Welche Eigenschaften haben lineare Abbildungen? (4) 1 Wodurch ist eine lineare Abbildung eindeutig bestimmt? (4) 1 Wie wird eine Basiswechsel-Matrix konstruiert? (4) F2 Benennen die Matrizen für alle Standard-Transformationen (Skalierung, Scherung, Rotation) und erläutere deren Eigenschaften! Bonus: Leite die Rotationsmatrizen her. (4) F2 Erkläre die Rotation um eine beliebige Koordinaten-Achse! (5) 1 Wie lautet die Matrix für hintereinander auszuführende Transformationen? Was ist zu beachten? (6) Affine Abbildungen 1 Was ist eine affine Abbildung? Was wird für ihre Definition benötigt? Wie wird sie in Matrix-Form dargestellt? (6) 1 Welche Operationen machen bei affinen Abbildungen Sinn? Wie lassen sie sich interpretieren? (6) Projektive Abbildungen 1 Welche Arten von projektiven Abbildungen gibt es? (7) 2 Was für eine Koordinatendarstellung wird für projektive Abbildungen benötigt? Erläutere diese. (7) 1 Wie werden Vektoren in homogenen Koordinaten dargestellt? (7) 1 Was ist der Vorteil von homogenen Koordinaten? (7) F3 Erläutere im Detail drei Arten von einfachen, perspektivischen Projektionen. (7-8) 1 Was ist ein Fluchtpunkt (zu einer Richtung d)? (9) F2 Wie findet den Fluchtpunkt zu einer gegebenen Richtung (per Konstruktion und mathematisch)? (9) 3 Erläuteren Sie die drei perspektivischen Konstruktionen für 1/2/3 Fluchtpunkte (mit Herleitung)? Wovon hängt die Anzahl der Fluchtpunkte ab? (10) Parallel-Projektionen 1 Was ist eine Parallel-Projektion? Welche Arten gibt es? (11) F2 Erläuteren Sie die Orthogonal-Projektion und geben Sie die Matrix-Schreibweise an. (11) F2 Welche Arten von Schräg-Projektionen (oblique) gibt es? Geben Sie die Matrix-Schreibweise für eine an. (11) 2 Leiten Sie eine Matrix her, um 3D-Punkte auf eine allgemeine Bildebene IP(x,y) = m + xu + mv zu projizieren. (11) Kamera-Modell 2 Erläutern Sie das gängige Kamera-Modell. Welche Transformationen werden durchgeführt? (12) F3 Erläutern Sie die Look-At-Transformation! (12) F3 Erläutern Sie die Frustrum-Transformation! Wie kann man sie noch parametrisieren? (12-13) F3 Erläutern Sie die Viewport-Transformation! (13) Farben 1 Erzähl ein wenig über Farben aus Sicht von Kunst, Physik und Biologie :) (14) F1 Was ist das CEI-Model? (14) F2 Wie wird ein Monitor kalibriert? (14) F2 Erläutern Sie die Gamma-Korrektur! (15) 2 Welche Farbmodelle kennen Sie? Wie werden sie dargestellt? (15) F2 Wie muss eine Normale transformiert werden, wenn der zugehörige Punkt durch eine Matrix M abgebildet wird? Wie wird das hergeleitet? (16) F4 Erläutern Sie das Phong-Modell und alle darin vorkommenenden Bestandteile! (16-17) 2 Was ist Depth Cuing? (17) 1 Wie kann die Effizienz vom Phong-Modell erhöht werden? (17) Linien-Transformationen F3 Werden Linien durch projektive Abbildungen wieder auf Linien abgebildet? Wenn ja/nein, wieso? (18) Linien-Clipping A1 Was macht das Line Clipping? Welche Algorithmen kennen Sie? (18) A2 Erläutern Sie den Cohen-Sutherland-Algorithmus! Was ist gut daran? Was ist schlecht? (18) A3 Erläutern Sie den Liang-Brasky-Algorithmus! (19) Linien-Rasterisierung F1 Wie parameterisiert man eine Linie im 2D, wenn (x0,y0) und (x1,y1) gegeben sind? (20) A2 Wie kann der naive Ansatz, eine Linie zu zeichnen, verbessert werden? Warum ist das immer noch nicht zufriedenstellend? (20) A3 Erläutern Sie ausführlich den Bresenham Midpoint-Algorithmus! (20) Polygon-Clipping 1 Welche Algorithmen zum Clipping von Polygonen kennen Sie? (20) A2 Erläutern Sie den Sutherland-Hodgeman-Algorithmus zum Polygon-Clipping. Vor- und Nachteile? (21) A2 Erläutern Sie den Liang-Barsky-Algorithmus zum Polygon-Clipping. (21) 1 Wie lassen sich Polygone rasterisieren? (22) A2 Erläutere die Scan-Line-Conversion! Wofür wird sie benutzt? (22) Triangulierung A3 Erläutern Sie die Algorithmen zur Triangulierung von Dreiecksnetzen! (23) 1 Benennen Sie die Nachteile vom Sweep-Line-Algorithmus zur Triangulierung. (23) Beleuchtung F3 Erklären Sie die drei Shading-Arten um Farbwerte zu interpolieren. Nennen Sie die Vor- und Nachteile! (24) Texturierung 1 Was ist Texturierung? (25) 3 Wie werden Texturen auf Dreiecke gelegt? Erläutern Sie die Screen Space und Object Space Interpolation. Wo sind die Vor- und Nachteile? (25) 2 Erläutern Sie kurz ein paar Möglichkeiten, wie man Meshes texturieren kann. (25) 1 Wofür kann man 1D- und 3D-Texturen einsetzen? (26) FA3 Erläutern Sie Environment Mapping! (26) 3 Was sind Aliasing-Effekte (bzgl. Texturierung)? Welche zwei Typen gibt es? Wie löst man das Problem jeweils? (26) Graphic APIs 1 Was ist der Sinn von Graphic APIs? Welche beiden Typen gibt es? (27) OpenGL 1 Was ist gut an OpenGL? Welche zusätzlichen Bibliotheken gibt es? (27) 3 Nennen und erklären Sie alle Aspekte der Render-Pipeline von OpenGL! (27) 1 Welche Primitiven unterstützt OpenGL? (28) 1 Erläutern Sie die State-Machine von OpenGL! Woraus setzt sich ein Zustand zusammen? (28) 1 Wie werden in OpenGL Transformationen gespeichert? (29) 2 Welche allgemeinen Matrix-Funktionen unterstützt OpenGL? (29) 2 Wie werden die Model-View-, die Projektions- und die View-Transformations-Matrix von OpenGL gesetzt (durch welche Funktionen)? (29) 1 Erklären Sie den Matrix-Strack von OpenGL. Welche Funktionen werden dafür benutzt? (29) 1 Welches Beleuchtungs-Modell implementiert OpenGL? Welche Licht-Features werden unterstützt? (30) 2 Wie läuft die Texturierung in OpenGL ab? (Erzeugung und Anwendung) (30) 1 Was ist ein Fragment? Welche Operationen kann man auf Fragments durchführen? (31) 2 Erläutere die vier Fragment-Tests von OpenGL: Scissor, Alpha, Stencil, Depth! Welche Funktionen kommen dabei zum Einsatz? (31) 2 Was ist Blending? Erläutere das Blending in OpenGL! (32) 1 Wie rendert man in OpenGL eine Scene, die auch durchscheinende Objekte enthält? (32) Advanced OpenGL 1 Was ist eine "Bitmap" und was ein "Image" in OpenGL? (32) 2 Welche Imaging-Funktionen unterstützt OpenGL? (32) 2 Welche Funktion zur fortgeschrittenen Texturierung erlaubt OpenGL? (32) 2 Nenne zwei Techniken, wie sich mit OpenGL das Objekt unter dem Maus-Cursor finden lässt? (33) 2 Welche fortgeschrittenen Primitiven können in OpenGL benutzt werden? (33) 3 Erläutere zwei Arten, wie sich die Renderleistung von OpenGL verbessern lässt! (33) 2 Erläutere die OpenGL-Extensions! (33) Scenegraph APIs 1 Was ist eine Scenegraph API? (34) 2 Was ist ein Scenegraph? Welche Knotenarten gibt es bei OpenInventor? (34) 1 Was sind "Actions" bei OpenInventor? Welche Arten gibt es? (34) 1 Nenne ein paar fortgeschrittene Knoten bei OpenInventor! (34) Polygon-Netze 1 Benenne verschiedene Möglichkeiten, Geometrie zu approximieren! (35) 1 Was ist ein Polygon-Netz? Was ist Geometrie? Was ist Topologie? (35) 2 Erläuteren Sie die Dualität von Netzen! (35) 1 Welche Eigenschaften müssen für die "Two Manifoldness" erfüllt sein? Erläutere in dem Zusammenhang die Begriffe "complex vertex" und "complex edge"! (35) 1 Wann gilt ein Netz als geschlossen? (35) Euler-Formel F2 Nenne die Euler-Formel? Wie wird sie für die Dreiecksnetze mit Genus 0 bewiesen (2D und 3D)? (36) F3 Welche Zusammenhänge gelten für Dreiecksnetze in Bezug auf die Euler-Formel? Wie werden sie hergeleitet? (36) Platonische Körper 2 Was in ein platonischer Körper (platonic solid) / wie ist er definiert? (36) F3 Wieviele Vertices, Kanten und Faces hat ein platonischer Körper {p,q}? Wie wird das hergeleitet? Welches Constraint gilt für platonische Körper? (36) 2 Benennen Sie alle platonischen Körper! (36) 1 In welchem Zusammenhang stehen die platonischen Körper {p,q} und {q,p}? (36) Datenstrukturen für Polygon-Netze 1 Welche zwei Ziele verfolgt man bei der Festlegung einer Datenstruktur für Polygon-Netze? (37) F3 Benennen Sie drei kompakte Repräsentationen von Dreiecks-Netzen, nennen Sie den benötigten Speicher und erläuteren Sie Vor- und Nachteile! (37) F3 Benennen Sie drei Repräsentationen von Dreiecks-Netzen zur effizienten Traversierung, nennen Sie den benötigten Speicher und erläuteren Vor- und Nachteile! (38) A2 Erläutern Sie den Algorithmus zur Konstruktion einer Face-basierten Datenstruktur! (39) Constructive Solid Geometry (CSG) 1 Was ist die Idee von Constructive Solid Geometry! (40) 1 Wie ist eine einfache Primitive von CSG definiert? (40) F3 Was sind Quadrics und wie sind sie definiert? (40) F3 Benennen Sie die Quadrics und die explizite Schreibweise von Spheren, Zylinder und Kegeln! (41) 1 Was sind Quartics? (42) F3 Was ist ein Torus? Benennen Sie die explizite Schreibweise eines Torus! (42) 1 Wie sieht die Datenstruktur von CSG aus? (42) F2 Wie werden Transformationen von CSGs durchgeführt, die als Quadric dargestellt sind? (42) 2 Erläutern Sie die drei Operationen, die man auf CSG anwenden kann! (42-43) Volume Rendering 1 Welche zwei Klassen gibt es, um Volume Rendering durchzuführen? (44) 2 Nenne drei Formen, implizite Volumen zu repräsentieren? (44) 1 Wie wandelt man ein Voxel-Grid in eine kontinuierliche Funktion um? (44) 1 Was ist ein Voxel? (44) 2 Welche Typen gibt es für Direct Volume Rendering? Nennen Sie Algorithmen für jeden Typ. (45) FA3 Erläuteren Sie im Detail Volume Ray Casting! (46) 2 Nennen Sie zwei Arten, Ray Casting direkt zu berechnen! (direct computing) (46) F3 Wie lassen sich Iso-Surfaces mit Direct Volume Rendering visualisieren? Was ist zu beachten? (47) 2 Wie berechnet man den Normalen-Vektor für das Volume Shading? (47) 2 Wie lässt sich das Direct Volume Rendering optimieren? (47) 3 Erläutern Sie ausführlich das Volume Splatting! Was ist gut? Was ist schlecht? (48) 3 Erläutern Sie ausführlich die Shear Warp-Faktorisierung? Welche Transformationen werden durchgeführt? Was ist gut daran? (49) 3 Erläutern Sie das Volume Slicing? Warum ist der Ansatz eigentlich schlecht und trotzdem der schnellste? (49) A2 Welche Schritte werden beim Volume Slicing wie auf die Hardware übertragen? (50) 1 Welcher Algorithmus wird beim Indirect Volume Rendering angewandt? (50) A3 Erläutern Sie ausführlich den Marching Cubes-Algorithmus! Was ist gut an dem Algorithmus? (50) 2 Nennen Sie die Standard-Fälle des Marching Squares-Algorithmus' (2D). (51) 1 Worin besteht der Nachteil von Marching Cubes gegenüber der direkten Methoden? (52) A3 Erläutern Sie ausführlich den Extended Marching Cubes-Algorithmus (EMC). Wodurch werden diese Erweiterungen motiviert? (52) 2 Diskutiern Sie die (längere) Laufzeit des Extended Marching Cubes-Algorithmus gegenüber der erzielten Qualität. (53) Freeform Deformation 1 Was ist die Idee hinter der Freeform Deformation! (54) A3 Erläutern Sie die Freeform Deformation! (54) 2 Wie können bei der Freeform Deformation die 'Locality of Deformation' und die 'Smoothness of deformation' erzielt werden? (54) 3 Erläutern Sie die Inverse Freeform Deformation? Was macht man, wenn das originale Gleichungssystem unterbestimmt ist? (55) Global Illumination Visibility 1 Welche drei Typen von Verfahren gibt es, um Sichtbarkeit (Visibility) zu bestimmen? Nennen Sie Beispiele! (56) 1 Wie lautet die Komplexität von Object Precision Techniken? (56) 1 Nennen Sie Algorithmen, die Sichtbarkeit bestimmen. (56+) A3 Erläuteren Sie ausführlich den Painters Algorithmus! Was sind die zwei entscheidenen Nachteile? (56-57) 3 Wie kann Space Partitioning den Painters Algorithmus unterstützen? Nennen Sie zwei mögliche Strukturen! (57) Culling 1 Was ist Culling? Zählen Sie vier Verfahren auf! (58) 2 Erläutern Sie das Backface Culling! (58) 2 Erläutern Sie das View frustum culling. Warum reicht Clipping als Lösung nicht aus? (58) 1 Wie verbessert man das Culling durch Bounding Box Hierarchien? (58) 2 Erläutern Sie Virtual Occluders! (58) 2 Erläutern Sie die Cell Visibility! (59) Image-Precision Techniques 2 Was sind Image-Precision Techniques zur Lösung des Visibility-Problems? Welche Komplexität haben diese in der Regel? Nennen Sie zwei Algorithmen. (59) A3 Erläutern Sie die Area Subdivision! Wie lässt sie sich noch optimieren? (59) A3 Erläutern Sie den Z-Buffer-Algorithmus! Welche Probleme treten dabei auf? Diskutieren Sie den Einsatz vom Z-Buffer! (60) A1 Was ist und wie funktioniert Hidden Line Removal? (60) Mixed Techniques for Visibility 2 Was ist die Idee hinter Mixed techniques for Visibiliy? Nennen Sie zwei Algorithmen! (61) A3 Erläutern Sie den Scan Line-Approach (visibility). Nennen Sie zwei Vorteile des Prinzips. (61) A2 Erläutern Sie Ray Casting in Bezug auf das Visibility-Problem. Wie lässt sich das Verfahren beschleunigen? (62) F1 Wie schneidet man einen Strahl mit einem Dreieck? (62) Schatten 1 Erläutern Sie die Begriffe Schatten, Occluder, Occludee, Deep Shadow und Penumbrae! (63) F2 Wie muss das Phong-Licht-Modell modifiziert werden, damit Schatten berücksichtigt werden? (63) A3 Erläutern Sie den Schatten-Algorithmus 'Projected Geometry'. Wo liegen die Probleme? (64) A3 Erläutern Sie den Schatten-Algorithmus 'Shadow textures'. Wo liegen die Probleme? (64) 1 Wie kann man beim Einsatz von 'Shadow textures' Soft Shadows erzielen? (64) A3 Erläutern Sie den Schatten-Algorithmus 'Shadow volumes'. Wir wird er allgemein und in OpenGL implementiert? Wo sind die Schwachstellen des Algorithmus'? Was ist jedoch gut? (65) A3 Wie lassen sich Shadow Volumes auf der GPU berechnen? A3 Erläutern Sie den Schatten-Algorithmus 'Shadow maps'. Wie wird er allgemein und in OpenGL implementiert? Was sind die Vor- und Nachteile? (66a) F3 Erläutern Sie mathematisch, wieso es bei den 'Shadow maps' zu Aliasing-Effekte kommt. Welche zwei Arten von Aliasing-Effekten treten auf? (66a) A3 Erläutern Sie 'Projective shadow maps'! (66b) Ray-Tracing 1 Erläutern Sie die Begriffe Indirekte Beleuchtung, Reflektionen, Refraktionen! (67) 2 Welche drei allgemeine Typen von Globalen Beleuchtungs-Algorithmen gibt es? (67) FA3 Erläutern Sie ausführlich den Ray tracing-Algorithmus! Nennen Sie alle Farbberechnungen. (67) F3 Wie berechnet man den Refraktions-Strahl? (68) 2 Nennen Sie ein paar Verfahren, mit denen sich Ray Tracing beschleunigen lässt! (69) 2 Nennen Sie drei Arten von Bounding Volumes und die jeweiligen Vor- und Nachteile! Gibt es ein optimales Bounding Volume? (69) F2 Wie schneidet man eine Box (ein Trapezoid) mit einem Strahl? (69) F2 Wie schneidet man eine Kugel mit einem Strahl? (69) 2 Nennen Sie drei Arten von räumlichen Unterteilungen (spatial subdivisions) zur Beschleunigung von Ray Tracing und nennen Sie die Vor- und Nachteile! Wie lassen sie sich jeweils noch beschleunigen? (70) 3 Wofür setzt man Super-Sampling beim Ray-Tracing ein? Beschreiben Sie drei Möglichkeiten und nennen Sie deren Vor- und Nachteile! (71) 2 Welche Komplexität hat Ray-Tracing und wieso wird es irgendwann effizienter als Lokale Beleuchtungs-Methoden? (71) 2 Wieso reicht Ray-Tracing nicht aus, um Globale Beleuchtung zu berechnen? Welche Effekte fehlen? (71) Image Transformations 1 Was hat die Fourier Analyse mit Bild-Transformationen zu tun? (72) 2 Erklären Sie die Terminologie der Fourier Analyse. (72) 2 Wie hängt die Fourier Analyse mit Basis-Transformationen zusammen? (72) F2 Erläutere die kontinuierliche und inverse kontinuierliche Fourier-Transformation! (72) F1 Wie ist die Faltung zwischen zwei Funktionen definiert? F2 Was besagt das Faltungstheorem der Fourier-Analyse? Wie kann man eine Faltung demnach auffassen? (74) F3 Erläutern Sie die 1D diskrete Fourier-Transformation! Wie lautet das diskrete Faltungstheorem? (74) F2 Erläutern Sie die 2D diskrete Fourier-Transformation! (76) Finite Response Filters (FIR) 1 Was ist ein 'Finite Response Filter'? Nennen Sie ein paar Beispiele. Was ist die Grundidee bei der Erstellung von Filtern in Bezug auf die Fourier Transformation? (75) F2 Erklären Sie die 1D und 3D Averaging-Filter (zwei Typen)! (75-76) F3 Erklären Sie die 1D Differenzierungs-Filter! (75) F1 Wie lassen sich Filter kombinieren? Erläutern Sie dies am Beispiel eines Hochpassfilters! (75) F2 Erläutern Sie verschiedene 2D Differenzierungs-Filter! (76) F1 Wie lautet der 2D-Laplace-Filter und was stellt er dar? (77) F3 Erklären Sie anhand von Fourier Transformationen, wie es allgemein zu Alias-Fehlern kommt! (77) F2 Wie lautet das Nyquist-Kriterium und was sagt sie aus? (77) Non-linear Filters 1 Nennen Sie drei nicht-lineare Filter! (79) F2 Erklären Sie den Perona-Malik Smoothing Filter! (79) F2 Erklären Sie den Median-Filter. Was unterscheidet ihn von einem einfachen Averaging-Filter? (79) F3 Erläutern Sie ausführlich die Histogram-Equalization! (79) Morphological Operators F1 Was ist ein morphologischer Operator? Worauf arbeitet er? (80) F2 Erläutern Sie alle bekannten morphologischen Operatoren! (80) Geometric Transformations 1 Warum kann man Pixelpositionen nicht einfach transformieren? (80) 3 Wie funktionieren geometrische Transformationen und wie lassen sie sich entscheidend verbessern. Worin liegen die Vorteile der Verbesserung? (80) Color Coding 1 Was ist die Motivation von Color Coding? (81) Color Reduction 1 Welche Wege gibt es allgemein, die Anzahl der Farben bzw. den benötigten Speicherplatz zu reduzieren? (81) F2 Erklären Sie das Prinzip der Quantisierung! (81) 1 Wieso benutzt man beim R3G3B2-Format nur zwei Bits gerade für Blau-Anteil (und nicht für Rot oder Grün)? (81) F2 Erläutern Sie das Prinzip der Farbtabellen! Worin besteht die größte Herausforderung bei diesem Konzept? (81) A3 Erläutern Sie den Median-Cut-Algorithmus! (82) F2 Was ist Dithering und wie funktioniert es? (82) 2 Erläuteren Sie ein paar naive Ansätze zur Umsetzung von Dithering! (83) F2 Erklären Sie Dispersed Dots Dithering und Clustered Dots Dithering! Wo liegen die spezifischen Stärken und Schwächen? (84) A3 Erklären Sie die Floyd-Steinberg Error Diffusion! (84) Image Compression 1 Was ist die Idee hinter der Bildkompression? (85) 1 Erläutern Sie die Begriffe Data, Coding und Compression in Bezug auf Kompression! (85) A2 Erläutern Sie das Verfahren 'Run Length Encoding'! Was sind Best und Worse Case? (85) A2 Erläutern Sie das Verfahren 'Operator Encoding'! Was sollte man in Bezug auf die Anzahl der Operatoren beachten? (86) F3 Was ist Entropy (allgemein und mathematisch) und was verbirgt sich hinter dem Entropy Encoding? (86) A3 Erläutern Sie das 'Huffman Coding'! (87) Wavelets 1 Wieso ist die Wavelet-Basis besser für die Bildkompression geeignet als die Fourier-Basis? (87) F2 Wie sind Wavelets definiert? (88) F3 Wie ist die Haar-Wavelet-Basis definiert? Wie kann man einzelne Basen ineinander überführen? (88) A3 Wie funktioniert die diskrete Haar-Wavelet-Analyse und wie die Synthese? (89) 2 Wie funktioniert die 2D-Haar-Wavelet-Transformation? 2 Wieso lässt sich ein Bild, das in die Haar-Wavelet-Basis transformiert wurde, besser komprimieren? (89) 2 Wie funktioniert die verlustlose und wie die verlusthafte Kompression eines Bildes mittels einer Haar-Wavelet-Transformation? (89) 2 Was versteht man unter der progressiven Übertragung eines Bildes? Inwieweit ist die Wavelet-Basis geradezu optimal für diese Form der Übertragung? (90)