Computeranimation Flashcards
(204 cards)
Was ist die ISO-Definition der grafischen Datenverarbeitung?
“Methoden und Techniken zur konvertierung von Daten in und aus grafischer Darstellung mit Hilfe von elektronischen Rechenanlagen.”
Was sind die Teilgebiete der Grafischen Datenverarbeitung?
- > Computergrafik
- > Bildverarbeitung
- > Mustererkennung
Was sind die Teilgebiete der grafischen Datenverarbeitung und was sind deren Aufgaben?
Computergrafik:
-> Verfahren zur Eingabe und Manipulation von Bildbeschreibungen sowie deren Umwandlung in grafische Darstellungen
—————————–
Bildverarbeitung:
-> Methoden die nur auf den Bilddaten operieren und versuchen diese entweder zu “verbessern” (nachträgliche Korrektur von Aufnahmen) oder zu “vereinfachen” (Datenreduktion)
————————————-
Mustererkennung:
-> Beschäftigt sich mit den Problemen aus vorliegenden Bilddaten bestimmte Informationen zu gewinnen (z.B. automatisches Sortieren unterschiedleicher Teile, Erkennen von Buchstaben auf Fotos, …) z.B. erkenn Schriften beim Scannen
Was sind die Anwendungsgebiete der Computergrafik?
- > Präsentationsgrafiken (2D/3D)
- > Computerunterstützte Konstruktion und Fertigung (CAD / CAM)
- > Architektur
- > Medizin (Computertomographie)
- > Biowissenschaften (3D-Molekülmodelle)
- > Kartographie
- > …
- > Echtzeit-Bilddarstellungen (Flug- und Fahrsimulation)
- > Computeranimation
Was ist die Definition von Computeranimation?
Erstellung von (fotorealsitischen) dreidimensionalen syntethischen Laufbild-Sequenzen mit Hilfe eines Rechners: -> Oder kurz: Belebte (bewegte) Computergrafik
Was sind die Komponenten eines CA-Systems?
Rechner: -> Aktuelle CPU -> Hochwertige Grafikkarte -> RAM 16GB und mehr -> Plattenspeicher 320 GB -> Monitor ab 24" --------------------------------- Optionales Zubehör: -> Grafik-Tablet -> 3D Scanner -> Scanner -> 3D Drucker -> Vernetzung durch LAN
Was ist das einfache Rastersystem (PC der 1. Generation)?
Ein Teil des RAMs dient als Bildwiederholspeicher. Der Video-Controller zeigt das durch den Bildwiederholspeicher definierte Bild.
Was sind die Vorteile eines einfachen Rastersystems (PC der 1. Generation)?
- > Einfache und dadurch preiswerte Systemarchitektur
- > Die CPU greuft direkt auf den Bildwiederholspeicher zu
Was sind die Nachteile eines einfachen Rastersystems (PC der 1. Generation)?
- > Betriebssystem, Anwendungsprogramm incl. Grafikpaket und Grafiktreiber werden von der CPU ausgeführt
- > Der Grafiktreiber enthält die Prozeduren zur Rasterung, Rasterung durch Software ist langsam
- > Die CPU wird gebremst wenn der Zugriff des Video-Controllers auf den Bildwiederholspeicher über den Systembus erfolgt. Abhilfe: Bildwiederholspeicher als dual ported memory.
Was ist das Rastersystem mit peripherem Grafikprozessor (PC der aktuellen Generation)?
Funktionsweise:
Der Systemspeicher enthält Programme und Daten, die von der CPU ausgeführt werden: Betriebssystem, Anwendungsprogramm inc. Grafikpaket. Der Speicher des Grafikprozessors enthält Programme und Daten für die Rasterung und andere Grafikoperationen (Grafiktreiber). Die Prozessoren kommunizieren über einen speziellen Bereich des Systemspeichers (FIFO-Warteschlange)
———————-
Anwesungen, die von der CPU an den Grafikprozessor übergeben werden: Move, Line, Point, Rect, Text, Circle, Polygon, AreFill, RasterOp, ….
Was sind weitere mögliche Funktionen des Grafikprozessors?
- > Kappung (rechteckiger Teil aus der Gesamtszene)
- > Geometrische Transformationen (Translation, Skalierung, Rotation, …)
- > Ermittlung sichtbarer Flächen (z-Puffer Algorithmus)
- > Rendering (Bildberechnung der 3D-Szene)
Was sind die Nachteile eines Grafikprozessors?
- > Die kommunikation der Prozessoren über einen gemeinsamen Bereich des Systemspeichers ist aufwändig und langsam
- > Die CPU kann nicht direkt auf den Bildwiederholspeicher zugreifen
Was ist ein Rastersystem mit integirertem Grafikprozessor?
Funktionsweise: Durchgehender Adressraum (SAS: single adress space), Bildwiederholspeicher als dual ported memory ist Bestandteil des RAMs.
Was sind die Vorteile bei Rastersystemen mit integriertem Grafikprozessor?
-> Die CPU kann direkt auf den Bildwiederholspeicher zugreifen
Was sind die Nachteile bei Rastersystemen mit integriertem Grafikprozessor?
- > Konkurrenz der Prozessoren beim Speicherzugriff. Abhilfe: Cache-Speicher für die CPU
- > Adressrechnung um Fall von Betreibssystemen mit virtuellen Adressräumen
Was sind die Forderungen an den Algorithmus?
- > Möglichst effiziente Implementierung (Integer-Operation anstelle von Real Operationen) und dadurch möglichst kurze Laufzeit des Algorithmus
- > Dadurch ist eine einfache Hardware-Implementierung möglich
- > Ausgewählte Pixel sollen so nahe wie möglich an der Ideallinie liegen 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
Erkläre den Basisalgorithmus mit Worten zur darstellung einer Linie.
Es sind zwei Punkte mit jeweils x und y koordinate gegeben. Es soll nun eine gerasterte Linie zwischen den beiden Punkten dargestellt werden.
Bestimmen lässt sich diese Strecke mit einer Geradengleichnung. Man kann mit den beiden Koordinaten der Punkte die Steigung berechen sowie den Y-Achsenabschnitt.
Zum Zeichen der Gerade wird dann von der linken X-Koordinate des linken Punkts gestartet und für jedes X (jede Pixelspalte) bis zum Endpunkt durchgangen. X wird also bei jedem Schritt um 1 erhöht.
Bei jedem Schritt wird dann der Pixel gesetzt und somit wird eine gerade erstellt-
Erkläre den Basisalgorithmus mit mathematischen Beispielen.
-> Gegeben: P0(x0,y0) und P1(x1,y1)
-> Gesucht: Gerasterte Linie von P0 nach P1
-> Geradengleichung:
y = mx + b
mit Steigung m und Y-Achsenabschnitt b
——————————
Einfachstes Verfahren:
->Berechne:
m = delta(y)/delta(x) = (y1-y0)/(x1-x0)
->Berechne:
b = y0-mx0
——————————-
-> Erhöhe x ausgehend von x0 jeweils um 1
-> Berechne yi = mxi + B für jedes xi
->Setze Pixel (xi, Round(yi)), wobei Round (yi) = Floor (0,5 + yi) und die Funktion Floor(y) die nächste ganze Zahl <= y liefert
Was sind die Nachteile des Basisalgorithmus?
- > Falls |m| > 1 liefert der Algorithmus nicht in jeder Zeile ein Pixel; Problemlösung durch Fallunterscheiungen: Falls |m| > 1 Berechnung von x = f(y)
- > Für jede Iteration ist eine Multiplikation und eine Addition zweier Gleitkommazahlen sowie ein Aufruf von Floor nötig (ineffizient)
Erkläre den inkrementellen Algorithmus mit Worten.
Der Inkrementelle Algorithmus basiert mehr oder weniger auf dem Basisalgorithmus. Es werden wieder beide Punkte gesetzt und gesucht ist eine gerasterte Linie zwischen ihnen.
Es wird wieder die Steigung berechnet, der y-Achsenabschnitt ist hier allerdings unnötig.
Es wird der erste Punkt betrachtet und wieder mit Round(yi) auf den nächstgelegenen Pixel gerundet.
Nun wird allerdings nicht wie beim Basisalgorithmus ein “Schnittpunkt” berechnet, sondern sondern einfach auf den breits gerechneten ersten Punkt wird die Steigung dazu gerechent. Es wird also immer auf die x-Koordinate 1 dazu gerechnet und auf die y-koordinate wird die steigung darauf gerechnet . Dann wird wieder mit Round(yi) auf den Pixel gerundet. Dies wird so lange gemacht, bis die End-X-Koordinate erreicht wird.
Erkläre den Inkrementellen Algorithmus mit mathematischen Beispielen.
-> yi+1 = mx+1 +B
-> yi+1 = m(xi + delta x) +B
-> yi+1 = mxi + B + mdelta x <==> mit yi = mxi +B
-> yi+1 = yi + m * deta x
———————————
Falls delta x = 1 gilt:
-> yi+1 = yi +m
———————————
-> Für alle Punkte (xi, yi) auf der Geraden gilt: Wenn x(i+1) = xi+1, so ist yi+1 = yi +m. Die Werte von x und y werden mit Hilfe der zuvor berechneten Werte definiert => inkrementeller Algorithmus
—————————-
Dieser inkrementelle Algorithmus wird oft auch als DDA (digital differential analyzer) bezeichnet, weil in jedem Schritt x um 1 und y um die erste Ableitung m=dy/dx erhöht wird.
Was sind die Vorteile des inkrementellen Algorithmus?
-> Eliminierung der Multiplikation
-> Eine Fallunterscheidung für horizontale, vertikale und Linien mit |m| > 1 ist notwendig. Falls |m| > 1 gilt:
Wenn yi+1, so ist xi+1 = xi + 1/m
Was sind die Nachteile des inkrementellen Algorithmus?
- > Rundungsfunktion
- > Die Variablen y und m sind Gleitkommazahlen
Was ist die Zielsetzung des Bresenham Algorithmus?
-> Ganzzahlige Arithmetik (Integer-Operationen und daruch keine Rundungsfunktion)