Bildgenerierung Flashcards

1
Q

Scan Conversion bei Strecken- Naives Verfahren

A

Basiert auf der linearen Gleichung y = mx + b. Um eine Linie zwischen zwei Punkten (x1, y1) und (x2, y2) zu zeichnen, berechnet man zunächst die Steigung m und den y-Achsenabschnitt b. Anschließend werden für jeden x-Wert die entsprechenden y-Werte berechnet und die resultate als Pixel im Raster dargestellt.

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

Scan Conversion bei Strecken - inkrementell und unterschied reel und ganzzahlig

A

Reel:
wir nehmen m ist zwischen 0 und 1
Berechne steigung m, dann intialisiere variable akkumulator d mit 0 und iteriere über alle x werte.
Für jeden iterierten x wert wird die steigung auf d addiert, falls d > 0.5 ist (Fall NO) wird y++ und d– berechnet. Falls d <= 0.5 wird y beibehalten und die schleife geht weiter (Fall O). Anschließend wird natürlich der Pixel an den berechneten x und y koordinaten im Raster dargestellt.

Ganzzahlig:
Berechne zwischenwerte wie M = 2* (delta Y), halb = delta x, eins = 2 * halb, und initalisiere akkumulator d mit 0 und iteriere über x Werte.
Jedes mal wird m auf d addiert.
Falls d größer als “halb” ist muss y um 1 erhöht werden und “eins” von d abgezogen werden.
Anschließend wird natürlich der Pixel an den berechneten x und y koordinaten im Raster dargestellt.

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

Painters algorithmus

A

Idee: zeichne objekte von hinten nach vorne, d.h. je weiter weg desto früher wird objekt gezeichnet. Problem ist dass objekte die vollst. überdeckt würden trotzdem gezeichnet werden und sortierung schwer ist falls objekt sich schneiden (im 3d raum z.b wenn die objekte auf 2d projeziert werden)

bei polygonen
Sichtbarkeitskriterium: Wenn 𝑃𝑖 vollständig sichtbar ist und 𝑃𝑗 teilweise oder vollständig verdeckt ist, liegt 𝑃𝑖 vor 𝑃𝑗. In einem dreidimensionalen Raum bedeutet dies, dass kein Teil von 𝑃𝑗 über oder vor 𝑃𝑖 liegt, wenn Sie die Szene betrachten.

Tiefenkriterium: Die durchschnittliche Tiefe (Entfernung von einem Beobachtungspunkt, z. B. von der Kamera oder den Augen) der Eckpunkte von 𝑃𝑖 ist geringer als die durchschnittliche Tiefe der Eckpunkte von 𝑃𝑗. Das bedeutet, dass 𝑃𝑖 näher am Beobachtungspunkt liegt als 𝑃𝑗 und somit vor 𝑃𝑗 liegt.

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

Was hilft gegen Doppelpufferung

A

Gleichzeitiges Verändern und Auslesen des Bildwiederholspeichers führt zu unerwünschten Effekten.
Abhilfe: Verwende zwei Pixmaps.
Es wird immer nur die Pixmap modifiziert, die gerade nicht vom Video Controller ausgelesen wird

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

Scan Conversion bei Kreisen 2 Naive verfahren

A
  1. Naiver Ansatz_
    wähle kleine schrittweite delta t
    berechne achtel aus formel mit sinus und cosinus
    berechne alle anderen achteln aus diesen koordinaten
  2. Naiver Ansatz berechne
    y >= x ist
    inkrementiere x
    berechne y koordinate aus formel mit wurzel
    berechne alle anderen achteln aus diesen koordinaten
    -> schneller als voriger ansatz aber langsam wg. Wurzel
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Scan Conversion bei Kreisen 2 Naive verfahren 1 inkrementeller Ansatz

