Computeranimation Flashcards
Was ist die Definition von Computeranimation?
Erstellung von (fotorealistischen) dreidimensionalen synthetischen Laufbild-Frequenzen mit Hilfe eines Rechners
Kurz: Belebte (bewegte) Computergrafik
Wie funktioniert die Kathodenstrahlröhre? CRT
Der Elektronenstrahl aus der beheizten Kathode wird durch eine positive Spannung (15-20 kV) an der Anode zum Phosphor hin beschleunigt.
Die Spannung am Steuergitter regelt, wie viel Elektronen der Strahl enthält und damit die Intensität des Strahls.
Die Anzahl der Elektronen im Strahl ist proportional zu dem vom Phosphor angegeben Licht.
Wie funktioniert das Farb-CRT?
RGB-Phosphorpartikel auf dem Bildschirm, drei Elektronenröhren für RGB (drei Kathoden, drei Steuerungsgitter), eine gemeinsame Anode, gemeinsame Ablenkspulen, Lochplatte, damit jeder der drei Elektronenstrahlen nur auf die ihm zugeordneten Phosphorpunkte trifft.
Wie funktioniert der Flüssigkristallbildschirm? LCD
Die Flüssigkristallsubstanz dreht die Polarisationsrichtung für hindurchgehendes Licht um 90°. Dadurch wird das einfallende Licht an der reflektierenden Schicht zurückgeworfen und kehrt zurück.
→ Betrachter sieht ein helles Pixel
Durch eine negative Spannung am horizontalen Gitterdraht und eine positive Spannung am vertikalen Gitterdraht entsteht ein elektrisches Feld an der Stelle. Die Polarisationsrichtung wird nichtmehr gedreht, das Licht wird absorbiert.
→ Betrachter sieht ein dunkles Pixel
Welche Faktoren muss der Algorithmus zum Rastern von Linien erfüllen?
Möglichst effiziente Implementierung durch Integer-Operationen (kurze Laufzeit)
→ einfache Hardware-Implementierung möglich
Ausgewählte Pixel sollen möglichst nah an der Ideallinie und möglichst geradlinig verlaufen
Bei Linien mit einer Steigung zwischen 1- und 1+ soll genau ein Pixel in jeder Spalte gesetzt werden
Bei Linien mit anderer Steigung soll genau ein Pixel in jeder Zeile gesetzt werden.
Konstante Helligkeit der Linie unabhängig von der Steigung
Wie funktioniert der Basisalgorithmus? Was sind seine Nachteile?
- Steigung und y-Achsenabschnitt berechnen
- x jeweils um 1 erhöhen und den dazugehörigen y-Wert auszurechnen.
- Wert muss gerundet werden, um zu schauen ob der Punkt im diesem oder nächsten Pixel liegt.
- Pixel setzen
y = m * x + B
Nachteile:
- Wenn Steigung größer als 1 oder -1 muss Fallunterscheidung stattfinden (man rechnet nicht y sondern x aus)
- 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
Ausgehend von der Geradengleichung prüft man nun, ob der Mittelpunkt zwischen E und NE: → auf → oberhalb → unterhalb der darzustellenden Geraden liegt.
Ergebnismöglichkeiten anhand der Entscheidungsvariable d:
Linie auf Mittelpunkt: d = 0 -> E
Linie über Mittelpunkt: d > 0 -> NE
Linie unter Mittelpunkt: d < 0 -> E
Je nachdem, ob E oder NE gewählt wurde, wird d(neu) aus d(alt) imkrementell berechnet.
Vorteile:
- Nur ganzzahlige Addition nötig
- Keine Muliplikation, nur Rundung
- sehr effizient
Was sind die Probleme all dieser Algorithmen?
Veränderung der Intensität bei Linien unterschiedlicher Steigung (Abhilfe: Antialiasing)
Dem Bresenham-Algorithmus entsprechend gibt es effiziente Algorithmen zur Rasterung von Kreisen und Ellipsen. Diese sind mathematisch etwas aufwändiger
Was ist Aliasing und wann tritt es auf?
Aliasing kann beim Übergang von kontinuierlichen Signalen (beliebiger Wert aus endlichem Intervall) zu diskreten Signalen (endliche Wertemenge) auftreten
Beim Übergang von kontinuierlichen zu diskreten Signalen muss das Abtasttheorem eingehalten werden
→ Abtastfrequenz muss doppelt so hoch sein, wie die höchste im Signal enthaltene Frequenz
Beispiel:
Strukturen im Bild sind feiner als die Auflösung des Monitors (Unterabtastung)
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), oder es kommen Muster vor die eigentlich nicht vorkommen.
Lösung:
- Bereichsmittelwerte ohne Gewichtung:
Der Grauwert eines Pixels wird Proportional zu der von dem Rechteck der Linie überdeckten Fläche des Pixels eingestellt. 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.
3.Auflösung: Eine doppelte Auflösung führt zu einem besseren Ergebnis (kleinere Treppenstufen), 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:
Tangenten beim Übergang zwischen 2 Kurvensegementen sind identisch.
C2 Stetigkeit:
Die Krümmungsrichtung beim Übergang zwischen 2 Kurvensegmenten ist identisch.
-> 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
- Geschlossene Kurven sind durch Mehrfachpunkte möglich.
Vorteil:
-Es kann jede beliebige Kurve dargestellt werden.
Nachteil
- Nur globale Kontrolle des Kurvensegments
- Punkte und Polynome müssen immer abhängig voneinander definiert werden (4 Punkte Polynom 3. Grades)
Was sind B-Splines?
Verallgemeinerung von Bezierkurven 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 (Polynomgrad) wird vom User gesetzt, bei Bezierkurven ist k gegeben.
Durch Mehrfachpunkt sind “Ecken” (Bereiche starker Krümmung) darstellbar.
→ vergrößert Anziehungskraft auf die Kurve
Was sind Nurbs?
Nurbs (non-uniform rational basis splines) sind eine Erweiterung der B-Splines.
Diese sind nicht gleichmäßig: Die Punkte werden mit Gewichtungen multipliziert. Dadurch sind keine Identischen Mehrfachpunkte nötig.
Mit ihnen sind genaue Abbildungen eines Kreises möglich.
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
Vektoraddition
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
Problem: bei der Skalierung und der Rotation wird die Position zum Urspung des Koordinatensystems verändert.