Computergrafik
Vorlesung gehalten im SS 2002
Olaf Müller
Ralf Kunze
Fachbereich Mathematik/Informatik
Universität Osnabrück
Literatur
Danksagung
Inhalt
Einführung
Motivation
Definition
Anwendungen
Kurze Geschichte der Computergrafik
Ausgabegeräte
Soft Copy
Hardcopy
Random Scan versus Raster Scan
Eingabegeräte
Technische Klassifizierung der Eingabegeräte
Logische Klassifizierung der Eingabegeräte
Eingabe-Modi
Grafische Oberflächen und ihre Programmierung
Der Window-Manager
Swing
Swing-Übersicht
Swing-Beispiel
Applet
Applikation
2D-Grundlagen
Koordinatensysteme
Punkt
Linie
Parametrisierte Geradengleichung
Geradengleichung als Funktion
Bresenham-Algorithmus
Antialiasing
Polygon
Konvexität
Schwerpunkt
Kreis
Trigonometrische Funktionen
Bresenham-Algorithmus
2D-Füllen
Universelle Füll-Verfahren
Scan-Line-Verfahren für Polygone
Dithering
Punkt in Polygon
Kreuzungszahl
Umlaufszahl
Clipping
Clipping von Linien
Clipping von Polygonen
Beispiel-Applet zu 2D-Operationen
2D-Transformationen
Translation
Skalierung
Rotation
Matrixdarstellung
Homogene Koordinaten
Allgemeine Transformationen
Raster-Transformationen
Kurven
Algebraischer Ansatz
Kubische Splines
Bézier-Kurven
B-Splines
Eigenschaften
Konvexe Hülle
Affine Abbildungen und Invarianz
NURBS
Farbe
Physik
Dominante Wellenlänge
Grundfarben
RGB-Modell (Rot, Grün, Blau), (additiv)
CMY-Modell (Cyan, Magenta, Yellow), (subtraktiv)
YUV-Modell
YIQ-Modell
HSV-Modell
Color Table (Farbtabelle)
Erzeugung einer bildbezogenen Farbtabelle
Alpha-Kanal
Pixeldateiformate
PBM, PGM und PPM
Kompression nach JPEG
3D-Grundlagen
3D-Koordinatensystem
Länge und Kreuzprodukt
Anwendung des Kreuzprodukts
Skalarprodukt
Anwendungen des Skalarprodukts:
Matrixinversion
3D-Transformationen
Translation
Skalierung
Rotation
Transformation von Koordinatensystemen
Transformation der Normalenvektoren
Projektion
Bildebene
Perspektivische Projektion
Parallelprojektion
Normalprojektionen
Schiefe Projektionen
Betrachtungstransformationen
Die synthetische Kamera
Viewing Pipeline
Modeling-Transformationen
View Orientation
View Volume
View Mapping
Device Mapping
Zusammenfassung
Clipping
Clipping im WC
Clipping im NPC
Vergleich der beiden Vorgehensweisen
3D-Repräsentation
Übersicht
Repräsentation
Elementarobjekte
Drahtmodell
Flächenmodell
CSG (constructive solid geometry)
3D-Objekte
Polyeder
Würfel
Gekrümmte Flächen
Zylinder
Kugel
NURBS-Flächen
Algorithmus
Culling Techniken
Back-Face Removal/Culling
Hidden-Surface Removal
z-Buffer-Algorithmus
Span-Buffer
Binary Space Partitioning
Rasterung von Flächen
Beleuchtung
Lichtquellen
Reflexionseigenschaften
Oberflächeneigenschaften
Materialeigenschaften
Schattierungsalgorithmen
Flat-Shading
Gouraud-Shading
Phong-Shading
Schatten
Texturing
Texture Mapping
Mip Mapping
Light, Gloss und Shadow Mapping
Alpha Mapping
Environment oder Reflection Mapping
Bump Mapping
Multitexturing
Displacement Mapping
Hardwarebeschleunigung
Radiosity
Globale Beleuchtung
Physikalische Ausgangslage
Die Radiosity-Gleichung (Beleuchtungsgleichung)
Berechnung der Formfaktoren
Interpolation der Pixelfarben
Schrittweise Verfeinerung
Screenshots
Ray Tracing
Grundlagen
Ermittlung sichtbarer Flächen durch Ray Tracing
Berechnung von Schnittpunkten
Effizienzsteigerung zur Ermittlung sichtbarer Flächen
Rekursives Ray Tracing
Public Domain Ray Tracer Povray