A
  1. Naiver Ansatz_
    wähle kleine schrittweite delta t
    berechne achtel aus formel mit sinus und cosinus
    berechne alle anderen achteln aus diesen koordinaten
  2. Naiver Ansatz berechne
    y >= x ist
    inkrementiere x
    berechne y koordinate aus formel mit wurzel
    berechne alle anderen achteln aus diesen koordinaten
    -> schneller als voriger ansatz aber langsam wg. Wurzel
  3. Inkrementeller Ansatz.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Von 3d zu geräte koordinaten

A

Im 3D-Koordinaten system können Modellierungstransformationen durchgeführt werden (Translation, Skalierung, Rotation usw.) und hat reelle Koordinaten

normalisierte Sichtkoordinaten -> 3d Clipping -> Projektion der normalisierten Sichtkoordinaten also
wird auf eine Projektionsebene projeziert (2D) mit Reelen Koordinaten

Diese Projektionsebene wird zu Geräte koordinaten umgerechnet i.d.R ganzzahlig

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

Falls Pixeldichte von Bildschirm ungleichmäßig bei Überführung von Projektionsebene auf Geräte koordinaten

A

Streckfaktor muss berechnet werden da pixel in einer richtung dichter sind als in der anderen. Dies wird beim abbilden von Projektionsebene auf Gerätekoordinaten berücksichtigt damit das Bild nicht verzerrt ist.

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

Pixelbasierter Clipping-Ansatz

A

-Algorithmus zur Darstellung von 3D-Objekten auf einem 2D-Bildschirm
-Bestimmung des Pixelbereichs, auf den das Projektionsfenster abgebildet wird
-Abbildung der relevanten Größen jedes Objekts auf Pixelkoordinaten
-Durchführung einer Scan Conversion, um die Pixel des Objekts zu erzeugen
-Überprüfung, ob jeder erzeugte Pixel innerhalb des zuvor bestimmten Pixelbereichs liegt
-Modifikation der Pixel, die innerhalb des Pixelbereichs liegen

Nachteile:
-unter Umständen unnötige Scan Conversion durchgeführt
- erlaubt kein 3D Clipping
- nur für pixel-orientierte Ausgabegeräte anwendbar
Vorteile:
- extrem einfach (auch für Hardware)
- erlaubt Clipping beliebiger Objekte; der Aufwand ist unabhängig von der Komplexität
- erlaubt Cliiping gegenüber beliebigen Flächen, nicht nur Projektionsfenster

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

2D-analytischer Ansatz

A

1.projizieren
2. abschneiden mit Projektionsfenster
3. alle sichtbaren Teilobjekte erzeugen

Vorteile:
-Scan conversion nur für sichtbare teile
-Cliiping nur einmal
-geht auch auf Vektor-orient. geräten

Nachteile:
-erlaubt kein 3D-clipping
-auch nicht sichtbaren Teile projiziert
-deutlich komplexere berechnungen, Scan conversion wird komplizierter

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

streckenclipping naiv

A

speichere alle punkte die im projektionsfenster liegen, entweder 0, 1, oder 2 in eine Liste. speichere alle schnittpunkte die die linie mit den 4 himmelsrichtungen hat in eine Liste. Falls liste nicht leer ist, dann ist die sichtbare strecke die verbindung der zwei punkten in der liste, sonst ist die linie nicht sichtbar. Probleme: Liste enthält nur einen Punkt oder Gerade schneidet eine Ecke (beide himmelsrichtungen gleichzeitig) und wird mehrfach berechnet…

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

streckenclipping cohen sutherland

A

weise endpunkten codes zu. (O.N,W,S)
wdh in einer schleife:
1. Falls Code1 und Code2 ungleich 0000
2. sind beide codes also code1 or code2 = 0000? dann ist die linie sichtbar.
3. finde erstes bit in (code1 or code2) das eine 1 ist, falls es so eine 1 gibt finde schnittpunkt mit der position des bits an position p
4. ersetze schnittpunkt mit q1 von code1, falls bit an p gesetzt ist. sonst ersetze q2 mit q

