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)