Beruflich Dokumente
Kultur Dokumente
at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Altfragenmix CG
Seite 1/31
Computergrafik Vo Seite 1
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 2/31
Computergrafik Vo Seite 2
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 3/31
Computergrafik Vo Seite 3
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 4/31
Computergrafik Vo Seite 4
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 5/31
Computergrafik Vo Seite 5
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Sowohl Image-Order- als auch Object-Order-Verfahren werden genutzt, um aus einer virtuellen Szene ein Bild zu erstellen (=Rendering). Dabei ist die
Position/Orientierung des visuellen Betrachters bekannt und das Bild der Szene, das der visuelle Betrachter sehen würde ist gesucht.
Dafür gibt es zwei Möglichkeiten in der Bildsynthese, um ein Abbild zu erzeugen, diese unterscheiden sich vor allem in der Reihenfolge der Vorgehensweise:
• Object-Order:
"was sehe ich wo" => Ein Objekt wird nach dem anderen gezeichnet.
In einem Raster wird das erste Objekt der Szene betrachtet und in eine Menge von Pixeln umgewandelt.
Das nächste Objekt wird betrachtet und ebenfalls in eine Menge von Pixeln umgewandelt.
Computergrafik Vo Seite 6
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Anwendung: (Triangle-Rasterization)
Object-Order Renderingverfahren:
Rasterization:
– Verwendung zur Objektrepräsentation – Im Grunde wird ein Objekt abgetastet und projiziert, sodass festgelegt wird, wo das Objekt im Bild zu finden ist.
Einteilen des Raumes in Objekte z.B. mit Regular Grid, Octree oder Bounding Box Volume, dann wenn das Objekte eingeteilt ist, wird das Objekt abgetastet und
die Stelle im Bild gespeichert. Zur Tiefendarstellung wird ein Z-Buffer verwendet.
• Image-Order:
"wo sehe ich was" => Reihenfolge des Bildes wird befolgt, ein Pixel nach dem anderem im Raster wird betrachtet.
Die Pixel werden der Reihenfolge nach durchwandert, bis ein Objekt getroffen wird.
• Beschreiben Sie den Vorgang beim Raytracing/Raycasting (Image-Order-Renderingverfahren) im Detail bis zur Shading-Ebene.
• Verwenden sie folgende Begriffe in ihrer Antwort Pixel als Punkt in der Bildebene und Oberflächenpunkt als Punkt auf Objekten in der 3D-Szene:
Raytracing:
○ Sampling
Beim Raytracing handelt es sich um einen digitalen Samplingvorgang
Das Bild wird pixelweise abgetastet; für jeden Bildpunkt werden diese Schritte befolgt:
Seite 7/31
Computergrafik Vo Seite 7
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
○ Kamera
▪ Es wird eine vereinfachte Form der Pinhole Kamera verwendet, bei der die Bildebene vorne liegt. Verwendet wir die perspektivische Projektion, die
Bildebene steht dabei normal auf die Sichtrichtung. Damit ergeben sich unterschiedliche Bilder je nach Field of View und Verzerrung.
▪ Field of View:
Das Field of View kann durch den Öffnungswinkel α=2arcustan(h/2d) beschrieben werden.
Wie groß ein Objekt im Bild erscheint ist abhängig von der Distanz des Objektes und der Distanz der Bildebene.
○ Strahlen
▪ Es wird ein Strahl wird mit der Formel ( ) = + beschrieben
• P beschreibt den Ursprung
• D beschreibt die Richtung
• T ist der Strahlparemeter
○ Virtuelle Kamera:
• Die Position der Kamera im Raum ist angegeben durch den Punkt e
• die Ausrichtung im Raum lässt sich durch die Basis -Vektoren u,v und w herleiten
• die Bildebene ist parallel zur u/v-Ebene mit w = -d.
• Die Bildebene ist definiert als l,r,b,t (left, right, top, bottom), wobei meist gilt l = -r, b = -t.
▪ Strahlerzeugung:
Bei der perspektivischen Projektion ist hingegen die Größe über die Entfernung definiert, da sich die parallelen Linien in den Fluchtpunkten treffen.
○ Beschleunigungsdatenstruktur:
Raytracing ist sehr rechenintensiv daher ist dies notwendig.
Zur Schnittpunktfindung müssen alle Objekte gegen den Strahl getestet werden. Für jeden gefundenen Schnittpunkt muss die Schnittpunktdistanz t
gespeichert werden und ein Größenvergleich stattfinden, um den kleinsten Schnittpunkt zu finden.
▪ Beschleunigungsdatenstruktur betrachtet nur jene Objekte, die potentiell getroffen werden können, was die Berechnung erheblich beschleunigt.
Octree => Bounding Volumes können für weitere Beschleunigung verwendet werden.
○ Lichtquellen:
▪ Flächenlichtquelle:
Licht tritt in jeden Punkt aus verschiedensten Richtungen auf => weiche Schatten
Sehr aufwendig und nur in trivialen Fällen analytisch zu lösen => Vereinfachungen notwendig
▪ Punktlichtquelle:
Lichtquelle wird infinitesimal klein => Nachteil harte Schattenbildung
▪ Spotlight:
Kegelförmiger Lichtbereich ähnlich Punktlichtquelle, selbe Nachteile
▪ Gerichtete Lichtquellen:
▪ Lichtquelle unendlich weit entfernt => Licht kommt in jedem Punkt aus derselben Richtung
○ Shading:
Bestimmung der Farbe des ausgesandten Strahls, wobei die Beleuchtung am getroffenen Punkt ausgewertet und die zur Kamera reflektierte Farbe
berechnet wird.
Im Gegensatz zur Natur wird in der Computer Grafik die Reflexion des Lichts beim Auftreffen auf ein Objekt statistisch angenähert (alle Richtungen sind
gleichverteilt):
Natur vs. Computergrafik
▪ Reflexion:
Seite 8/31
Computergrafik Vo Seite 8
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
▪ Reflexion:
▪ Brechung:
▪ Lambert Shading:
Beim Lambert Shading geht man davon aus, dass man perfekt diffuse Reflektoren hat, welche das einfallende Licht gleichmäßig in alle Richtungen
streuen, unabhängig von der Blickrichtung, nur abhängig von der Orientierung der Oberfläche zum Licht. Die auf die Oberfläche einfallende
Strahlendichte ergibt sich dann zu cos . Es gilt dann = ° ° max( ∙ , 0) , wobei der diffusen Farbe entspricht, der Lichtfarbe und n
dem Normalvektor auf die Ebene und l dem Richtungsvektor zur Lichtquelle.
Man erhält mit dem Lambert Shading Abbildungen wie hier zu sehen, bei welchen klar erkennbar ist um welche Typen von Körper es sich handelt und
von woher das Licht kommt.
▪ Phong Shading:
▪ Die Idee ist, die Richtung des reflektierten Lichts zu berechnen und daraus Highlights abzuleiten, je direkter die reflektierte Lichtrichtung zum
Betrachter, desto stärker das Highlight.
▪ Als Maß für die Stärke des Highlights wird (cos( )) verwendet, der Winkel gibt dabei den Winkel zwischen reflektierter Lichtrichtung und
Blickrichtung an.
▪ Auch Superposition mehrerer Lichtquellen ist möglich:, zum ambienten Anteil wird die Summe der spekulären und diffusen Anteile addiert.
Phong-Shading Modell:
• Aus welchen Termen setzt sich das Phong-BeleuchtungsmodeII zusammen und
• wie werden diese üblicherweise berechnet? 2) Welche Parameter des Modells werden
• dabei normalerweise pro Oberfläche definiert? 3) Beschreiben Sie die Parameter des
• Modells und ihren Einfluss auf das Ergebnis. [6 Punkte]
Computergrafik Vo Seite 9
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
m Oberflächenbeschaffenheit/Rauheit/Glanz (specular Power) rau: n<32, glatt: n>32, perfekter Spiegel n=∞
IL Lichtfarbe
Ia Ambiente Lichtfarbe
L Ausgehende Lichtintensität
Terme:
Siehe oben für die enthaltenen Terme
Visuelle Phänomene:
Nur das Phong Modell ist in der Lage Highlights zu reproduzieren, für diese wird nämlich spiegelnde Reflexion benötigt, welche nur im Phong Modell umgesetzt
sind.
Um die Highlights zu erhalten berechnet man die Richtung des reflektierten Lichts. Je stärker die reflektierte Richtung zum Betrachter zeigt, desto stärker ist das
Highlight zu sehen.
• Wie unterscheidet sich Gouraud-Shading von Phong-Shading? Was ist Flat Shading? Wann wird welches von beiden benutzt?
Gouraud-Shading:
Berechnet Beleuchtung pro Vertex und interpoliert diese über ein Polygon bzw. betreibt Interpolation der Farbe.
Wird verwendet wenn gute Performance wichtig ist, liefert schlechtere Qualität als Phong -Shading.
Phong-Shading:
Interpolation der Normalvektoren. Die Beleuchtung wird pro Pixel berechnet.
Wird verwendet, wenn gute Qualität wichtig ist. Ist rechenaufwendiger als das Gouraud -Shading, liefert aber auch bessere Ergebnisse.
Flat-Shading:
Bei Flat Shading erfolgt eine Beleuchtung pro Polygon, während aber keine Interpolation stattfindet. Schlechteste Darstellung , aber schnellste.
Früher verwendet.
Bildschirme:
• Beschreiben Sie die Funktionsweise eines LCD-Bildschirmes. Wie wird die Darstellung eines Farbbildes auf einem LCD erreicht?
Seite 10/31
Computergrafik Vo Seite 10
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
• Beschreiben Sie die Funktionsweise eines LCD-Bildschirmes. Wie wird die Darstellung eines Farbbildes auf einem LCD erreicht?
• Beschreiben Sie die wesentlichen Komponenten des LCD-Bildschirmes?
Ein Liquid Crystal Display kontrolliert die Menge des durchgelassenen Lichtes durch die Polarisation von Flüssigkristallen.
Farben können ohne die Hintergrundbeleuchtung nicht dargestellt werden. Für die unterschiedliche Polarisation sind lange orga nische Moleküle
zuständig, die mithilfe eines elektrischen Feldes oder mithilfe von Wärme ausgerichtet werden können.
Wie aus der Skizze zu entnehmen, tritt das Licht durch den ersten Polarisator in den mit Flüssigkeitskristallen gefüllten Rau m über. Dort wird es um
90 Grad gedreht, falls die Flüssigkeitskristalle mit Spannung angeregt wurden. Erst, wenn das Licht um 90 Grad gedreht wurde, kann es die Kammer
über den zweiten um 90 Grad gedrehten Polarisationsfilter verlassen. Sind die Flüssigkeitskristalle nicht durch Spannung ange regt, tritt kein Licht
aus. Bei LCD-Bildschirmen kommen unterschiedliche Farbschemen, die Variationen von RGB sind (RGBW, RGBG, RGB Delta Triade) bzw. durch 3
farbige Subpixel.
Die Hintergrundbeleuchtung ist mithilfe eines Rasters aus weißen LEDs verwirklicht.
• Beschreiben Sie die Funktionsweise eines OLED-Bildschirmes? Wie wird die Darstellung eines Farbbildes auf einem OLED -Bildschirm erreicht?
• Beschreiben Sie die wesentlichen Komponenten des OLED-Bildschirmes?
• Was sind die Unterschiede zwischen OLED und LCD?
OLED bedeutet Organic Light Emitting Diod. Solche Bildschirme sind sehr teuer (meist im Smartphone -Bereich eingesetzt). Das Display funktioniert
mithilfe von organischen Verbindungen zwischen den Elektroden, welche selbstleuchtend sind. Dabei kommen für unterschiedliche Farben
unterschiedliche Elemente zum Einsatz, wobei die Helligkeit über die zugeführte Spannung geregelt wird.
Auch Krümmungen der Bildschirme sind möglich.
Der große Unterschied zwischen OLED und LCD ist, dass OLED selbstleuchtend ist und deshalb im Gegensatz zu LCD über keine
Hintergrundbeleuchtung verfügt. Weiters ist OLED in der Lage die besseren Schwarzwerte zu liefen, da einzelne Pixel über die Spannung angesteuert
werden .
Eine kostengünstigere Variante zum OLED ist der Mikro-LED-Bildschirm, bei dem der Hintergrund mit winzigen LEDs ausgeleuchtet wird.
• Beschreiben Sie die Funktionsweise von einem CRT-Monitor. Was sind die wesentlichen Komponenten?
Cathode Ray Tube Bildschirme haben ein ähnliches Prinzip wie Vektorbildschirme. Der Bildschirm besitzt beim CRT -Monitor eine fluoreszierende
Schicht aus Phosphor. Diese wird mithilfe eines Elektronenstrahles erregt, welcher magnetisch abgelenkt wird, wodurch man qua si mit einem Strahl
auf der Bildoberfläche Farbreize erzeugen kann. Phosphor leuchtet nach, somit bleibt eine kurze Leuchtspur bestehen. Untersch iedliche
Phosphortypen wurden für Farbe verwendet. Farbdarstellung in RGB wurde somit realisiert. Die Ablenkung durch den Magneten kan n beliebig
gesteuert werden, indem das Magnetfeld verändert wird, kann auch der Elektronenstrahl gezielt gelenkt werden.
In Rasterbildschirmen war der Elektronenstrahl dann schnell genug, um zeilenweise den gesamten Bildschirm abtasten zu können. Auch eine
Farbdarstellung ist somit realisierbar. Die Rasterauflösung führt den Term Pixel = Picture Element ein.
Projektoren:
Computergrafik Vo Seite 11
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
• Beschreiben Sie die Funktionsweise eines LCD-Projektors.
• Wie kann mit LCD ein Farbbild projiziert werden?
Im Wesentlichen besteht der LCD-Projektor aus drei LCD-Panels, wobei eines davon von einer Lichtquelle angeleuchtet wird. Dies führt zu einer
Aufspaltung des Lichtes. Dieses wird mithilfe von Spiegeln auf ein Prisma umgeleitet, in dem sich 3 LCD Chips befinden, die d ie Lichtpunkte
verstärken oder abschwächen. Über eine Linsenoptik wird dann ein Bild in den Raum geworfen, trifft auf eine Bildwand auf und erzeugt dort dann
eine Abbildung.
• Beschreiben Sie die Funktionsweise eines DLP-Projektors. Wie kann mit DLP ein Farbbild projiziert werden?
DLP = Digital Light Processing diese werden vor allem für leistungsstarke Projektoren verwendet.
Ein DLP-Projektor nutzt einen Chip, der auf der Oberfläche kleine Spiegel besitzt. Diese kleinen Spiegel können magnetisch ein - und ausgeschaltet
werden (programmierbar). Man wirft ein starkes Licht auf diesen Chip. Von diesen parallelen Lichtstrahlen werden einige zur L insenoptik
weiterbefördert und der Rest zur Seite abgestrahlt. Somit kann pro Bildpunkt das Licht ein -und ausgeschaltet werden. Der Ein-
Ausschaltmechanismus arbeitet sehr schnell (bis zu 1000-Mal pro Sekunde). Um Farbe zu erzeugen kommen dieselben Mechanismen wie beim LCD -
Projektor zum Einsatz. Es werden entweder ein Farbrad oder 3 DLP-Chips verwendet, die über eine Prismenoptik kombiniert werden.
Vorteile:
○ Besserer Schwarzpegel als die LCD-Projektoren (abgelenktes Licht kommt nicht mehr durch die Linse auf die Bildleinwand => bessere
Schwarzwerte als bei LCD, wo es immer ein Residuallicht gibt, also ein Teil des Lichts tritt immer durch. Der Flüssigkeitskristall kann dieses
abgestrahlte Licht nicht durchlassen, wodurch ein schwarz eher zu einem dunklen Grau wird. )
Dreiecksnetzrepräsentationen:
Gängige Dreiecksnetzrepräsentationen:
○ Unabhängige Dreiecke => (Triangle Soup) Sammelsurium aus Dreiecken
○ Indiziertes Dreiecksset => Vertices die miteinander referenziert sind
○ Triangle Strip und Triangle Fan => Kompressionsschemas für Grafikhardware
○ Datenstrukturen mit Nacharschaftsinfos => Ermöglicht effiziente Nachbarschaftsabfragen
○ Winged-Edge => Effiziente Abfrage und Speicherung
Speichern eines zusammenhängenden Dreieck-Netzes in eines Datei bei möglichst kleiner Dateigröße:
Ich würde die Triangle Strips verwenden.
Dabei werden die Eigenschaften des Dreiecks verwendet, um den Speicheraufwand zu minimieren:
○ Für lange Triangle Strips muss somit nur ein Index pro Dreieck gespeichert werden.
○ Man hat somit ein Array von Vertex Positionen (12 Bytes pro
Vertex) sowie ein Array von Indexlisten, insgesamt benötigt man im bestmöglichen Fall nur
mehr 20 Bytes pro Vertex, ist fast nur mehr ein Viertel des Verbrauchs von unabhängigen
Dreiecken und fast die Hälfte besser als das indizierte Dreiecksset. Bei einem Triangle Fan
kommt die gleiche Idee ins Spiel, jedoch wird hier der Älteste anstatt des Neuesten verwendet.
Seite 12/31
Computergrafik Vo Seite 12
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
▪ Triangle Soup => Sehr ineffizient heute größtenteils nicht mehr in Verwendung
• Gegeben ist ein Array A an Vertex Positionen als eine unabhängige Liste an Dreiecken ("Triangle Soup) in 2D, konvertieren Sie diese
Repräsentationen in ein indiziertes Dreiecksset:
Ein indiziertes Dreiecksset hat zwei Datenstrukturen, die Vertices (Punkte) und die Triangles (Dreiecke). Zuerst wird somit die Vertices Struktur
erstellt diese lautet wie folgt:
• Gegeben seien ein Dreieck durch die Position seiner drei Eckpunkte(Vertices) Beschreiben Sie einen Algorithmus
zur Rasterisierung des Dreiecks? Geben Sie die notwendigen Schritte pro Dreieckskante, pro Scanline und pro
Pixel an?
Dazu würde man den Scanline Algorithmus verwenden. Dieser wandert entlang der Y-Achse das Polygon ab und
sortiert die auftretenden Eckpunkte. Anschließend wird für jede Pixelzeile horizontal in die X-Richtung
durchgegangen.
Für jede Kante wird eine Liste erzeugt, in der die Start-und Endpunkte jeder Scanline abgespeichert werden.
Für jede Scanline werden die zwischen Start-und Endpunkte liegenden Pixel aufgefüllt.
Wichtig sind die Eckpunkte. Der Algorithmus nutzt Kohärenz i.A.
Wichtig: Zuerst werden die Eckpunkte sortiert !!! Zumindest beim Dreieck (besteht aus Flat, Top, Bottom)
Die Start und End-Pixel der obersten beiden Kanten sind bereits markiert.
Es werden die Pixel ausgewählt, die eine Scanline bilden, welche noch mit Pixel auszufüllen sind.
Seite 13/31
Computergrafik Vo Seite 13
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Dabei geht sie von links nach rechts vor. (Anzahl der zu füllenden Pixel ist in der Start-End-Liste abgespeichert.)
Die Scanlines werden durchgegangen und wieder jeweils von Start bis Ende gefüllt. Links wird ein Eckpunkt erreicht und somit
eine neue Kante von Scans benötigt.
Wieder werden die Pixelwerte aufgefüllt, bis die Linie geteilt werden muss. Erneut werden die Die Start- und Endpunkte gesucht.
Nun Sind jeweils zwei Intervalle aufzufüllen. Nun wird von links nach rechts aufgefüllt bis zum letzten Eckpunkt.
Dieser Algorithmus ist effizient wenn man mit wenig Parallelität oder sequentiell arbeiten möcht
Dreieck:
Alternative:
Paralleles Füllen
Seite 14/31
Computergrafik Vo Seite 14
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Paralleles Füllen
Über verwandeln der Geradengleichungen der Kanten des Polygons in Ungleichungen, können die Bereiche im Polygon und außerhalb beschrieben werden (Unterteilung in Halbräume).
Alles was nicht im Bereich der roten Halbebenen liegt, muss in der grünen Ebene liegen und ist damit Teil des Polygons.
Nach Betrachten der ersten kante können alle Pixel, die nicht innerhalb des Polygons liegen entfernt werden:
Die Punkte die Überbleiben sind jene, die innerhalb des Polygons liegen:
Um den Bereich einzugrenzen in dem das Polygon generell liegt nutzt man die Warnock Subdivision:
Seite 15/31
Computergrafik Vo Seite 15
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Rote Bereiche können direkt verworfen werden, grüne liegen innerhalb des Polygons.
Nur in den Blauen Bereichen müssen somit die Pixelweisen Kantentests ausgeführt werden.
Wenn nun eine Linie durch den Mittelpunkt geht, wird der Algorithmus in C befolgt:
Z-Buffer/Depth Buffer:
• Was ist ein Z-Buffer und wofür wird er eingesetzt?
• Welche Probleme können bei der Verwendung eines Z-Buffers auftreten und welche Parameter könnte man anpassen, um diese vielleicht in den Griff zu bekommen?
Der Z-Buffer ist speicheraufwendig, aber die schnellste Methode um das Depth-Problem zu lösen. Er arbeitet Pixelparallel.
Die Darstellung basiert auf Pixel, deshalb löst der Z-Buffer die Tiefenabhängigkeiten pro Pixel. Alle Probleme die sich pro Pixel darstellen sind gut beschleunigbar.
○ Lösen der Tiefenabhängigkeiten pro Pixel => eigentlich Painter`s Algorithmus pro Pixel wird ausgeführt. Mit Online Tiefensortierung. Ergebnisse müssen nicht
zwischengespeichert werden, da man nur am nächsten Objekt interessiert ist, das am nächsten zur Kamera liegt.
○ Das Objekt am nächste zur Kamera wird herausgesucht, während die anderen restlichen Objekte nicht mehr von Interesse sind. Somit wird nur Speicher für das jeweils am nahe
liebendste Objekt benötigt.
○ Wenn man alle Objekte durchgearbeitet hat und immer den am nächsten zur Kamer liegenden Punkt davon behalten hat, ist man fertig.
○ Das Zeichnen der Objekte kann nun also in beliebiger Reihenfolge passieren.
▪ Man speichert pro Pixel die Tiefe des am nächsten bei der Kamera liegenden Objektes ab.
▪ Ist ein Pixel eines folgenden Objektes näher zur Kamera als bisher, so wird einfach der alte Pixelwert überschrieben, sowie d er Pixelfarbwert überschrieben und die Tiefe
aktualisiert.
▪ Ist der Pixel des neuen betrachteten Objektes weiter entfernt von der Kamera, so wird dieser Pixelwert des neuen Objektes ign oriert und jener des davor behandelten
Objektes, am nächsten zur Kamera liegender Pixel beibehalten.
▪ Als Ergebnis wird somit pro Pixel das Objekt mit der kleinsten Tiefe (am nächsten zur Kamera) bestimmt.
○ Der Kostenaufwand ist ein Buffer in der Bildschirmgröße, in dem diese Tiefenwerte abgespeichert werden.
• Erklären Sie und vergleichen sie den Z-Buffer mit der Depth Sorting Methode/Painters Algorithm:
Painters Algorithm:
Die Objekte werden eines nach dem anderen von hinten nach vorne gezeichnet. Die Tiefenabhängigkeit wird als gerichteter Graph beschrieben:
Seite 16/31
Computergrafik Vo Seite 16
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Ist der gerichtete Graph ist schleifenfrei und somit kann die Darstellung von hinten nach vorne dem Graphen ent
lang verwirklicht werden.
Mit Zyklen kann der Painters Algorithmus nur sehr schlecht umgehen, deshalb müssen hier die Objekte wenn sie sich überlappen einzeln analysiert und "Zerschnitten" werden, bevor
mit der Darstellung begonnen werden kann.
Die ist langsam und aufwendig, weswegen der Painter`s Algorithmus nicht mehr in Verwendung ist.
Transformationsmatrizen berechnen:
Seite 17/31
Computergrafik Vo Seite 17
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 18/31
Computergrafik Vo Seite 18
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 19/31
Computergrafik Vo Seite 19
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 20/31
Computergrafik Vo Seite 20
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 21/31
Computergrafik Vo Seite 21
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 22/31
Computergrafik Vo Seite 22
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Es handelt sich hierbei um eine Implizite Darstellung eines Volumensmodells. Es werden Mengenoperationen auf geometrische Gru ndkörper angewandt.
Objekte werden als Konstruktionsvorschrift ausgeführt (Baum). In den Blättern des Baumes befinden sich simple Grundkörper wie Quader, Kugel und Zylinder.
Diese können unterschiedliche Farben und Bemaßungen besitzen. In der Zwischenebene wird über Boolsche Operatoren die Schnittm enge gebildet.
Nun werden der Baum, die geometrischen Zwischenkörper und deren Attribute sowie die Boolschen Operatoren ( Vereinigung und Differenz) zwischengespeichert.
Rasterisierung:
• Berechnet ein Dreieck nach dem anderen.
• Rendert 2D-Bilder aus 3D Szenen mittels Scanline-Algorithmus.
• Bestimmt werden Objekte nacheinander über Dreiecke mit ihren Vertices. Es werden die Vektoren der aufgespannten Dreiecke berechnet. => Scaline, Tiefenbuffer, Clipping usw.
• Nutzung: verarbeitetet, projizierte und transformierte Geometrie wird mit Beleuchtungsinformationen versehen. Zu den Koordinaten der Pixelwerte werden auch die
Tiefeninformationen gespeichert. Durch die Rasterisierung wird die Farbe der einzelnen Pixel bestimmt. Ziel der Rasterisierung ist es die Bedeckung der Pixel innerhalb der Geometrie
sowie die Shading Informationen zur Farbgebung zu verarbeiten und in 2D darzustellen. Es werden also Vektorbilder zu Rasterbildern verarbeitet. Häufiger verwendet da einfacher.
• Sichtbarkeitsproblem: Tiefenproblem wird über Depth Buffer gelöst, der Tiefeninformationen speichert.
Seite 23/31
Computergrafik Vo Seite 23
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Ray Tracing:
Für jeden Bildpunkt wird ein Strahl in die virtuelle Szene geschossen (durch den Pixelmittelpunkt) und der Schnittpunkt mit d em nächsten Szenenobjekt berechnet. Der Strahl hat seinen
Ursprung dabei in der Kamera. Das Aussehen des Objektes wird berechnet, sowie dessen Farbe im Pixel hinterlegt. Auch Reflexio nen und Schattierung usw. werden bestimmt
Ein Strahl wird so nach dem anderen verarbeitet, bis die gesamte Szene abgearbeitet ist.
Sichbarkeitsproblem: Bei mehreren Objekten wird der Schnittpunkt genutzt, der am nächsten zur Kamera liegt
Computergrafik Vo Seite 24
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
• Beziehen Sie sich auf die Komplexität der Struktur, sowie auf die Effizient basiernd auf unterschiedlichen Verteilungen von Objekten.
Um etwa die grüne Struktur zu beschreiben sind nur zwei Knoten notwendig, da nur der Oktant 6 weiter unterteilt wird. Nach Ab arbeiten mit der Tiefensuche erhält man eine rekursive
Liste.
• Vorteile: gut handzuhaben, einfach kombinierbar, schnelle Darstellung sowie eine räumliche Suche sind möglich.
• Nachteile: Ungenaue Repräsentation, niedrige Bildqualität, Hoher Speicherverbrauch. Werden deshalb für Raumverzeichnisse genutzt.
• Nennen Sie zwei Typen von Aliasing Artefakten in der Computergrafik (Skizze) sowie zwei weitere Arten von Antialiasing und beschreiben Sie diese:
• Geben Sie zwei Beispiele von Problemen die durch Aliasing entstehen können?
• Nennen Sie zwei störende Aliasing Phänomene beim Sampling von Rasterbildern und skizzieren Sie diese. Geben Sie dabei ein zeitliches (sichtbar über mehrere Frames) und ein
räumliches (sichtbar über mehrere Pixel) Phänomen an
• Beschreiben Sie jeweils eine Möglichkeit um dieses Phänomen zu unterdrücken.
• Erklären Sie die Probleme, die bei der Verwendung von "ein Pixel breiten Linien" auftritt, wenn eine korrekte Intensitäswiedergabe gefordert ist. Welche Lösungsmöglichkeiten gibt
es, bitte verdeutlichen Sie in einer Skizze?
Aliasing beschreibt das Problem, dass falsche niedrige Frequenzen auftreten durch Abtast und Rekonstruktionsprobleme!!
Seite 25/31
Computergrafik Vo Seite 25
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
• Das gezeugte Objekt wird über die Zeit dicker und dünner
• Wagon Wheeling aufgrund zu geringer FPS (Räder bewegen sich scheinbar rückwärts)
• Color Banding aufrund zu geringer Farbraumtiefe => Farbränder sind sichtbar und störend (hier im Farbraum von nur 16 Farben)
• Moire Pattern Oberflächenmuster die mit zusätzlichen Schlieren und störenden Mustern versehen werden
Seite 26/31
Computergrafik Vo Seite 26
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
•
=> Sichtbar weniger Aliasing, weichere Kantenübergänge
• Coverage Sampling: Störendes Aliasing an Bereichsgrenzen entfernen durch berechnen des Überdeckungsgrades pro Pixel.
• Jittering: Verrutschen der Pixelwerte in X-Und Y-Richtung liefert zwar auch verrauschtes Bild aber weniger störend.
• Erklären Sie das Problem, das bei der Verwendung von „ein Pixel breiten" Linien auftritt,
wenn eine korrekte Intensitätswiedergabe gefordert ist. Welche Lösungsmöglichkeiten gibt
es für dieses Problem? Bitte verdeutlichen Sie Ihre Antwort anhand einer Skizze!
Hierbei handelt es sich um ein Aliasing Problem nämlich führt die Verwendung von unterschiedlich langen Linien bei gleicher A nzahl an Pixel zu unterschiedlichen Intensitäten.
Z.B beim Zeichnen diagonaler Linien
Es muss somit coverage sampling für Linien betrieben werden. Die Linie wird in ein Rechteck verwandelt, sodass man in der Diagornale zur Darstellung der Linie mehr als nur 3 Pixel zur Verfügung hat:
Seite 27/31
Computergrafik Vo Seite 27
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Transformationspipeline:
• Skizzieren Sie die Transformations-Pipeline ausgehend von einem Punkt an einem 3-D Modell bis hin zum endgültigen Punkt auf der Bildebene.
• Wofür wird die Projection Matrix verwendet?
• Was ist der Unterschied zwischen einer orthographischen Projektion und einer perspektivischen Projektion?
• Wie kann die Kameratransformation V mit gegebener Kameraposition pcamera, Lookat-Point plookat und Up-Vektor vup berechnet werden?
• Geben Sie notwendige Zwischenergebnisse an.
Transformations-Pipeline:
Projection Matrix:
Gamma Kodierung:
Zunächst ist wichtig zu bedenken, dass sich die Farbwahrnehmung logarithmisch verhält.
Deshalb liegt beim Menschen eine höhere Lichtempfindlichkeit in dunkleren Bereichen vorliegt.
Ziel ist, dass die Intensitätsabstufungen der Grauwerte, die ein Bildschirm zeigt linear den Zahlenwerten entspricht.
Um dies zu erreichen werden mehr Bits auf den niedrigen Intensitäten verwendet, da dort der Mensch ja selbst feiner Helligkei tsunterschiede wahrnehmen kann.
Seite 28/31
Computergrafik Vo Seite 28
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Hat man Gammakodierung (Bilddaten) die einer logarithmischen Kurve folgen und eine Dekodierung (Anzeigegerät), das einer Expo nentialfunktion folgt, erhält man eine lineare Abstufung.
Backface Culling:
• Was ist Backface Culling, was möchte man mit Backface Culling betreiben?
• Bei Oberflächenmodellen ist das Innere der Objekte nie sichtbar
• Deshalb => Nur jene Bereiche zeichnen, die zur Kamera zeigen
• Implementierung nach Test mit Oberflächennormale n und Viewingvektor v.
• Dadurch können 45% der geometrischen Primitive eliminiert werden.
Wie im Bild zu sehen zeigt der Viewingvektor zur Kamera und die Oberflächennormale steht senkrecht zur Primitive.
• Nun wird das Dot-Produkt der beiden zuerst normalisierten Vektoren ausgeführt.
• Ist dieses größer als 0, so wird das Ganze gezeichnet. Ansonsten wird es nicht gezeichnet, da es nach hinten zeigt.
• Generell als Faustregel zeigt alles was einen Winkel kleiner 90° zwischen v und n hat nach vorne und wird gezeichnet.
Cohen-Sutherland-Clipping-Algorithmus:
Cohen-Sutherland Linienclipping anhand des gegebenen Beispiels Schritt für Schritt erklären.
Seite 29/31
Computergrafik Vo Seite 29
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
• Bei vielen Algorithmen in der Computergrafik ist eine Unterscheidung zwischen der
„Vorder und Rückseite" eines Dreiecks notwendig.
• Wie kann der Oberflächennormalvektor
eines Dreiecks genutzt werden, um diese Unterscheidung mathematisch zu formulieren.?
• Mit welcher Methode kann man für einen gegebenen Punkt p feststellen, auf welcher Seite
eines ebenfalls gegebenen Dreiecks T er sich befindet?
Die Bestimmung der Vordern und Rückseite kann mithilfe von der Winding order oder dem Umlaufsinn eines Dreieckes bestimmt wer den.
• Die Kantenvektoren ergeben immer einen geschlossenen Polygonzug
• Die Vorderseite liegt immer links von den Kantenvektoren.
• Die Vorderseite ist dort, wo die Vertices im Uhrzeigersinn erscheinen.
• Der Normalvektor ist das Kreuzprodukt zweier Kantenvektoren
Fazit: Rehenfolge der Vertices bestimmt die Ausrichtung des Polygons
• Vergleich zwischen Bezier Kurven und B-Spline Kurven in Hinsicht auf Einfluss der Kontrollpunkte auf der Kurve. Welche Konsequenzen hat die Eigenschaft in der Praxis?
De Bezier-Kurven:
Nachteil: Jeder Punkt hat Auswirkung auf den gesamten Graphen.
Durch die Definition der Bernstein-Polynome wird jeder Punkt beachtet (siehe Formel unten).
Somit ergibt sich auch bei kleiner Punktänderung ein großer Aufwand zur neuen Darstellung.
Die Bezier-Kurven sind eine Sonderform der B-Splines.
B-Spline-Kurven:
Bei B_spline-Kurven kann angegeben werden, wie viele Kontrollpunkte der Umgebung betrachtet werden. Die Summe der Bernstein Polynome ergib t 1.
Fazit: Die Bezier-Kurven sind zwar aufwändiger in der Berechnung falls sich ein Punkt ändert, aber generell öfter verwendet, da sie besser bere chenbar sind.
Seite 30/31
Computergrafik Vo Seite 30
egiraffe.htugraz.at - Computergrafik 1 - VU
Prüfungsfragenausarbeitung SS2021
Seite 31/31
Computergrafik Vo Seite 31