Vorteil: viele einfache fälle sind schnell ermittelt.
Nachteil viele operationen bzgl. schnittpunkte -> ineffizient

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

Strecken-Clipping nach Cyrus, Beck, Liang und Barsky

A

Idee: die Strecke sukzessive durch Schneiden mit den Fenstergeraden verkürzen, wie bei Cohen/Sutherland
aber: Schnittpunkte aus der Parameterdarstellung der Strecke gewinnen,
denn: Wenn der Parameterwert des Schnittpunkts bekannt ist, muss der Schnittpunkt selbst
oft gar nicht mehr explizit berechnet werden!

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

Polygon-Clipping nach Sutherland/Hodgman

A

Einzelne Kanten abgehen und Schnittpunkte mit dem Fenster und gebe diese als neue Ecken züruck
Hardware-realisierung: pipielining also mehrere Kanten parallel ablaufen

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

3D-analytischer Ansatz

A

Sichtvolumen = Form bestehend aus 6 ebenen als Projektionsfenster
Alles was nicht innerhalb des Sichtvolumens ist ausblenden, Objekte vor der Projektionsebene ebenfalls

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

Pixel-Orientierter Sichtbarkeits-Ansatz

A

Projektionsstrahl geht durch Pixel auf Projektionsebene und nimmt die Farbe des am nächsten liegenden Schittpunkts mit einem objekt

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

Schnittest ohne vorverarbeitung, schnitt von projektionsstrahl und polygonen:

A

Bestimme Schnittpunkt mit polygonebene, dann gucke entlang des polygonzugs ob schnittpunkt für jeden vektor links des gerichteten vektors liegt

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

Schnittet mit vorverarbeitung

A

vorverarbeitung:
führe ein geeignetes (𝑢, 𝑣, 𝑤)-Koordinatensystem ein,
bestimme minimale und maximale 𝑣-Koordinaten 𝑣min bzw. 𝑣max
speichere die beiden monotonen Polygonzüge in Datenstrukturen, die für binäre Suche
geeignet sind
Algorithmus: Bestimme monoton fallende bzw. steigende Teile des Polygons, dann für jedes dieser unterteilten polygon zuüge unterteile es für jeden Pfeil nochmal in ebenen auf und mittels binärer suche schaue in welcher ebene S liegt. dann ermittle mithilfe von links rechts test ob S im polygonzug liegt oder nicht

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

Zell Raster Technik

A

gröberes Zellraster als die Pixelmap festlegen und nur in den Zellen die von den Objekten berührt werden (Ermittlung durch scanconversion genauer aber aufwändiger bzw. bounding box, ungenauer aber schneller) die schnittpunkte mit objekten berechnen. Problem ist dass lange objekte wie halbleiterbahnen auf chips viele Zellen berühren dadurch dass sie unglücklich liegen und somit zu sehr vielen schnittests führen.

20
Q

z-Puffer-Algorithmus

A

Zeichne Objekte der reihe nach, und überprüfe die Sichtbarkeit nur den bereits gezeichneten Objekten gegenüber
Berechne Z (Abstand zur Projektionsebene) koordinate und speichere diese für jeden Pixel im sog. Z-Puffer , die Farbe eines Objekts wird dann genutzt, wenn es am nächsten an der Projektionsebene liegt

+ ziemlich einfach und effizient, da auch 3D Scan Conversion inkrementell möglich ist.
+ praktisch keine reelle Rechnung (keine Schnitttests!)
+ in der Regel Hardware-unterstützt:

21
Q

analytischer ansatz der sichtbarkeit

A

nimm an das jede strecke sichtbar ist. Gucke alle anderen polygone die diese strecke nicht als seite an und schaue welche teile der strecke hinter diesen polygonen liegt. markiere diese teile der strecke als unsichtbar an.

22
Q

2 Methoden polyeder sichtbarkeit

A

