Computeranimation Flashcards
Welche Faktoren muss der Algorithmus zum Rastern von Linien erfüllen?
- gibt an welche Pixel „gefärbt werden
- effizient und einfach zu implementieren
- treffendes Ergebnis liefern und konstante Helligkeit, unabhängig von Steigung berechnen
Wie funktioniert der Basisalgorithmus?
Was sind seine Nachteile?
Anzahl der Schritte in X-Richtung wird mit Steigung pro Schritt multipliziert und y-Achsenabschnitt wird addiert. Der Wert wird anschließend gerundet:
y = m * x + B
Nachteile:
- Wenn Steigung größer als 1 oder -1 muss Fallunterscheidung stattfinden
- Bei Jedem Schritt ist Multiplikation und Addition nötig, Wert wird anschließend gerundet
Wie funktioniert der inkrementelle Algorithmus?
Was sind Vor-/ bzw. Nachteile?
Nächster Wert berechnet sich aus vorherigem Wert auf welchen Steigung pro Schritt addiert wird.
Yi+1 = Yi + m
Vorteil:
- keine Multiplikation mehr nötig
Nachteil:
- Fallunterscheidung zwischen m <= 1 und m>1 ist nötig, da dann nicht mehr Xi+1 = Xi +1 gilt.
(Nächstes Pixel muss dann möglicherweise direkt über dem vorigen gezeichnet werden.)
Wie funktioniert der Bresenham Algorithmus?
Was sind Vor-/ Nachteile?
Unterscheidet in jeder Spalte nur zwischen 2 Pixeln:
Ost-Pixel -> E
Nord-Ost-Pixel -> NE
Ergebnismöglichkeiten anhand der Entscheidungsvariable d:
Linie auf Mittelpunkt: d = 0 -> E
Linie über Mittelpunkt: d > 0 -> NE
Linie unter Mittelpunkt: d < 0 -> E
Wenn E gewählt wurde:
d neu = d alt + a
Wenn NE gewählt wurde:
d neu = d alt + (a+b)a + b = dy -dx
Vorteile:
- Nur ganzzahlige Addition nötig
- Keine Muliplikation, nur Rundung
- sehr effizient
Probleme aller Algorithmen:
- Intensität der Geraden je nacht Steigung unterschiedlich
Was ist Aliasing und wann tritt es auf?
Verfälschung von analogen Signalen, wenn bei Wandlung zu diskreten Signalen das Shannon`sche Abtasttheorem nicht eingehalten wird:
Abtastfrequenz >=
2 x max.Frequenz von Ausgangssignal
-> Lösung ist Low-Pass Filter, um die zu hohen Frequenzen im Ausgangssignal herauszufiltern.
Verschlechterung der Bildqualität
Wie äußert sich Unterabtastung beim Wandel von analogen zu diskreten Signalen?
Wie kann es verhindert werden?
Aliasing: Schwarz-Weiß-Schachbrett-Muster wird z.B. grau (Mittelwert)
Lösung:
- Bereichsmittelwerte ohne Gewichtung: Bestimmt durch einen Überlappungsbereich über die Intensität der Pixel. Dadurch entsteht ein geringerer Kontrast zwischen benachbarten Pixeln.
- Bereichsmittelwerte mit Gewichtung: Die Gewichtungsfunktion bzw. Filterfunktion ist ein Kegel, die Intensität eines Pixels hängt vom Teilvolumen des Kegelschnitts ab.
- Auflösung: Eine doppelte Auflösung führt zu einem besseren Ergebnis, ist jedoch vergleichsweise sehr teuer.
Welche Möglichkeiten gibt es bei der Approximation von Kurven?
Möglichkeiten für Approximation:
Polynome, Splines, kubische Splines, Bezierkurven, B-Splines, Nurbs
Welche Grade der Stetigkeit gibt es bei der Approximation von Kurven?
C0 Stetigkeit: Bei auftretenden Splines (selbe Funktionswerte zweier Kurven) ergeben sich harte Ecken
C1 Stetigkeit: Bei identischen Funktionsweiten gleicht sich die erste Ableitung, die 2. Ableitung unterscheidet sich jedoch.
C2 Stetigkeit: Bei identischen Funktionswerten gleicht sich sowohl die erste, als auch die zweite Ableitung
-> C1 Stetigkeit beim Zeichnen von Kurven wünschenswert
Wie lassen sich mit Polynomen Kurven approximieren
Durch n Stützpunkte lassen sich Polynome n-1-ten Grades legen.
Nachteil: die Kurve oszilliert um die Stützpunkte.
Was sind Splines?
Splines sind stückweise polynomielle Kurven.
Mit polynomen ersten Grades sind nur gerade Linien möglich
Mit Polynomen zweiten Grades (Parabeln) stoßen Splines in Ecken aufeinander:
C0 Stetigkeit
Mit Polynomen dritten Grades erzeugt man kubsiche Splines, diese liefern schöne Ergebnisse (C2 Stetigkeit), allerdings sind die Berechnungen zu aufwändig
Was sind Bezierkurven?
Jedes Kurvensegment besteht aus vier Punkten 2 Stützpunkte für Anfang und Ende, sowie 2 Kontrollpunkte für den Kurvenverlauf. Es kann jede beliebige Kurve dargestellt werden.
Kurve liegt innerhalb der Hülle der Kontrollpunkte:
- Im Anfangs- /Endpunkt ist die Kurve tangential zum Kontrollpolygon
- C1 Stetigkeit an den Verbindungspunkten der Kurvensegmente durch Ausrichtung der Tangenten
- Nur globale Kontrolle des Kurvensegments
Was sind B-Splines?
Verallgemeinerung von Bezier-kurven mit C(k-2 Stetigkeit, mit einem Ziel: Nicht alle Stützpunkte sollen Einfluss auf den gesamten Kurvenverlauf habenund der Grad der Polynome soll unabhängig von der Anzahl der Stützpunkte sein. (Lokale Kontrolle)
Werden berechnet wie Bezierkurven, die Punkte werden mit den zugehörigen Polynomen verrechnet und miteinander aufaddiert. k wird vom User gesetzt, bei Bezierkurven ist k gegeben.
Nurbs (non-uniform rational basis splines) sind eine Erweiterung der B-Splines. Mit ihnen sind genaue Abbildungen eines Kreises möglich.
Non-uniform: Der Abstand zwischen den Werten des Kontrollvektors ist ungleichmäßig
rational: Der EInfluss eines Kontrollpunktes wird über ein Gewicht gesteuert, welches durch den Quotienten (ratio) zweier Polynome gebildet wird.
Wie werden Punkte im Weltkoordinatensystem dargestellt?
Dazu werden Vektoren genutzt. Vektoren werden mithilfe von Matrizen verrechnet
Welche Grundtransformationen gibt es?
Translation:
einer neuer Vektor wird aus der Addition zweier Vektoren gebildet
Skalierung:
Skalierung eines Vektors um einen Streckfaktor, der sich aus zwei Teilstreckfaktoren Sx und Sy zusammensetzt.
Matrizenmultiplikation
Rotation:
Rotation eines Vektors zum Ursprung mit einem gewissen Winkel.
P` = R * P -> Matrizenmultiplikation
Welche Möglichkeiten gibt es bei der Kappung?
Analytisch:
Berechnung von Schnittpunkten eines Polygons mit einem Kappungsrechteck
Während der Rasterung:
Punkte außerhalb des Kappungsrechtecks werden erst gar nicht gerastert.
Kappen am Window:
Gekappt wird erst bei der Window-Viewport-Transformation
Welche Möglichkeiten gibt es, um 3D Objekte darzustellen?
Drahtmodell (Gitter)
Flächenmodell (Polygone)
Körpermodell (Volumen)
Wie funktioniert das übersetzen von 2D zu 3D?
Möglichkeit A:
Translationskörper mit
- Rotationsachse
- oder Translationslinie
Möglichkeit B:
- Modellierung durch Zusammenfügen von Raumprimitiven (geometrische Grundformen)
- Boolesche Operationen wie Vereinigungsmenge, Schnittmenge etc. von mehreren Objekten möglich
Was sind Polygonflächen?
Was ist zu beachten?
Was muss geprüft werden?
3D Objekte werden durch ebene Flächen dargestellt. Bei krummen Flächen nur Annäherung.
Polygonflächen benötigen eine Punktliste, Kantenliste und eine Flächenliste.
Mit einem Normalvektor wird angezeigt, welche Seite des Polygons außen liegt.
Integritätsprüfung:
Jeder Punkt ist Endpunkt min. zweier Kanten
Jede Kante ist min. Teil eines Polygons
Jedes Polygon ist geschlossen
Jedes Polygon teilt mindestens eine Kante mit einem weiteren Polygon
Wie lassen sich gekrümmte Oberflächen darstellen?
Mit Bezierflächenelementen
Sie sind das Produkt zweier Bezier-Kurven. Jede Fläche besteht aus 16 Punkten. 4 Stützpunkte (Eckpunkte) und 12 Kontrollpunkte ( Stützpunkte, welche die Fläche nicht berühren).
Was versteht man unter Projektionen in der CG?
Welche Probleme treten auf?
Abbildung von Objekten aus dem dreidimensionalen Weltkoordinatensystem auf eine Projektionsebene (Bildschirm oder Viewport)
Probleme:
- Verlust der Tiefeninformation
- Mehrdeutigkeiten (Drahtmodell)
- Unmögliche Objekte (Escher Bilder)
Welche Projektionsarten gibt es?
Zentralprojektion/ perspektivische Projektion: - entfernte Objekte werden kleiner - mit Fluchtpunkt: 1-/2-/3-Punkt Perspektive möglich. - entspricht im Grunde einer Skalierung
Parallelprojektion:
- entfernte Objekte verändern Größe nicht
- rechtwinklig (bsp.Grundriss), Normale der Projektionsebene ist parallel zu einer Hauptachse
- axonometrisch, Normale nicht parallel zu einer Hauptachse: Isometrisch (Gleicher Winkel mit jeder Hauptachse); Dimetrisch (mit zwei Hauptachsen); Trimetrisch (mit jeder Hauptachse anderer Winkel)
schiefwinklig-Projektionsrichtung ist nicht senkrecht zur Projektionsebene, Normale der Projektionsebene ist parallel zu einer Hauptachse
Kavaliersprojektion; 45° keine Verkürzung
Kabinettprojektion; 45° Verkürzung um 1/2
Erkläre: Projektionszentrum Fluchtpunkt Viewlplane Kappungsebene
Projektionszentrum entspricht der Kameraposition
Fluchtpunkt - an der Projektionsebene gespiegeltes Projektionszentrum
Viewplane - Projektionsebene im Bildraum
Kappungsebene - zwischen vorderer und hinterer Kappungsebene liegt Schärfebereich der Kamera
Wie funktioniert der Kappungsalgorithmus (Cohen-Sutherland-Algorithmus)?
Ebene wird in 9 Bereiche unterteilt, wobei das Sichtfenster in der Mitte liegt und mit 0000 beziffert ist.
- Überprüfung der Örtlichkeit der Polygonkantenenden:
- Polygonkante ist sichtbar, wenn beide Endpunktcodes = 0000 sind
- Polygonkante nicht sichtbar, falls das „logische Und“ beider Endpunktcodes ungleich 0000 ist.
- Polygonkante ist Kappungskandidat, falls „logisches Und“ beider Entpunktcodes = 0000 ist. - Berechnung der Schnitte zwischen Polygonkanten und begrenzungsflächen des Bildraums (Front Plane, Back Plane)
Erkläre das entfernen von verdeckten Kanten und Flächen mit Hilfe des z-Puffer-Algorithmus.
- z-Puffer Z wird mit 0 initialisiert (Wert der hinteren Kappungsebene)
- z-Puffer enthält nach Durchlauf des Algorithmus für jedes Pixel den z-Wert des in diesem Punkt dem Betrachter am nächsten liegenden Objekts.
- Der Bildwiederholspeicher enthält Farbwerte
- z-Puffer+Bildwiederholspeicher= 2D Bild
Vorteile:
- einfache Implementierung
- unabhängig von der Anzahl der Polygone
Nachteile:
-benötigt genug Speicherplatz auf der Grafikkarte