methode 1: Jede Außenseite mit pfeilen die gegenuhrzeiger sinn gehen beschriften. Jede Seite die aus deiner perspektive gegen den uhrzeiger sinn geht ist nun eine sichtbare seite

methode 2. <u, n> > 0 d.h. spitzer winkel bedeutet seite ist sichtbar

23
Q

Silhouetten-Algorithmus

A

Die neu gezeichneten Polygone außerhald (auch teilweise außerhalb) des bisherigen Kontur, benutzen um die Kontur zu erweitern und somit das Bild von vorne nach hinten zu zeichnen

24
Q

ambientes licht, diffuse reflexion, winkelabhängige reflexion (specular reflection)

A

Ambientes Licht ist eine unspezifische Lichtquelle, die eine Szene gleichmäßig erhellt. Die Rückstrahlung eines Objekts ist von der einfallenden Lichtintensität und den Materialeigenschaften abhängig, wobei das reflektierte ambientes Licht gleichmäßig über die Oberfläche verteilt ist.

Diffuxe Reflexion entsteht wenn licht auf eine unebene Fläche trifft und gleichmäßig in alle Richtungen reflektiert wird. Das diffuse reflektiete licht hängt von einfallswinkel der lichtquellen sowie der normalen einer fläche ab. Alle Lichtquellen sind dabei relevant

winkelabhängige Reflexion tritt auf, wenn Licht auf eine glatte Oberfläche trifft und in einer bestimmten Richtung reflektiert wird, abhängig vom Einfallswinkel des Lichts und der Position des Betrachters. Dadurch entstehen glänzende Highlights auf der Oberfläche, die sich verändern, wenn der Betrachter oder die Lichtquelle ihre Position ändern. In Richtung des ausfallswinkels am stärksten

25
Q

Entfernungsabhängige Dämpfung

A

Motivation: Auf dem Weg vom Objekt zum Augenpunkt werden die verschiedenen Wellenlängen des Lichts
durch die Atmosphäre unterschiedlich stark gedämpft.
Modellierung: Mische die „eigentliche“ Farbe des Objekts mit einer „weit weg“-Farbe 𝐼𝑤, wobei das Mischverhältnis von der Entfernung Objekt – Augenpunkt abhängt:

26
Q

athmospährische farbverschiebung

A

Motivation: Auf dem Weg vom Objekt zum Augenpunkt werden die verschiedenen Wellenlängen des Lichts
durch die Atmosphäre unterschiedlich stark gedämpft.
⇒ Weiter entfernte Gegenstände erscheinen blauer.
Modellierung: Mische die „eigentliche“ Farbe des Objekts mit einer „weit weg“-Farbe 𝐼𝑤, wobei das Mischverhältnis von der Entfernung Objekt – Augenpunkt abhängt:

27
Q

gerichtete lichtquellen nach warn

A

Motivation: Punktförmige Lichtquellen strahlen in alle Richtungen gleichmäßig ab
Modell: Ersetze die Punktlichtquelle durch einen (unendlich kleinen) perfekten Spiegel, der von einer unendlich fernen Lichtquelle 𝐿
beleuchtet wird.

für Kegelförmiges Licht: Setze 𝐼ntensität ab bestimmten winkel gamma = 0

28
Q

triviales vs boughknight vs phong beleuchtungsmodell

A

Triviales: Die Intensität ist für alle zu einem Objekt gehörenden Punkte/Pixel konstant gleich. keine besonderen licht berechnung

bouknight: kombination aus ambietem licht und diffuser reflexion. Hat eine punktförmige licht quelle

phong:
kombination aus ambientes Licht
diffuse Reflexion +
winkelabhängige Reflexion +
(entfernungsabhängige Dämpfung)

hat mehrere punktförmige Lichtquellen

29
Q

7.2.4 Entfernungsabhängige Dämpfung

A

Motivation: Punkt 𝑷 (bzw. Flächenstück 𝑑𝐴) auf Objekt 𝑂𝑘 erhält umso mehr Licht von Lichtquelle je
geringer der Abstand ist

30
Q

Färbungsstrategien für Polygone

A

Ordne jedem Knoten des Polygonnetzes eine Normale zu:
Stimmen diese Normalen mit den Normalen der Fläche in den Knoten überein und verwendet man sie
zur Bestimmung der Farbe, so kann u. U. der Eindruck einer glatten Fläche entstehen.

31
Q

konstante färbung

A

Die konstante Färbung ist eine Methode in der Computergrafik, bei der jedes Pixel eines Polygons dieselbe Farbe erhält. Es gibt verschiedene Beleuchtungsmodelle:

Triviales Modell: Einfache Farben ohne Rückschlüsse auf räumliche Orientierung. Ränder werden anders gefärbt. Oft mit Painter’s Algorithm oder 𝑧-Puffer-Algorithmus verwendet.
Bouknight-Modell: Helligkeit vermittelt groben Eindruck der räumlichen Orientierung. Probleme bei gekrümmten Flächen durch störende Farbübergänge und Mach-Band-Effekt (Exaggerated contrast between edges)
Vorteil: Schnelle Durchführung, da Beleuchtungsmodell nur einmal angewendet wird und alle Pixel gleich gefärbt sind.

32
Q

farbwertinterpolation gourard shading vs normaleninterpolation nach phong

A

gourard: Intensitäten der Ecken werden entlang der Kanten interpoliert, danach werden sie im polygon interpoliert (über die Kanten). Dies geschieht inkrementell

phong: Normalen der Ecken werden Entlang der Kanten interpoliert, danach werden sie innerhalb der Fläche interpoliert. im allg. nicht inkrementell

Nicht inkrementell
Dabei ist trotz der glatten Farbverläufe und der guten Wiedergabe von Krümmungen bei Phong Shading, der Umriss der Fläche immer noch aus einer Reihe von Polygonen besteht. Diese Polygone können an ihren Verbindungsstellen sichtbare Knicke aufweisen, die die Illusion einer glatten Oberfläche beeinträchtigen.

33
Q

Flächenbasierte Modelle

A

Wenn die Objekte nur dargestellt werden solen, ist die Beschreibung durch ihre Oberfläche ausreichend
Information über die Zusammengehörigkeit mehrerer Flächenstücke zum selben Körper werden nicht benötigt

34
Q

Volumenbasierte Modelle

A

Volumenbasierte Modelle sind wichtig für Anwendungen wie Maschinenbau oder medizinische Bildgebung. Diese Modelle sollten leicht erzeugbar, eindeutig, exakt und intuitiv sein, um Objekte aus vorhandenen Konstruktionen zusammenzusetzen oder Teile herauszuschneiden. Konsistenz und Effizienz sind ebenfalls wichtig, um unsinnige Objekte zu vermeiden und einfache Bilderzeugung oder Informationsgewinnung zu ermöglichen.

35
Q

sweep verfahren

A

bei dem eine Fläche oder ein Volumen im Raum bewegt wird, um ein neues Volumen zu erzeugen. Dabei kann die Fläche entlang einer Raumkurve verschoben oder gedreht werden und sich während der Bewegung ändern. Allerdings ergeben nicht alle Bewegungen ein Volumen und Sweeps können nicht immer in der Form “erzeugendes Element + Bewegung” gehandhabt werden

36
Q

Volumenbasierte Modelle Speicherung

A

Bei volumenbasierten Modellen gibt es zwei Hauptansätze: Randspeicherung (Boundary Representations, b-reps) und Volumenaufzählung. Bei der Randspeicherung speichert das System Volumina durch ihre Oberflächen, die direkt zur Bilderzeugung verwendet werden können, aber aufwändige Algorithmen erfordern. Volumenaufzählung teilt den Raum in kleine Zellen auf, um das Objekt darzustellen, benötigt jedoch im Allgemeinen mehr Speicherplatz und liefert nur Annäherungen der Objekte. Beide Ansätze haben ihre Vor- und Nachteile und müssen bei der Bilderzeugung und der Durchführung von Mengenoperationen berücksichtigt werden.

37
Q

Prozedurale Modelle

A

Gib statt der Objekte eine Vorschrift an, mit der die Objekte „bei Bedarf“ erzeugt werden können

38
Q

Fraktale Modelle

A

Teile der Objekte sehen aus wie verkleinerte Kopien der Objekte selbst.
Beispiel: Gebirge
Ansatz: Starte mit einer groben Form und füge nach und nach immer kleinere Details (vom selben „Typ“)
hinzu.

Erzeugung eines Bergs:
Starte mit einem „beliebigen“ Dreieck.
Zerlege das Dreieck an den Seitenmittelpunkten in vier kongruente Teile.
Verschiebe jeden der drei neuen Punkte um einen zufälligen
Betrag in 𝑦-Richtung.
Wiederhole diese beiden Schritte rekursiv für jedes der entstandenen vier Dreiecke.

Die Verschiebungen (d. h. die Zufallszahlen) müssen reproduzierbar sein!

39
Q

Generierung von Modellen über Grammatiken

A

Nutze Grammatiken um Modelle zu erzeugen nichtterminal könnten z.b zweige sein oder blätter

40
Q

Partikelsysteme

A

Partikelsysteme sind eine Methode, um komplexe Objekte darzustellen, deren Form und Struktur sich im Laufe der Zeit stark verändern. Sie bestehen aus einer Menge von Teilchen, die sich gemäß physikalischer Gesetze verhalten und Eigenschaften ändern können. Partikelsysteme werden häufig eingesetzt, um Effekte wie Funkenflug, Nebel oder Laub dichter Bäume zu erzeugen. Die Erstellung solcher Systeme erfordert jedoch oft individuelle Algorithmen und Heuristiken, um realistische Ergebnisse zu erzielen.

41
Q

Hermitekurven

A

Startpunkt und Endpunkt sowie zugehörige tangentielvektoren. Ausrichtung der tangentialvektoren bestimmt kurvenverlauf.

42
Q

Bezierkurve

A

Start und Endpunkt sowie mind. beliebige Kontrollpunkte damit es sinnvoll ist. iteriere über punkte und wende lineare interpolation an. Beim nächsten interpolations schritt wende lineare interpolation auf lineare interpolation von vorher an usw.

Besteht aus Basispolynomen (Bernsteinpolynomen)

43
Q

Kubische Splinekurven

A

Ziel: Gesamtkurve soll durch alle punkte laufen. Idee: Setze für jedes segment der Punkte ein kubisches Polynom sodass diese ineinernader flißened übergehen also c2stetig sind

44
Q

Scanconversion polygone

A

Sonderfälle ecken und horizontale linien
Grob: Scanlinien von ymax nach 0 iterieren. Schnittpunkte bestimmen, .zb x1 x2 x3 x4, diese x werte nach distanz sortieren zur y achse. zweier paare paare nehmen und strecke dazwischen zeichnen

45
Q

z puffer ansatz bei färbung

A

Zuerst wird für jede Lichtquelle für JEDES Objekt Scan converion bzgl. der Lichter durchgeführt und die Z Koordinate berechnet. Diese Entfernungen werden in einer speziellen Datenstruktur namens “z-Puffer” gespeichert.

Danach führe für JEDES Objekt Scan Conversion bzgl. der eigentlichen Projektion durch mit z puffer um sichtbare pixel zu finden.

Für jedes sichtbare Pixel des Objekts wird ein Punkt auf der Oberfläche des Objekts bestimmt, und geschaut in welcher Zelle sich der Punkt befindet aus dem ersten z Puffer.

Falls distanz von Lichtquelle zu Punkt <= Wert im Z puffer -> berücksichtige punkt bei färbung.